{ "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" }, "host": "apitest.cybersource.com", "schemes": [ "https" ], "basePath": "/", "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/hal+json;charset=utf-8" ], "tags": [ { "name": "payments", "description": "A payment authorizes the amount for the transaction. There are a number of supported payment\ninstruments, such as Credit Card, Debit Card, e-Wallet, and Alternative Payments. A payment\nresponse includes the status of the request. It also includes processor-specific information\nwhen the request is successful and errors if unsuccessful.\n" }, { "name": "capture", "description": "When you are ready to fulfill a customer's order and transfer funds from the customer's\nbank to your bank, capture the payment for that order.\n" }, { "name": "reversal", "description": "An authorization reversal releases the hold that the payment placed on the customer's funds." }, { "name": "refund", "description": "A refund is a follow-on transaction that uses the ID returned from either a payment or capture request.\n" }, { "name": "credit", "description": "A credit is a stand-alone transaction that is not linked to any previous transactions. It takes money from\nyour merchant bank account and returns it to the customer.\n" }, { "name": "void", "description": "A void cancels a payment or capture. A transaction can be voided only when CyberSource has not already\nsubmitted the capture to your processor. You cannot undo a void.\n" }, { "name": "options", "description": "An option is a service that is used to retrieve meta data, rendering details and different payment options available from Cybersource.\nIt can be used in many ways and Merchants must consult their Technical Partner in Cybersource for further details.\n" }, { "name": "TransactionBatches", "description": "Get a list of batch files or details of Individual file processed through the Offline Transaction Submission Services.\n" }, { "name": "AccountValidations", "description": "A eCheck account validation enable you to determine, in real time, whether to\nproceed with an electronic check debit or the creation of a recurring electronic check\nsubscription.\n" }, { "name": "billingAgreements", "description": "A billingAgreement is a stand-alone transaction that is not linked to any previous transactions. It takes money from\nyour merchant bank account and returns it to the customer.\n" }, { "name": "Customer", "description": "A Customer can be linked to multiple Payment Instruments and Shipping Addresses.\nWith one Payment Instrument and Shipping Address designated as the default.\nIt stores merchant reference information for the Customer such as email and merchant defined data.\n" }, { "name": "Customer Shipping Address", "description": "A Customer Shipping Address is linked to a Customer.\nIt stores shipping information in relation to the Customer.\n" }, { "name": "Customer Payment Instrument", "description": "A Customer Payment Instrument is linked to a Customer and an Instrument Identifier.\nIt stores additional information in relation to a card number(PAN) or bank account (echeck).\n" }, { "name": "Payment Instrument", "description": "A stand-alone Payment Instrument is linked to an Instrument Identifier.\nIt stores additional information in relation to a card number(PAN) or bank account (echeck).\n" }, { "name": "Instrument Identifier", "description": "An Instrument Identifier represents a unique card number(PAN) or bank account (echeck).\nIt can also be associated with a Network Token that can be used for payment transactions.\n" }, { "name": "Token", "description": "Token resources can act on different token types such as Customers, Payment Instruments or Instrument Identifiers.\n" }, { "name": "Tap", "description": "A Tap represents a payment tap.\nIt stores track and EMV tag data for a defined period of time before being deleted.\n" }, { "name": "Microform Integration" }, { "name": "Decision Manager", "description": "REST API for the Decision Manager Service" }, { "name": "Risk Services", "description": "REST APIs for Risk Services" }, { "name": "Pull_Funds", "description": "Cybersource Payouts Funds Transfer REST API for Account Funding Transaction (AFT)\n" }, { "name": "Push_Funds", "description": "A payout enables an originator to send funds on behalf of itself, merchants, or customers to credit card\naccounts using an Original Credit Transaction (OCT). An originator is a merchant, government entity, or\ncorporation with a merchant account from an acquiring bank.\n" }, { "name": "Payouts", "description": "A payout enables an originator to send funds on behalf of itself, merchants, or customers to credit card\naccounts using an Original Credit Transaction (OCT). An originator is a merchant, government entity, or\ncorporation with a merchant account from an acquiring bank.\n" }, { "name": "installments", "description": "Provides Visa Installment & Issuer Installment Solution for CyberSource Merchant.\nThis API can be used for sending an installment inquiry transaction to either Visa (for Visa Installments)\nor to the cardholder's issuing bank (for issuer funded installments). The response for this API call\nwill contain list of installment plans that the card holder might be eligible for. This service is applicable\nfor Credit Cards only.\n" }, { "name": "Plans", "description": "Create and manage Plans for subscriptions.\n" }, { "name": "Subscriptions", "description": "Create and manage Recurring Subscriptions.\n\nYou have option to link subscription to plan or create independent subscriptions.\n" }, { "name": "Reports", "description": "API for creation and retrieval of Reports" }, { "name": "Report Definitions", "description": "Get report definition information" }, { "name": "Report Downloads", "description": "API for creation and retrieval of Reports" }, { "name": "Report Subscriptions", "description": "API for creation and retrieval of Report Subscriptions" }, { "name": "Net Fundings", "description": "API for retrieving the netfunding data for an account or a merchant" }, { "name": "Notification Of Changes", "description": "API for Notification Of Change" }, { "name": "Purchase And Refund Details", "description": "API for Purchase and Refund Details" }, { "name": "Payment Batch Summaries", "description": "API for payment batch summary reports" }, { "name": "Conversion Details", "description": "API for retrieving conversion data for merchant" }, { "name": "Download DTD", "description": "API to download report DTDs" }, { "name": "Download XSD", "description": "API to download report XSDs" }, { "name": "Chargeback Summaries", "description": "API for requesting Chargeback Summaries." }, { "name": "Chargeback Details", "description": "API for requesting Chargeback Details." }, { "name": "Retrieval Summaries", "description": "API for requesting Retrieval Summaries" }, { "name": "Retrieval Details", "description": "API for requesting Retrieval Details." }, { "name": "Interchange Clearing Level Details", "description": "API for requesting Interchange Clearing Level data for an account or a merchant." }, { "name": "File Details", "description": "API to access file information" }, { "name": "File Downloads", "description": "API to download a file" }, { "name": "invoices", "description": "Offer your customers a simple, convenient, and fast way to pay with the new online invoicing tool.\n" }, { "name": "invoiceSettings", "description": "Update the settings for the invoice payment page.\n" }, { "name": "management", "description": "management rest resources" }, { "name": "account number", "description": "account number lookup" }, { "name": "taxes", "description": "tax calculation service" }, { "name": "surcharge", "description": "Surcharge service" }, { "name": "key-management", "description": "Generate and deactivate batches of keys.\n" }, { "name": "Merchant Boarding", "description": "Manage Boarding Registrations" }, { "name": "Create New Webhooks", "description": "Create a new webhook connection\n" }, { "name": "Manage Webhooks", "description": "- Create and manage your webhooks. This will allow for you to set up new webhooks, update existing webhooks, test webhooks, or delete them.\n" }, { "name": "Webhook Notifications", "description": "- Search webhook notification either by their unique identifier or based on specific notification criteria.\n" }, { "name": "Create and Update devices", "description": "Create and update terminal devices." }, { "name": "Device Search", "description": "Search and Retrieve Devices." }, { "name": "Device De-Association", "description": "Remove Association of a Device." }, { "name": "Unified Checkout Capture Context", "externalDocs": { "description": "Find out more", "url": "https://developer.cybersource.com/docs/cybs/en-us/unified-checkout/developer/all/rest/unified-checkout/uc-intro.html" } }, { "name": "Transient Token Data", "externalDocs": { "url": "https://developer.cybersource.com/docs/cybs/en-us/unified-checkout/developer/all/rest/unified-checkout/uc-intro.html", "description": "Find out more" } }, { "name": "Batches", "description": "Once a batch is created its status can be checked using the status resource.\nWhen the batch status is COMPLETED its report can then be retrieved.\n" } ], "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-developer/intro.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": "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).\n" }, { "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": "BIN Lookup Service provides clients with a card network agnostic solution in obtaining Bank Identification Number (BIN) attributes for payment card credentials, empowering our clients to optimize authorizations and routing, reduce fraud, comply with local and industry regulations and improve payment experience as well as acceptance during the checkout.\n\nThe service uses multiple card network BIN sources in the background, providing global and regional coverage when identifying BIN attributes such as: card brand (e.g. Visa, Mastercard, American Express, Discover),card network, card type (e.g. Credit, Debit, Prepaid), card platform (e.g. consumer, Business,\u2026), card product (e.g. Visa gold), credential type (PAN or Network Token), account prefix, issuer name, issuer country.\n\nThe service is flexible and gives your business a choice of input: you can obtain up to date results in real time from this API by sending either cards primary account numbers (PANs), network tokens from Visa (VTS), Mastercard (MDES), or Discover as well as by sending Token Management Service (TMS) tokens.\n" }, { "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).\n" }, { "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": "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": "Key_Management" }, { "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": "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)." } ] }, "paths": { "/pts/v2/payments": { "post": { "summary": "Process a Payment", "description": "A payment authorizes the amount for the transaction. There are a number of supported payment features, such as E-commerce and Card Present - Credit Card/Debit Card, Echeck, e-Wallets, Level II/III Data, etc..\n\nA payment response includes the status of the request. It also includes processor-specific information when the request is successful and errors if unsuccessful. See the [Payments Developer Guides Page](https://developer.cybersource.com/docs/cybs/en-us/payments/developer/ctv/rest/payments/payments-intro.html).\n\nAuthorization can be requested with Capture, Decision Manager, Payer Authentication(3ds), and Token Creation.\n", "tags": [ "payments" ], "operationId": "createPayment", "x-devcenter-metaData": { "categoryTag": "Payments", "testingTriggers": "https://developer.cybersource.com/hello-world/testing-guide.html", "responseCodes": "https://developer.cybersource.com/api/reference/response-codes.html", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/payments/developer/ctv/rest/payments/payments-intro.html" }, "parameters": [ { "name": "createPaymentRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" }, "pausedRequestId": { "type": "string", "maxLength": 26, "description": "Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call.\n" }, "transactionId": { "type": "string", "maxLength": 30, "description": "Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request.\n\n**Note** Use this field only if you want to support merchant-initiated reversal and void operations.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, and Void**\nOptional field.\n\n#### PIN Debit\nFor a PIN debit reversal, your request must include a request ID or a merchant transaction identifier.\nOptional field for PIN debit purchase or credit requests.\n" }, "comments": { "type": "string", "description": "Comments" }, "partner": { "type": "object", "properties": { "originalTransactionId": { "type": "string", "maxLength": 32, "description": "Value that links the previous transaction to the current follow-on request. This value is assigned by the client\nsoftware that is installed on the POS terminal, which makes it available to the terminal's software and to\nCyberSource. Therefore, you can use this value to reconcile transactions between CyberSource and the terminal's\nsoftware.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" }, "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" }, "thirdPartyCertificationNumber": { "type": "string", "maxLength": 12, "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" } } }, "applicationName": { "type": "string", "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" }, "applicationVersion": { "type": "string", "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "applicationUser": { "type": "string", "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" } } }, "processingInformation": { "type": "object", "properties": { "actionList": { "type": "array", "description": "Array of actions (one or more) to be included in the payment to invoke bundled services along with payment.\n\nPossible values are one or more of follows:\n\n - `DECISION_SKIP`: Use this when you want to skip Decision Manager service(s).\n\n - `TOKEN_CREATE`: Use this when you want to create a token from the card/bank data in your payment request.\n\n - `CONSUMER_AUTHENTICATION`: Use this when you want to check if a card is enrolled in Payer Authentication along with your payment request.\n\n - `VALIDATE_CONSUMER_AUTHENTICATION`: Use this after you acquire a Payer Authentication result that needs to be included for your payment request.\n \n - `AP_INITIATE`: Use this when Alternative Payment Initiate service is requested.\n\n - `WATCHLIST_SCREENING` : Use this when you want to call Watchlist Screening service.\n\n - `AP_SALE` : Use this when Alternative Payment Sale service is requested.\n\n\n - `AP_AUTH` : Use this when Alternative Payment Authorize service is requested.\n", "items": { "type": "string" } }, "enableEscrowOption": { "type": "boolean", "description": "Indicates whether to use the customer's escrow agreement.\nPossible values:\n- `true`: yes, use the customer's escrow agreement.\n- `false`: no, do not use the customer's escrow agreement. \n" }, "actionTokenTypes": { "type": "array", "description": "CyberSource tokens types you are performing a create on.\nIf not supplied the default token type for the merchants token vault will be used.\n\nValid values:\n- customer\n- paymentInstrument\n- instrumentIdentifier\n- shippingAddress\n", "items": { "type": "string" } }, "binSource": { "type": "string", "description": "Bin Source File Identifier.\nPossible values:\n- itmx\n- rupay\n" }, "capture": { "type": "boolean", "description": "Indicates whether to also include a capture in the submitted authorization request or not.\n\nPossible values:\n- `true`: Include a capture with an authorization request.\n- `false`: (default) Do not include a capture with an authorization request.\n\n#### Used by\n**Authorization and Capture**\nOptional field.\n", "default": false }, "processorId": { "type": "string", "maxLength": 3, "description": "Value that identifies the processor/acquirer to use for the transaction. This value is supported only for\n**CyberSource through VisaNet**.\n\nContact CyberSource Customer Support to get the value for this field.\n" }, "businessApplicationId": { "type": "string", "description": "Payouts transaction type.\nRequired for OCT transactions.\nThis field is a pass-through, which means that CyberSource does not verify the value or\nmodify it in any way before sending it to the processor.\n**Note** When the request includes this field, this value overrides the information in your CyberSource account.\n\nFor valid values, see the `invoiceHeader_businessApplicationID` field description in [Payouts Using the Simple Order API.](http://apps.cybersource.com/library/documentation/dev_guides/payouts_SO/Payouts_SO_API.pdf)\n" }, "commerceIndicator": { "type": "string", "maxLength": 20, "description": "Type of transaction. Some payment card companies use this information when determining discount rates.\n\n#### Used by\n**Authorization**\nRequired payer authentication transactions; otherwise, optional.\n**Credit**\nRequired for standalone credits on Chase Paymentech solutions; otherwise, optional.\n\nThe list of valid values in this field depends on your processor.\nSee Appendix I, \"Commerce Indicators,\" on page 441 of the Cybersource Credit Card Guide.\n\n#### Ingenico ePayments\nWhen you omit this field for Ingenico ePayments, the processor uses the default transaction type they have on file for you\ninstead of the default value (listed in Appendix I, \"Commerce Indicators,\" on page 441.)\n\n#### Payer Authentication Transactions\nFor the possible values and requirements, see \"Payer Authentication,\" page 195.\n\n#### Card Present\nYou must set this field to `retail`. This field is required for a card-present transaction. Note that this should ONLY be\nused when the cardholder and card are present at the time of the transaction.\nFor all keyed transactions originated from a POS terminal where the cardholder and card are not present, commerceIndicator\nshould be submitted as \"moto\"\n" }, "commerceIndicatorLabel": { "type": "string", "maxLength": 20, "description": "Type of transaction. Some payment card companies use this information when determining discount rates.\n\n#### Used by\n**Authorization**\nRequired payer authentication transactions; otherwise, optional.\n**Credit**\nRequired for standalone credits on Chase Paymentech solutions; otherwise, optional.\n\nThe list of valid values in this field depends on your processor.\nSee Appendix I, \"Commerce Indicators,\" on page 441 of the Cybersource Credit Card Guide.\n\n#### Ingenico ePayments\nWhen you omit this field for Ingenico ePayments, the processor uses the default transaction type they have on file for you\ninstead of the default value (listed in Appendix I, \"Commerce Indicators,\" on page 441.)\n\n#### Payer Authentication Transactions\nFor the possible values and requirements, see \"Payer Authentication,\" page 195.\n\n#### Card Present\nYou must set this field to `retail`. This field is required for a card-present transaction. Note that this should ONLY be\nused when the cardholder and card are present at the time of the transaction.\nFor all keyed transactions originated from a POS terminal where the cardholder and card are not present, commerceIndicator\nshould be submitted as \"moto\"\n" }, "paymentSolution": { "type": "string", "maxLength": 12, "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/VCO_SCMP_API/html/)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. For details, see \"Masterpass\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Please check with Cybersource customer support to see if your merchant account is configured correctly so you\ncan include this field in your request.\n* For Payouts: max length for FDCCompass is String (22).\n" }, "linkId": { "type": "string", "maxLength": 26, "description": "Value that links the current authorization request to the original authorization request. Set this value\nto the ID that was returned in the reply message from the original authorization request.\n\nThis value is used for:\n\n- Partial authorizations\n- Split shipments\n\nFor details, see `link_to_request` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "purchaseLevel": { "type": "string", "maxLength": 1, "description": "Set this field to 3 to indicate that the request includes Level III data." }, "transactionTimeout": { "type": "integer", "maximum": 99999, "description": "The time-out limit in seconds for the transaction. The time-out limit starts when the customer is directed to the merchant URL that is included in the sale service response. The maximum value is 99999 (about 27 hours). When the transaction times out, the payment system changes the status to abandoned." }, "intentsId": { "type": "string", "maxLength": 26, "description": "Set to the value of the requestID field returned in the order service response." }, "paymentId": { "type": "string", "maxLength": 28, "description": "This field is to accept the id of credit/capture in the body of L1 requests so the type of void can be identified and processed correctly downstream." }, "reportGroup": { "type": "string", "maxLength": 25, "description": "Attribute that lets you define custom grouping for your processor reports. This field is supported only for **Worldpay VAP**.\n\nFor details, see `report_group` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "visaCheckoutId": { "type": "string", "maxLength": 48, "description": "Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in\nthe Visa Checkout **callID** field.\n" }, "industryDataType": { "type": "string", "maxLength": 20, "description": "Indicates that the transaction includes industry-specific data.\n\nPossible Values:\n- `airline`\n- `restaurant`\n- `lodging`\n- `auto_rental`\n- `transit`\n- `healthcare_medical`\n- `healthcare_transit`\n- `transit`\n\n#### Card Present, Airlines and Auto Rental\nYou must set this field to `airline` in order for airline data to be sent to the processor. For example, if this\nfield is not set to `airline` or is not included in the request, no airline data is sent to the processor.\n\nYou must set this field to `restaurant` in order for restaurant data to be sent to the processor. When this field\nis not set to `restaurant` or is not included in the request, no restaurant data is sent to the processor.\n\nYou must set this field to `auto_rental` in order for auto rental data to be sent to the processor. For example, if this\nfield is not set to `auto_rental` or is not included in the request, no auto rental data is sent to the processor.\n\nRestaurant data is supported only on CyberSource through VisaNet.\n" }, "authorizationOptions": { "type": "object", "properties": { "authType": { "type": "string", "maxLength": 15, "description": "Authorization type. Possible values:\n\n - `AUTOCAPTURE`: automatic capture.\n - `STANDARDCAPTURE`: standard capture.\n - `VERBAL`: forced capture. Include it in the payment request for a forced capture. Include it in the capture request for a verbal payment.\n\n#### Asia, Middle East, and Africa Gateway; Cielo; Comercio Latino; and CyberSource Latin American Processing\nSet this field to `AUTOCAPTURE` and include it in a bundled request to indicate that you are requesting an automatic capture. If your account is configured to enable automatic captures, set this field to `STANDARDCAPTURE` and include it in a standard authorization or bundled request to indicate that you are overriding an automatic capture. For more information, see the `auth_type` field description in [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Forced Capture\nSet this field to `VERBAL` and include it in the authorization request to indicate that you are performing a forced capture; therefore, you receive the authorization code outside the CyberSource system.\n\n#### Verbal Authorization\nSet this field to `VERBAL` and include it in the capture request to indicate that the request is for a verbal authorization. For more information, see \"Verbal Authorizations\" in [Credit Card Services Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html).\n" }, "panReturnIndicator": { "type": "string", "maxLength": 1, "description": "#### Visa Platform Connect\nThe field contains the PAN translation indicator for American Express Contactless Transaction. Valid value is\u00a0\n\n1- Expresspay Translation, PAN request\n2- Expresspay Translation, PAN and Expiry date request\n" }, "verbalAuthCode": { "type": "string", "maxLength": 7, "description": "Authorization code.\n\n#### Forced Capture\nUse this field to send the authorization code you received from a payment that you authorized\noutside the CyberSource system.\n\n#### PIN debit\nAuthorization code that is returned by the processor.\n\nReturned by PIN debit purchase.\n\n#### Verbal Authorization\nUse this field in CAPTURE API to send the verbally received authorization code.\n\nFor processor-specific information, see the `auth_code` field description in [Credit Card Services Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html).\n" }, "verbalAuthTransactionId": { "type": "string", "maxLength": 15, "description": "Transaction ID (TID).\n\n#### FDMS South\nThis field is required for verbal authorizations and forced captures with the American Express card type to comply\nwith the CAPN requirements:\n- Forced capture: Obtain the value for this field from the authorization response.\n- Verbal authorization: You cannot obtain a value for this field so CyberSource uses the default value of `000000000000000` (15\nzeros).\n" }, "authIndicator": { "type": "string", "maxLength": 1, "description": "Flag that specifies the purpose of the authorization.\n\nPossible values:\n - **0**: Preauthorization\n - **1**: Final authorization\n\nTo set the default for this field, contact CyberSource Customer Support.\n\n#### Barclays and Elavon\nThe default for Barclays and Elavon is 1 (final authorization). To change the default for this field, contact CyberSource Customer Support.\n\n#### CyberSource through VisaNet\nWhen the value for this field is 0, it corresponds to the following data in the TC 33 capture file:\n - Record: CP01 TCR0\n - Position: 164\n - Field: Additional Authorization Indicators\nWhen the value for this field is 1, it does not correspond to any data in the TC 33 capture file.\n" }, "partialAuthIndicator": { "type": "boolean", "description": "Flag that indicates whether the transaction is enabled for partial authorization. When the request includes this\nfield, this value overrides the information in your account. Possible values:\n- `true`: Enable the transaction for partial authorization.\n- `false`: Do not enable the transaction for partial authorization.\n\n#### PIN debit\nRequired field for partial authorizations that use PIN debit purchase; otherwise, not used.\n\n#### Used by\n**Authorization**\nOptional field.\n\n#### CyberSource through VisaNet\nTo set the default for this field, contact CyberSource Customer Support.\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR0\n- Position: 164\n- Field: Additional Authorization Indicators\n" }, "extendAuthIndicator": { "type": "string", "description": "Flag that indicates whether the transaction is an extended authorization.\n" }, "balanceInquiry": { "type": "boolean", "description": "Flag that indicates whether to return balance information.\n\nPossible values:\n- `true`: Return balance information.\n- `false`: Do not return balance information.\n\n#### Used by\n**Authorization**\nRequired for a balance inquiry; otherwise, not used.\n\n#### PIN debit\nRequired for a balance inquiry request of a PIN debit purchase; otherwise, not used.\n" }, "ignoreAvsResult": { "type": "boolean", "description": "Flag for a sale request that indicates whether to allow the capture service to run even when the authorization\nreceives an AVS decline, as indicated by a reply flag value of DAVSNO.\n\nPossible values:\n- `true`: Ignore the results of AVS checking and run the capture service.\n- `false` (default): If the authorization receives an AVS decline, do not run the capture service.\nWhen the value of this field is `true`, the list in the `processingInformation.authorizationOptions.declineAvsFlags` field is ignored.\n\n#### Used by\n**Authorization**\nOptional field.\nString (3)\n", "default": false }, "declineAvsFlags": { "type": "array", "description": "Comma-separated list of AVS flags that cause the reply flag `DAVSNO` to be returned.\n\n**Important** To receive declines for the AVS code `N`, you must include the value `N` in the comma-separated\nlist.\n\n ### AVS Codes for Cielo 3.0 and CyberSource Latin American Processing\n\n **Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports.\n In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America.\n The information in this section is for the specific processing connection called CyberSource Latin American Processing.\n It is not for any other Latin American processors that CyberSource supports.\n\n|AVS Code|Description|\n|--- |--- |\n|D|Partial match: postal code and address match.|\n|E|Not supported: AVS is not supported for this card type. _or_ Invalid: the acquirer returned an unrecognized value for the AVS response.|\n|F|Partial match: postal code matches, but CPF and address do not match.*|\n|G|Not supported: AVS not supported or not verified.|\n|I|No match: AVS information is not available.|\n|K|Partial match: CPF matches, but postal code and address do not match.*|\n|L|Partial match: postal code and CPF match, but address does not match.*|\n|N|No match: postal code, CPF, and address do not match.*|\n|O|Partial match: CPF and address match, but postal code does not match.*|\n|R|Not supported: your implementation does not support AVS _or_ System unavailable.|\n|T|Partial match: address matches, but postal code and CPF do not match.*|\n|V|Match: postal code, CPF, and address match.*|\n|* CPF (Cadastro de Pessoas Fisicas) is required only for Redecard in Brazil.||\n\n### AVS Codes for All Other Processors\n\n**Note** The list of AVS codes for all other processors follows these descriptions of the processor-specific information for these codes.\n\n#### American Express Cards\nFor American Express cards only, you can receive Visa and CyberSource\nAVS codes in addition to the American Express AVS codes.\n\n**Note** For CyberSource through VisaNet, the American Express AVS codes are converted to Visa\nAVS codes before they are returned to you. As a result, you will not receive American Express AVS codes for\nthe American Express card type.

\n\n_American Express Card codes_: `F`, `H`, `K`, `L`, `O`, `T`, `V`\n\n#### Domestic and International Visa Cards\nThe international and domestic alphabetic AVS codes are the Visa standard AVS codes. CyberSource maps\nthe standard AVS return codes for other types of payment cards, including American Express cards, to\nthe Visa standard AVS codes.\n\nAVS is considered either domestic or international, depending on the location of the bank that issued the\ncustomer's payment card:\n- When the bank is in the U.S., the AVS is domestic.\n- When the bank is outside the U.S., the AVS is international.\n\nYou should be prepared to handle both domestic and international AVS result codes:\n- For international cards, you can receive domestic AVS codes in addition to the international AVS codes.\n- For domestic cards, you can receive international AVS codes in addition to the domestic AVS codes.\n\n_International Visa Codes_: `B`, `C`, `D`, `G`, `I`, `M`, `P`\n\n_Domestic Visa Codes_: `A`, `E`,`N`, `R`, `S`, `U`, `W`, `X`, `Y`, `Z`\n\n#### CyberSource Codes\nThe numeric AVS codes are created by CyberSource\nand are not standard Visa codes. These AVS codes\ncan be returned for any card type.\n\n_CyberSource Codes_: `1`, `2`, `3`, `4`\n\n### Table of AVS Codes for All Other Processors\n\n|AVS Code|Description|\n|--- |--- |\n|A|Partial match: street address matches, but 5-digit and 9-digit postal codes do not match.|\n|B|Partial match: street address matches, but postal code is not verified. Returned only for Visa cards not issued in the U.S.|\n|C|No match: street address and postal code do not match. Returned only for Visa cards not issued in the U.S.|\n|D & M|Match: street address and postal code match. Returned only for Visa cards not issued in the U.S.|\n|E|Invalid: AVS data is invalid or AVS is not allowed for this card type.|\n|F|Partial match: card member's name does not match, but billing postal code matches.|\n|G|Not supported: issuing bank outside the U.S. does not support AVS.|\n|H|Partial match: card member's name does not match, but street address and postal code match. Returned only for the American Express card type.|\n|I|No match: address not verified. Returned only for Visa cards not issued in the U.S.|\n|K|Partial match: card member's name matches, but billing address and billing postal code do not match. Returned only for the American Express card type.|\n|L|Partial match: card member's name and billing postal code match, but billing address does not match. Returned only for the American Express card type.|\n|M|See the entry for D & M.|\n|N|No match: one of the following: street address and postal code do not match _or_ (American Express card type only) card member's name, street address, and postal code do not match.|\n|O|Partial match: card member's name and billing address match, but billing postal code does not match. Returned only for the American Express card type.|\n|P|Partial match: postal code matches, but street address not verified. Returned only for Visa cards not issued in the U.S.|\n|R|System unavailable.|\n|S|Not supported: issuing bank in the U.S. does not support AVS.|\n|T|Partial match: card member's name does not match, but street address matches. Returned only for the American Express card type.|\n|U|System unavailable: address information unavailable for one of these reasons: The U.S. bank does not support AVS outside the U.S. _or_ The AVS in a U.S. bank is not functioning properly.|\n|V|Match: card member's name, billing address, and billing postal code match. Returned only for the American Express card type.|\n|W|Partial match: street address does not match, but 9-digit postal code matches.|\n|X|Match: street address and 9-digit postal code match.|\n|Y|Match: street address and 5-digit postal code match.|\n|Z|Partial match: street address does not match, but 5-digit postal code matches.|\n|1|Not supported: one of the following: AVS is not supported for this processor or card type _or_ AVS is disabled for your CyberSource account. To enable AVS, contact CyberSource Customer Support.|\n|2|Unrecognized: the processor returned an unrecognized value for the AVS response.|\n|3|Match: address is confirmed. Returned only for PayPal Express Checkout.|\n|4|No match: address is not confirmed. Returned only for PayPal Express Checkout.|\n|5|No match: no AVS code was returned by the processor.|\n", "items": { "type": "string" } }, "ignoreCvResult": { "type": "boolean", "description": "Flag for a sale request that indicates whether to allow the capture service to run even when the authorization receives a CVN decline, as indicated by an `processorInformation.cardVerification.resultCode` value of `D` or `N`.\nPossible values:\n- `true`: Ignore the results of CVN checking and run the capture service.\n- `false` (default): If the authorization receives a CVN decline, do not run the capture service.\n\n#### Used by\n**Authorization**\nOptional field.\n", "default": false }, "initiator": { "type": "object", "properties": { "type": { "type": "string", "description": "This field indicates whether the transaction is a merchant-initiated transaction or customer-initiated transaction.\n\nValid values:\n- **customer**\n- **merchant**\n" }, "credentialStoredOnFile": { "type": "boolean", "description": "Indicates to the issuing bank two things:\n- The merchant has received consent from the cardholder to store their card details on file\n- The merchant wants the issuing bank to check out the card details before the merchant initiates their first transaction for this cardholder.\nThe purpose of the merchant-initiated transaction is to ensure that the cardholder's credentials are valid (that the card is not stolen or has restrictions) and that the card details are good to be stored on the merchant's file for future transactions.\n\nValid values:\n- `true` means merchant will use this transaction to store payment credentials for follow-up merchant-initiated transactions.\n- `false` means merchant will not use this transaction to store payment credentials for follow-up merchant-initiated transactions.\n\nFor details, see `subsequent_auth_first` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n**NOTE:** The value for this field does not correspond to any data in the TC 33 capture file5.\n\nThis field is supported only for Visa transactions on CyberSource through VisaNet.\n" }, "storedCredentialUsed": { "type": "boolean", "description": "Indicates to an issuing bank whether a merchant-initiated transaction came from a card that was already stored on file.\n\nPossible values:\n- **true** means the merchant-initiated transaction came from a card that was already stored on file.\n- **false** means the merchant-initiated transaction came from a card that was not stored on file.\n" }, "merchantInitiatedTransaction": { "type": "object", "properties": { "reason": { "type": "string", "maxLength": 1, "description": "Reason for the merchant-initiated transaction or incremental authorization. Possible values:\n- `1`: Resubmission\n- `2`: Delayed charge\n- `3`: Reauthorization for split shipment\n- `4`: No show\n- `5`: Account top up\nThis field is required only for the five kinds of transactions in the preceding list.\nThis field is supported only for merchant-initiated transactions and incremental authorizations.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR0\n- Position: 160-163\n- Field: Message Reason Code\n\n#### All Processors\nFor details, see `subsequent_auth_reason` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "previousTransactionId": { "type": "string", "maxLength": 15, "description": "Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_\nin the reply message for either the original merchant-initiated payment in the series or the previous\nmerchant-initiated payment in the series.\n\nIf the current payment request includes a token instead of an account number, the following time limits apply for the value of this field:\n- For a **resubmission**, the transaction ID must be less than 14 days old.\n- For a **delayed charge** or **reauthorization**, the transaction ID must be less than 30 days old.\n\n**NOTE**: The value for this field does not correspond to any data in the TC 33 capture file5. This field is supported\nonly for Visa transactions on CyberSource through VisaNet.\n" }, "originalAuthorizedAmount": { "type": "string", "maxLength": 61, "description": "Amount of the original authorization.\n\nThis field is supported only for Apple Pay, Google Pay, and Samsung Pay transactions with Discover on FDC Nashville Global and Chase Paymentech.\n\nSee \"Recurring Payments,\" and \"Subsequent Authorizations,\" field description in the [Payment Network Tokenization\nUsing the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/tokenization_SCMP_API/html/wwhelp/wwhimpl/js/html/wwhelp.htm)\n" } } } } }, "billPayment": { "type": "boolean", "description": "Indicates payment for bill or payment towards existing contractual loan.\n\nPossible values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n\nOptional request field.\n" }, "billPaymentType": { "type": "string", "description": "Reason for the payment.\n\nPossible values:\n- 001: Utility payment\n- 002: Government services\n- 003: Mobile phone top-up\n- 004: Coupon payment\n- 005: Installment based repayment\n\nThe value for this field corresponds to the following data in the TC 33A capture file (applicable to Brazil):\n- Record: CP07 TCR0\n- Position: 48-50\n- Field: Bill Payment Transaction Type Identifier\n\nThe value for this field corresponds to the following data in the TC 33A capture file (applicable to Installment)\nbased Repayment):\n- Record: CP01 TCR6\n- Position: 154-156\n- Field: Bill Payment Transaction Type Identifier\n\n\nThis field is supported for\n1. Bill payments in Brazil with Mastercard on CyberSource through VisaNet.\n2. Installment based repayment transactions on Cybersource through VisaNet.\n" }, "redemptionInquiry": { "type": "boolean", "description": "Flag that indicates the payment request is a redemption inquiry.\n\nPossible values:\n - `true`\n - `false`\n" }, "transportationMode": { "type": "string", "description": "Type of transportation mode :\n\nPossible Values:\n- 00 = Unknown\n- 01 = Urban bus\n- 02 = Interurban bus\n- 03=Lighttrainmasstransit(Underground Metro LTR)\n- 04 = Train\n- 05 = Commuter train\n- 06 = Water-borne vehicle\n- 07 = Toll\n- 08 = Parking\n- 09 = Taxi\n- 10 = High-speed train\n- 11 = Rural bus\n- 12 = Express commuter train\n- 13 = Para transit\n- 14 = Self drive vehicle\n- 15 = Coach\n- 16 = Locomotive\n- 17 = Powered motor coach\n- 18 = Trailer\n- 19 = Regional train\n- 20 = Inter-city\n- 21 = Funicular train\n- 22 = Cable car\n" }, "aggregatedAuthIndicator": { "type": "string", "description": "Indicates if transaction is an aggregated auth\n\nPossible values:\n- **true**\n- **false**\n" }, "debtRecoveryIndicator": { "type": "string", "description": "Indicates if transaction is a debt recovery request\n\nPossible values:\n- **true**\n- **false**\n" }, "deferredAuthIndicator": { "type": "boolean", "description": "Flag that indicates whether the authorization request was delayed because connectivity was interrupted.\n\nPossible values:\n - `true` (Deferred authorization)\n - `false` (default: Not a deferred authorization)\n" }, "cashAdvanceIndicator": { "type": "boolean", "description": "This API field enables the merchant to indicate that a given transaction is Cash Advance.\n\nCash advance or Cash disbursement functionality allows a merchant to dispense cash at a point of sale.\nIt provides the ability of a POS system to act like an ATM. These terminals are typically seen in bank\nbranches where customers can use their card and withdraw cash or at merchant locations where ATMs are sparse.\n\nPossible values:\n - `true` (Cash advance is supported)\n - `false` (default: cash advance is not supported)\n" }, "splitPaymentTransaction": { "type": "boolean", "description": "#### Visa Platform Connect\nIndicates split payment transaction. A split payment allows the use of two payment methods for a single transaction.\n\nPossible values:\n - `true` (split payment transaction is supported)\n - `false` (default: split payment transaction is not supported)\n" }, "cardVerificationIndicator": { "type": "boolean", "description": "This API field will indicate whether a card verification check is being performed during the transaction\n\nPossible values:\n - `true`\n - `false` (default value)\n" } } }, "captureOptions": { "type": "object", "properties": { "captureSequenceNumber": { "type": "integer", "minimum": 1, "maximum": 99, "description": "Capture number when requesting multiple partial captures for one authorization.\nUsed along with `totalCaptureCount` to track which capture is being processed.\n\nFor example, the second of five captures would be passed to CyberSource as:\n - `captureSequenceNumber_ = 2`, and\n - `totalCaptureCount = 5`\n" }, "totalCaptureCount": { "type": "integer", "minimum": 1, "maximum": 99, "description": "Total number of captures when requesting multiple partial captures for one payment.\nUsed along with `captureSequenceNumber` field to track which capture is being processed.\n\nFor example, the second of five captures would be passed to CyberSource as:\n - `captureSequenceNumber = 2`, and\n - `totalCaptureCount = 5`\n" }, "dateToCapture": { "type": "string", "maxLength": 4, "description": "Date on which you want the capture to occur. This field is supported only for CyberSource through VisaNet.\nFormat: `MMDD`\n\n#### Used by\n**Authorization**\nOptional field.\n" }, "isFinal": { "type": "string", "maxLength": 5, "description": "Indicates whether to release the authorization hold on the remaining funds. \nPossible Values:\n- `true`\n- `false`\n" } } }, "recurringOptions": { "type": "object", "properties": { "loanPayment": { "type": "boolean", "description": "Flag that indicates whether this is a payment towards an existing contractual loan.\n\nPossible values:\n- `true`: Loan payment\n- `false`: (default) Not a loan payment\n\nFor processor-specific details, see `debt_indicator` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n", "default": false }, "firstRecurringPayment": { "type": "boolean", "description": "Flag that indicates whether this transaction is the first in a series of recurring payments.\n\nThis field is supported only for **Atos**, **FDC Nashville Global**, and **OmniPay Direct**.\n\nPossible values:\n - `true` Indicates this is the first payment in a series of recurring payments\n - `false` (default) Indicates this is not the first payment in a series of recurring payments.\n\nFor details, see `auth_first_recurring_payment` field description and \"Recurring Payments\" in\n[Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n", "default": false } } }, "bankTransferOptions": { "type": "object", "properties": { "declineAvsFlags": { "type": "string", "maxLength": 15, "description": "Space-separated list of AVS flags that cause the request to be declined for AVS reasons.\n\n**Important** To receive declines for the AVS code `N`, you must include the value `N` in the space-separated list.\n\n### AVS Codes for Cielo 3.0 and CyberSource Latin American Processing\n\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this section is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n|AVS Code|Description|\n|--- |--- |\n|D|Partial match: postal code and address match.|\n|E|Not supported: AVS is not supported for this card type. _or_ Invalid: the acquirer returned an unrecognized value for the AVS response.|\n|F|Partial match: postal code matches, but CPF and address do not match.*|\n|G|Not supported: AVS not supported or not verified.|\n|I|No match: AVS information is not available.|\n|K|Partial match: CPF matches, but postal code and address do not match.*|\n|L|Partial match: postal code and CPF match, but address does not match.*|\n|N|No match: postal code, CPF, and address do not match.*|\n|O|Partial match: CPF and address match, but postal code does not match.*|\n|R|Not supported: your implementation does not support AVS _or_ System unavailable.|\n|T|Partial match: address matches, but postal code and CPF do not match.*|\n|V|Match: postal code, CPF, and address match.*|\n|* CPF (Cadastro de Pessoas Fisicas) is required only for Redecard in Brazil.||\n\n### AVS Codes for All Other Processors\n\n**Note** The list of AVS codes for all other processors follows these descriptions of the processor-specific information for these codes.\n\n#### American Express Cards\nFor American Express cards only, you can receive Visa and CyberSource AVS codes in addition to the American Express AVS codes.\n\n**Note** For CyberSource through VisaNet, the American Express AVS codes are converted to Visa AVS codes before they are returned to you. As a result, you will not receive American Express AVS codes for the American Express card type.\n\n_American Express Card codes_: `F`, `H`, `K`, `L`, `O`, `T`, `V`\n\n#### Domestic and International Visa Cards\nThe international and domestic alphabetic AVS codes are the Visa standard AVS codes. CyberSource maps the standard AVS return codes for other types of payment cards, including American Express cards, to the Visa standard AVS codes.\n\nAVS is considered either domestic or international, depending on the location of the bank that issued the customer's payment card:\n- When the bank is in the U.S., the AVS is domestic.\n- When the bank is outside the U.S., the AVS is international.\n\nYou should be prepared to handle both domestic and international AVS result codes:\n- For international cards, you can receive domestic AVS codes in addition to the international AVS codes.\n- For domestic cards, you can receive international AVS codes in addition to the domestic AVS codes.\n\n_International Visa Codes_: `B`, `C`, `D`, `G`, `I`, `M`, `P`\n\n_Domestic Visa Codes_: `A`, `E`,`N`, `R`, `S`, `U`, `W`, `X`, `Y`, `Z`\n\n#### CyberSource Codes\nThe numeric AVS codes are created by CyberSource and are not standard Visa codes. These AVS codes can be returned for any card type.\n\n_CyberSource Codes_: `1`, `2`, `3`, `4`\n\n### Table of AVS Codes for All Other Processors\n\n|AVS Code|Description|\n|--- |--- |\n|A|Partial match: street address matches, but 5-digit and 9-digit postal codes do not match.|\n|B|Partial match: street address matches, but postal code is not verified. Returned only for Visa cards not issued in the U.S.|\n|C|No match: street address and postal code do not match. Returned only for Visa cards not issued in the U.S.|\n|D & M|Match: street address and postal code match. Returned only for Visa cards not issued in the U.S.|\n|E|Invalid: AVS data is invalid or AVS is not allowed for this card type.|\n|F|Partial match: card member's name does not match, but billing postal code matches.|\n|G|Not supported: issuing bank outside the U.S. does not support AVS.|\n|H|Partial match: card member's name does not match, but street address and postal code match. Returned only for the American Express card type.|\n|I|No match: address not verified. Returned only for Visa cards not issued in the U.S.|\n|K|Partial match: card member's name matches, but billing address and billing postal code do not match. Returned only for the American Express card type.|\n|L|Partial match: card member's name and billing postal code match, but billing address does not match. Returned only for the American Express card type.|\n|M|See the entry for D & M.|\n|N|No match: one of the following: street address and postal code do not match _or_ (American Express card type only) card member's name, street address, and postal code do not match.|\n|O|Partial match: card member's name and billing address match, but billing postal code does not match. Returned only for the American Express card type.|\n|P|Partial match: postal code matches, but street address not verified. Returned only for Visa cards not issued in the U.S.|\n|R|System unavailable.|\n|S|Not supported: issuing bank in the U.S. does not support AVS.|\n|T|Partial match: card member's name does not match, but street address matches. Returned only for the American Express card type.|\n|U|System unavailable: address information unavailable for one of these reasons: The U.S. bank does not support AVS outside the U.S. _or_ The AVS in a U.S. bank is not functioning properly.|\n|V|Match: card member's name, billing address, and billing postal code match. Returned only for the American Express card type.|\n|W|Partial match: street address does not match, but 9-digit postal code matches.|\n|X|Match: street address and 9-digit postal code match.|\n|Y|Match: street address and 5-digit postal code match.|\n|Z|Partial match: street address does not match, but 5-digit postal code matches.|\n|1|Not supported: one of the following: AVS is not supported for this processor or card type _or_ AVS is disabled for your CyberSource account. To enable AVS, contact CyberSource Customer Support.|\n|2|Unrecognized: the processor returned an unrecognized value for the AVS response.|\n|3|Match: address is confirmed. Returned only for PayPal Express Checkout.|\n|4|No match: address is not confirmed. Returned only for PayPal Express Checkout.|\n|5|No match: no AVS code was returned by the processor.|\n" }, "secCode": { "type": "string", "maxLength": 3, "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nAccepts only the following values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\nFor details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" }, "terminalCity": { "type": "string", "maxLength": 4, "description": "City in which the terminal is located. If more than four alphanumeric characters are submitted, the transaction\nwill be declined.\n\nYou cannot include any special characters.\n" }, "terminalState": { "type": "string", "maxLength": 2, "description": "State in which the terminal is located. If more than two alphanumeric characters are submitted, the transaction\nwill be declined.\n\nYou cannot include any special characters.\n" }, "effectiveDate": { "type": "string", "maxLength": 8, "description": "Effective date for the transaction. The effective date must be within 45 days of the current day. If you do not\ninclude this value, CyberSource sets the effective date to the next business day.\n\nFormat: `MMDDYYYY`\n\nSupported only for the CyberSource ACH Service.\n" }, "partialPaymentId": { "type": "string", "maxLength": 25, "description": "Identifier for a partial payment or partial credit.\n\nThe value for each debit request or credit request must be unique within the scope of the order.\nFor details, see `partial_payment_id` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" }, "customerMemo": { "type": "string", "maxLength": 80, "description": "Payment related information.\n\nThis information is included on the customer's statement.\n" }, "paymentCategoryCode": { "type": "string", "maxLength": 1, "description": "Flag that indicates whether to process the payment.\n\nUse with deferred payments.\nFor details, see `ecp_payment_mode` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n\nPossible values:\n- `0`: Standard debit with immediate payment (default).\n- `1`: For deferred payments, indicates that this is a deferred payment and that you will send a debit request\nwith `paymentCategoryCode = 2` in the future.\n- `2`: For deferred payments, indicates notification to initiate payment.\n\n#### Chase Paymentech Solutions and TeleCheck\nUse for deferred and partial payments.\n\n#### CyberSource ACH Service\nNot used.\n\n#### RBS WorldPay Atlanta\nNot used.\n" }, "settlementMethod": { "type": "string", "maxLength": 1, "description": "Method used for settlement.\n\nPossible values:\n- `A`: Automated Clearing House (default for credits and for transactions using Canadian dollars)\n- `F`: Facsimile draft (U.S. dollars only)\n- `B`: Best possible (U.S. dollars only) (default if the field has not already been configured for your\nmerchant ID)\n\nFor details, see `ecp_settlement_method` field description for credit cars and `ecp_debit_settlement_method` for debit cards in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" }, "fraudScreeningLevel": { "type": "string", "maxLength": 1, "description": "Level of fraud screening.\n\nPossible values:\n- `1`: Validation \u2014 default if the field has not already been configured for your merchant ID\n- `2`: Verification\n\nFor a description of this feature and a list of supported processors, see \"Verification and Validation\" in the [Electronic Check Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/).\n" }, "customerPresent": { "type": "string", "maxLength": 1, "description": "Indicates whether a customer is physically present and whether the customer is enrolling in CyberSource Recurring Billing.\n\nPossible values:\n- `1`: Customer is present and not enrolling.\n- `2`: Customer is not present and not enrolling.\n- `3`: Customer is present and enrolling.\n- `4`: Customer is not present and enrolling.\n" } } }, "purchaseOptions": { "type": "object", "properties": { "isElectronicBenefitsTransfer": { "type": "boolean", "description": "Flag that indicates whether this transaction is an EBT transaction. Possible values:\n- `true`\n- `false`\n\n#### PIN debit\nRequired field for EBT and EBT voucher transactions that use PIN debit credit or PIN debit purchase; otherwise, not used.\n" }, "type": { "type": "string", "maxLength": 20, "description": "Flag that indicates an EBT voucher transaction. Possible value:\n- `EBT_VOUCHER`: Indicates the PIN debit transaction is an EBT voucher.\n- `BUY`\n- `RENT`\n- `BOOK`\n- `SUBSCRIBE`\n- `DOWNLOAD`\n- `ORDER`\n- `CONTINUE`\n\n#### PIN debit\nRequired field for EBT voucher transactions that use PIN debit purchase; otherwise, not used.\n" } } }, "electronicBenefitsTransfer": { "type": "object", "properties": { "category": { "type": "string", "maxLength": 4, "description": "Flag that specifies the category for the EBT transaction.\n\nPossible values:\n- `CASH`: Cash benefits, which can be used to purchase any item at a participating retailer, as well as to obtain cash-back or make a cash withdrawal from a participating ATM.\n- `FOOD`: Food stamp benefits, which can be used only to purchase food items authorized by the USDA SNAP program.\n\n#### PIN debit\nRequired field for EBT transactions that use PIN debit credit or PIN debit purchase; otherwise, not used.\n" }, "voucherSerialNumber": { "type": "string", "maxLength": 15, "description": "The serial number printed on the EBT voucher.\n\n#### PIN debit\nRequired field for EBT voucher transactions that use PIN debit purchase; otherwise, not used.\n" } } }, "loanOptions": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 20, "description": "Type of loan based on an agreement between you and the issuer.\nExamples: AGROCUSTEIO, AGRO-INVEST, BNDES-Type1, CBN, FINAME.\nThis field is supported only for these kinds of payments:\n- BNDES transactions on CyberSource through VisaNet.\n- Installment payments with Mastercard on CyberSource through VisaNet in Brazil.\n\nSee \"\"Installment Payments on CyberSource through VisaNet,\"\" in the SCMP/SO guide\n\nFor BNDES transactions, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP07 TCR2, Position: 27-46, Field: Loan Type\n\nFor installment payments with Mastercard in Brazil, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP07 TCR4, Position: 5-24,Field: Financing Type\n" }, "assetType": { "type": "string", "maxLength": 1, "description": "Indicates whether a loan is for a recoverable item or a non-recoverable item.\nPossible values:\n- `N`: non-recoverable item\n- `R`: recoverable item\nThis field is supported only for BNDES transactions on CyberSource through VisaNet.\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n Record: CP07 TCR2, Position: 26, Field: Asset Indicator\n" } } }, "walletType": { "type": "string", "maxLength": 5, "description": "This field carries the wallet type in authorization requests and credit requests. Possible value are:\n- `101`: Masterpass remote payment. The customer created the wallet by manually interacting with a customer-controlled device such as a computer, tablet, or phone. This value is supported only for Masterpass transactions on Chase Paymentech Solutions and CyberSource through VisaNet.\n- `102`: Masterpass remote near field communication (NFC) payment. The customer created the wallet by tapping a PayPass card or customer-controlled device at a contactless card reader. This value is supported only for card-present Masterpass transactions on CyberSource through VisaNet.\n- `103`: Masterpass Apple Pay payment. The payment was made with a combination of Masterpass and Apple Pay. This value is supported only for Masterpass Apple Pay transactions on CyberSource through VisaNet.\n- `216`: Masterpass Google Pay payment. The payment was made with a combination of Masterpass and Google Pay. This value is supported only for Masterpass Google Pay transactions on CyberSource through VisaNet.\n- `217`: Masterpass Samsung Pay payment. The payment was made with a combination of Masterpass and Samsung Pay. This value is supported only for Masterpass Samsung Pay transactions on CyberSource through VisaNet.\n- `SDW`: Staged digital wallet. An issuer or operator created the wallet. This value is supported only for Masterpass transactions on Chase Paymentech Solutions.\n- `VCIND`: Visa Checkout payment. This value is supported only on CyberSource through VisaNet, FDC Compass, FDC Nashville Global, FDI Australia, and TSYS Acquiring Solutions. See Getting Started with Visa Checkout. For Visa Checkout transactions, the way CyberSource processes the value for this field depends on the processor. See the Visa Checkout section below.\nFor all other values, this field is a passthrough; therefore, CyberSource does not verify the value or modify it in any way before sending it to the processor.\nMasterpass (101, 102, 103, 216, and 217): The Masterpass platform generates the wallet type value and passes it to you along with the customer's checkout information.\n\nVisa Checkout:\nThis field is optional for Visa Checkout authorizations on FDI Australia. For all other processors, this field is required for Visa Checkout authorizations.\nFor Visa Checkout transactions on the following processors, CyberSource sends the value that the processor expects for this field:FDC Compass,FDC Nashville Global,FDI Australia,TSYS Acquiring\nSolutions For all other processors, this field is a passthrough; therefore, CyberSource does not verify the value or modify it in any way before sending it to the processor.\nFor incremental authorizations, this field is supported only for Mastercard and the supported values are 101 and 102.\nPayment card companies can introduce new values without notice. Your order management system should be able to process new values without problems.\n\nCyberSource through VisaNet\nWhen the value for this field is 101, 102, 103, 216, or 217, it corresponds to the following data in the TC 33 capture file5: Record: CP01 TCR6, Position: 88-90, Field: Mastercard Wallet Identifier.\nWhen the value for this field is VCIND, it corresponds to the following data in the TC 33 capture file5: Record: CP01 TCR8, Position: 72-76, Field: Agent Unique ID.\n" }, "nationalNetDomesticData": { "type": "string", "maxLength": 123, "description": "Supplementary domestic transaction information provided by the acquirer for National Net Settlement Service (NNSS) transactions. NNSS is a settlement service that Visa provides.\nFor transactions on CyberSource through VisaNet in countries that subscribe to NNSS:\nVisaNet clears transactions; VisaNet transfers funds to the acquirer after deducting processing fees and interchange fees.\nVisaNet settles transactions in the local pricing currency through a local financial institution.\nThis field is supported only on CyberSource through VisaNet for domestic data in Colombia\n" }, "japanPaymentOptions": { "type": "object", "properties": { "paymentMethod": { "type": "string", "maxLength": 2, "description": "This value is a 2-digit code indicating the payment method.\nUse Payment Method Code value that applies to the tranasction.\n- 10 (One-time payment)\n- 21, 22, 23, 24 (Bonus(one-time)payment)\n- 61 (Installment payment)\n- 31, 32, 33, 34 (Integrated (Bonus + Installment)payment)\n- 80 (Revolving payment)\n" }, "bonuses": { "type": "string", "maxLength": 2, "description": "This value is a 2-digit code indicating the Number of Bonuses. Valid value from 1 to 6.\n" }, "bonusMonth": { "type": "string", "maxLength": 2, "description": "This value is a 2-digit code indicating the first bonus month. Valid value from 1 to 12.\n" }, "secondBonusMonth": { "type": "string", "maxLength": 2, "description": "This value is a 2-digit code indicating the second bonus month. Valid value from 1 to 12.\n" }, "bonusAmount": { "type": "string", "maxLength": 8, "description": "This value contains the bonus amount of the first month. Maximum value without decimal 99999999.\n" }, "secondBonusAmount": { "type": "string", "maxLength": 8, "description": "This value contains the bonus amount of the second month. Maximum value without decimal 99999999.\n" }, "preapprovalType": { "type": "string", "maxLength": 1, "description": "This will contain the details of the kind of transaction that has been processe. Used only for Japan.\nPossible Values:\n- 0 = Normal (authorization with amount and clearing/settlement; data capture or paper draft)\n- 1 = Negative card authorization (authorization-only with 0 or 1 amount)\n- 2 = Reservation of authorization (authorization-only with amount)\n- 3 = Cancel transaction\n- 4 = Merchant-initiated reversal/refund transactions\n- 5 = Cancel reservation of authorization\n- 6 = Post authorization\n" }, "installments": { "type": "string", "maximum": 99, "description": "Number of Installments.\n" }, "terminalId": { "type": "string", "maxLength": 13, "description": "Unique Japan Credit Card Association (JCCA) terminal identifier.\n\nThe difference between this field and the `pointOfSaleInformation.terminalID` field is that you can define\n`pointOfSaleInformation.terminalID`, but `processingInformation.japanPaymentOptions.terminalId` is\ndefined by the JCCA and is used only in Japan.\n\nThis field is supported only on CyberSource through VisaNet and JCN Gateway.\n\nOptional field.\n" }, "firstBillingMonth": { "type": "string", "maxLength": 2, "description": "Billing month in MM format.\n" }, "businessName": { "type": "string", "maxLength": 25, "description": "Business name in Japanese characters. This field is supported only on JCN Gateway and for the Sumitomo Mitsui Card Co. acquirer on CyberSource through VisaNet.\n" }, "businessNameKatakana": { "type": "string", "maxLength": 25, "description": "Business name in Katakana characters. This field is supported only on JCN Gateway and for the Sumitomo Mitsui Card Co. acquirer on CyberSource through VisaNet.\n" }, "jis2TrackData": { "type": "string", "maxLength": 69, "description": "Japanese Industrial Standard Type 2 (JIS2) track data from the front of the card.\n\nThis field is supported only on CyberSource through VisaNet and JCN Gateway.\n\nOptional field.\n" }, "businessNameAlphaNumeric": { "type": "string", "maxLength": 25, "description": "Business name in alphanumeric characters. This field is supported only on JCN Gateway and for the Sumitomo Mitsui Card Co. acquirer on CyberSource through VisaNet.\n" } } }, "mobileRemotePaymentType": { "type": "string", "maxLength": 1, "description": "Type of payment initiated from a cardholder's mobile device. Possible values:\n- `1` : Consumer-initiated remote purchase, face-to-face\n- `2` : Consumer-initiated remote purchase, e-commerce\n- `3` : Consumer-initiated remote purchase, mail order / telephone order\n- `4` : Consumer-initiated bill pay\n- `5` : Consumer-initiated top up\n- `6` : Consumer-initiated cash out\n- `7` : ATM triggered or agent-initiated cash out\n- `8` : Merchant-initiated remote purchase, face-to-face\n- `9` : Merchant-initiated remote purchase, e-commerce\n\nThis field is supported only for Mastercard transactions on CyberSource through VisaNet.\n\nOptional field.\n\n**Note** On CyberSource through VisaNet, the value for this field corresponds to the following data in the\nTC 33 capture file:\n- Record: CP01 TCR6\n- Position: 94\n- Field: Mastercard Mobile Remote Payment Program Indicator\n\nThe TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource.\nCyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the\nmerchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment networks.\n" }, "extendedCreditTotalCount": { "type": "string", "maxLength": 1, "description": "A private national-use field submitted by acquirers and issuers in South Africa for South Africa-domestic (intra-country) authorizations and financial requests.\nValues for this field are 00 through 99.\n" }, "networkRoutingOrder": { "type": "string", "maxLength": 30, "description": "On PIN Debit Gateways: This U.S.-only field is optionally used by participants (merchants and acquirers) to specify the network access priority.\nVisaNet checks to determine if there are issuer routing preferences for any of the networks specified by the sharing group code.\nIf an issuer preference exists for one of the specified debit networks, VisaNet makes a routing selection based on the issuer's preference.\nIf an issuer preference exists for more than one of the specified debit networks, or if no issuer preference exists,\nVisaNet makes a selection based on the acquirer's routing priorities.\n\n#### PIN debit\nPriority order of the networks through which he transaction will be routed. Set this value to a series of one-character network codes in your preferred order. This is a list of the network codes:\n\n| Network | Code |\n| --- | --- |\n| Accel | E |\n| AFFN | U |\n| Alaska Option | 3 |\n| CU24 | C |\n| Interlink | G |\n| Maestro | 8 |\n| NETS | P |\n| NYCE | F |\n| Pulse | H |\n| Shazam | 7 |\n| Star | M |\n| Visa | V |\n\nFor example, if the Star network is your first preference and Pulse is your second preference, set this field to a value of `MH`.\n\nWhen you do not include this value in your PIN debit request, the list of network codes from your account is used.\n**Note** This field is supported only for businesses located in the U.S.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "payByPointsIndicator": { "type": "boolean", "description": "Flag that indicates if the transaction is pay by points transaction\ntrue: Transaction uses loyalty points\nfalse: Transaction does not use loyalty points\nDefault: false\n" }, "timeout": { "type": "integer", "description": "Minutes until a pending MyBank transaction will be timed out. Value\nmust be between 5 and 30. Default is 5.\n" }, "isReturnAuthRecordEnabled": { "type": "boolean", "description": "Flag that indicates the functionality we are having for merchants for which auth is done through Cybersource but\nsettlement is done by themselves.\ntrue: functionality is supported. Processor should send raw processor auth response to Merchant.\nfalse: functionality is not supported.\nDefault: false\n" }, "networkPartnerId": { "type": "string", "maxLength": 11, "description": "Merchant payment gateway ID that is assigned by Mastercard and is provided by the acquirer when a registered merchant payment gateway service provider is involved in the transaction.\n\nThis field is supported for Visa Platform Connect.\n" }, "paymentType": { "type": "string", "maxLength": 3, "description": "Identifier for the payment type.\n" } } }, "issuerInformation": { "type": "object", "properties": { "discretionaryData": { "type": "string", "maxLength": 255, "description": "Data defined by the issuer.\n\nThe value for this reply field will probably be the same as the value that you submitted in the authorization request, but it is possible for the processor, issuer, or acquirer to modify the value.\n\nThis field is supported only for Visa transactions on **CyberSource through VisaNet**.\n\nFor details, see `issuer_additional_data` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" } } }, "paymentInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 20, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n\n#### FDMS Nashville\nRequired. String (19)\n\n#### GPX\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nValid values: `01` through `12`. Leading 0 is required.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value\n(`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is\nin the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause\nthe issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (_type_=039), if there is no expiration date on the card, use `12`.\n\n#### FDMS Nashville\nRequired field.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the payment card expires.\n\nFormat: `YYYY`.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`1900` through `3000`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (**_type_**`=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDMS Nashville\nRequired field.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. If you send in 2 digits, they must be the last 2 digits of the year.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `014`: Enroute[^1]\n- `021`: JAL[^1]\n- `024`: Maestro (UK Domestic)[^1]\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `042`: Maestro (International)[^1]\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `054`: Elo[^3]\n- `062`: China UnionPay\n- '070': EFTPOS\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "useAs": { "type": "string", "maxLength": 20, "description": "Flag that specifies the type of account associated with the card.\nThis field is available only for China UnionPay, Cielo, Comercio Latino and Visa Platform Connect.\nThe cardholder provides this information during the payment process.\n\nThis field is required for:\n - Debit transactions on Cielo and Comercio Latino.\n - Transactions with Brazilian-issued cards on CyberSource through VisaNet.\n\n**China UnionPayCard Transactions on China UnionPay:**\nPossible values:\n - C: Domestic credit card\n - D: Domestic debit card\n - F: International credit card\n - I: International debit card\n\nWhen the value is D, the e-commerce indicator and CAVV fields must be included in the authorization request.\nWhen the value is C, F or I the card verification number, expiration month and expiration year fields must in included in the authorization request.\n\n**Cielo and Comercio Latino Credit Card Transactions:**\nOn these processors, this field is supported only for authorizations.\nPossible values:\n - CR: Credit card\n - DB: Debit card \n\n**Visa Platform Connect Credit Card Transactions:**\nThis field is supported only for all card Types on Visa Platform Connect.\n\nA value of CR or DB in the useAs field takes precedence over any value in the Source Account Type field.\n" }, "sourceAccountType": { "type": "string", "maxLength": 20, "description": "Flag that specifies the type of account associated with the card. \nThe cardholder provides this information during the payment process.\n\nThis field is required in the following cases:\n - Debit transactions on Cielo and Comercio Latino.\n - Transactions with Brazilian-issued cards on CyberSource through VisaNet.\n - Applicable only for CyberSource through VisaNet (CtV).\n\n**Note** Combo cards in Brazil contain credit and debit functionality in a single card. Visa systems use a credit bank\nidentification number (BIN) for this type of card. Using the BIN to determine whether a card is debit or\ncredit can cause transactions with these cards to be processed incorrectly. CyberSource strongly recommends\nthat you include this field for combo card transactions.\n\nPossible values include the following.\n\n - `CH`: Checking account\n - `CR`: Credit card account\n - `SA`: Saving account\n - `LI`: Line of credit or credit portion of combo card\n - `PP`: Prepaid card account or prepaid portion of combo card\n - `UA`: Universal account\n\nIf useAs is set to credit/debit and there is a value in SourceAccountType, the value in the SourceAccountType field will take precedence.\nIf useAs is set to CR/DB and there is a value in SourceAccountType, the value in the useAs field will take precedence.\n" }, "sourceAccountTypeDetails": { "type": "string", "maxLength": 4, "description": "Type of account that is being used when the value for the override_payment_method field is line of credit (LI) or prepaid card (PP).\nPossible values for line of credit:\n- `AGRC`: Visa Agro Custeio\n- `AGRE`: Visa Agro Electron\n- `AGRI`: Visa Agro Investimento\n- `AGRO`: Visa Agro\nPossible values for prepaid card:\n- `VVA`: Visa Vale Alimentacao\n- `VVF`: Visa Vale Flex\n- `VVR`: Visa Vale Refeicao\nThis field is supported only for combo card transactions in Brazil on CyberSource through VisaNet.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Number.\n\n#### FDMS Nashville\nRequired for American Express or if swiped; otherwise, optional.\n\n#### Ingenico ePayments\nDo not include this field when `commerceIndicator=recurring`.\n**Note** Ingenico ePayments was previously called _Global Collect_.\n\n#### TSYS Acquiring Solutions\nOptional if pointOfSaleInformation.entryMode=keyed; otherwise, not used.\n\n#### GPX\nOptional.\n\n#### All other processors:\nOptional.\n" }, "securityCodeIndicator": { "type": "string", "maxLength": 1, "description": "Indicates whether a CVN code was sent. Possible values:\n\n - `0` (default): CVN service not requested. This default value is used when you do not include\n `securityCode` field in the request.\n - `1` (default): CVN service requested and supported. This default value is used when you include\n `securityCode` field in the request.\n - `2`: CVN on credit card is illegible.\n - `9`: CVN was not imprinted on credit card.\n\n#### FDMS Nashville\nRequired for American Express cards; otherwise, optional.\n\n#### TSYS Acquiring Solutions\nOptional if `pointOfSaleInformation.entryMode=keyed`; otherwise, not used.\n\n#### All other processors\nOptional.\n" }, "accountEncoderId": { "type": "string", "maxLength": 3, "description": "Identifier for the issuing bank that provided the customer's encoded account number. Contact your processor for the bank's ID.\n" }, "issueNumber": { "type": "string", "maxLength": 5, "description": "Number of times a Maestro (UK Domestic) card has been issued to the account holder. The card might or might not have an issue number. The number can consist of one or two digits, and the first digit might be a zero. When you include this value in your request, include exactly what is printed on the card. A value of 2 is different than a value of 02. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card.\n\n**Note** The issue number is not required for Maestro (UK Domestic) transactions.\n" }, "startMonth": { "type": "string", "maxLength": 2, "description": "Month of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: MM`. Possible values: 01 through 12.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "startYear": { "type": "string", "maxLength": 4, "description": "Year of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: YYYY`.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "productName": { "type": "string", "maxLength": 15, "description": "Name of the card product.\n\nPossible value:\n- BNDES\n\nThis field is supported only for BNDES transactions on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR4\n- Position: 115-120\n- Field: Brazil Country Data\n" }, "typeSelectionIndicator": { "type": "string", "maxLength": 1, "description": "Flag that identifies how the card type was selected.\n\nPossible values:\n- 0: Card type was selected based on default acquirer settings.\n- 1: Customer selected the card type.\n" } } }, "tokenizedCard": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 20, "description": "Customer's payment network token value.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "One of two possible meanings:\n- The two-digit month in which a token expires.\n- The two-digit month in which a card expires.\nFormat: `MM`\nPossible values: `01` through `12`\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_type=039`), if there is no expiration date on the card, use `12`.\\\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Samsung Pay and Apple Pay\nMonth in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\nFor processor-specific information, see the `customer_cc_expmo` field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n\nFor processor-specific information, see the `customer_cc_expyr` or `token_expiration_year` field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `014`: Enroute[^1]\n- `021`: JAL[^1]\n- `024`: Maestro (UK Domestic)[^1]\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `042`: Maestro (International)[^1]\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `054`: Elo[^3]\n- `062`: China UnionPay\n- '070': EFTPOS\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "cryptogram": { "type": "string", "maxLength": 255, "description": "This field contains token information." }, "requestorId": { "type": "string", "maxLength": 11, "description": "Value that identifies your business and indicates that the cardholder's account number is tokenized. This value\nis assigned by the token service provider and is unique within the token service provider's database.\n\n**Note** This field is supported only for **CyberSource through VisaNet** and **FDC Nashville Global**.\n\n#### PIN debit\nOptional field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.\n" }, "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it specifies the entity that\nprovided you with information about the token.\n\nPossible value:\n- `2`: Near-field communication (NFC) transaction. The customer's mobile device provided the token data for a contactless EMV transaction. For recurring\ntransactions, use this value if the original transaction was a contactless EMV transaction.\n\n#### Visa Platform Connect\n- `1`: For Rupay and In App tokenization. Example: InApp apple pay.\n- `3`: Card/Credential On File Tokenization.\n\n**NOTE** No CyberSource through VisaNet acquirers support EMV at this time.\n\nRequired field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.\n\n#### Rupay\n- `3`: Card/Credential On File Tokenization.\n- `4`: Tokenizined Transaction. Should be used for Guest Checkout transactions with token.\n" }, "assuranceLevel": { "type": "string", "maxLength": 2, "description": "Confidence level of the tokenization. This value is assigned by the token service provider.\n\n**Note** This field is supported only for **CyberSource through VisaNet** and **FDC Nashville Global**.\n\nReturned by PIN debit credit or PIN debit purchase.\n\n**Note** Merchants supported for **CyberSource through VisaNet**/**Visa Platform Connect** are advised not to use this field.\n" }, "storageMethod": { "type": "string", "maxLength": 3, "description": "Type of technology used in the device to store token data. Possible values:\n\n- `001`: Secure Element (SE). Smart card or memory with restricted access and encryption to prevent data tampering. For storing payment\n credentials, a SE is tested against a set of requirements defined by the payment networks.\n\n **Note** This field is supported only for _FDC Compass_.\n\n- 002: Host Card Emulation (HCE). Emulation of a smart card by using software to create a virtual and exact representation of the card.\nSensitive data is stored in a database that is hosted in the cloud. For storing payment credentials, a database\nmust meet very stringent security requirements that exceed PCI DSS.\n\n**Note** This field is supported only for _FDC Compass_.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Number (CVN).\n\n#### Ingenico ePayments\nDo not include this field when **commerceIndicator=recurring**.\n**Note** Ingenico ePayments was previously called _Global Collect_.\n\nFor details, see `customer_cc_cv_number` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "securityCodeIndicator": { "type": "string", "maxLength": 1, "description": "Indicates whether a CVN code was sent. Possible values:\n\n - `0` (default): CVN service not requested. This default value is used when you do not include\n `securityCode` field in the request.\n - `1` (default): CVN service requested and supported. This default value is used when you include\n `securityCode` field in the request.\n - `2`: CVN on credit card is illegible.\n - `9`: CVN was not imprinted on credit card.\n\n#### FDMS Nashville\nRequired for American Express cards; otherwise, optional.\n\n#### TSYS Acquiring Solutions\nOptional if `pointOfSaleInformation.entryMode=keyed`; otherwise, not used.\n\n#### All other processors\nOptional.\n" }, "assuranceMethod": { "type": "string", "maxLength": 2, "description": "Confidence level of the tokenization. This value is assigned by the token service provider.\n\n**Note** This field is supported only for **Visa Platform Connect**\n" } } }, "directDebit": { "type": "object", "properties": { "mandate": { "type": "object", "properties": { "clearingDate": { "type": "string", "maxLength": 8, "description": "This is the date on which the SEPA DD should be executed. Debit date: the day on which the payer's account is debited.\n" } } } } }, "fluidData": { "type": "object", "properties": { "keySerialNumber": { "type": "string", "description": "The encoded or encrypted value that a payment solution returns for an authorization request. For details about the valid values for a key, see [Creating an Online Authorization](https://developer.cybersource.com/api/developer-guides/dita-payments/CreatingOnlineAuth.html)\n" }, "descriptor": { "type": "string", "maxLength": 128, "description": "The identifier for a payment solution, which is sending the encrypted payment data for decryption. Valid values:\nSamsung Pay: RklEPUNPTU1PTi5TQU1TVU5HLklOQVBQLlBBWU1FTlQ=\nNote: For other payment solutions, the value may be specific to the terminal or device initiatinf the payment. For example, the descriptor for a Bluefin payment encryption would be a device-generated descriptor.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits.\n\nCard Present processing:\nFormat of the encrypted payment data.\nThe value for Bluefin PCI P2PE is `Ymx1ZWZpbg==`. paymentInformation.fluidData.encoding must be `Base64`.\nThe value for Cybersource P2PE decryption depends on the encoding method used and identified in encoding field.\nIf paymentInformation.fluidData.encoding is `Base64`, the value is: `RklEPUVNVi5QQVlNRU5ULkFQSQ==`\nIf paymentInformation.fluidData.encoding is `HEX`, the value is: `4649443D454D562E5041594D454E542E41504`\n" }, "value": { "type": "string", "maxLength": 4000, "description": "Represents the encrypted payment data BLOB. The entry for this field is dependent on the payment solution used by the merchant.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits that use a Cybersource suppored Point-to-Point encryption method.\nCard Present processing\nThis field represents the encrypted payment data generated by the payment terminal/device.\n" }, "encoding": { "type": "string", "maxLength": 6, "description": "Encoding method used to encrypt the payment data.\nValid values: `Base64`, `HEX`\nIf no value is provided, `Base64` is taken as the default value. And the `Base64` descriptor is used for paymentInformation.fluidData.encoding\n" } } }, "customer": { "type": "object", "properties": { "customerId": { "type": "string", "description": "Unique identifier for the customer's card and billing information.\n\nWhen you use Payment Tokenization or Recurring Billing and you include this value in\nyour request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n\n**NOTE** When you use Payment Tokenization or Recurring Billing, the value for the Customer ID is actually the Cybersource payment token for a customer. This token stores information such as the consumer's card number so it can be applied towards bill payments, recurring payments, or one-time payments. By using this token in a payment API request, the merchant doesn't need to pass in data such as the card number or expiration date in the request itself.\n\nFor details, see the `subscription_id` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "id": { "type": "string", "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "paymentInstrument": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Payment Instrument token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Instrument Identifier token used in the transaction.\nWhen you include this value in your request, many of the fields that can be supplied for an authorization or credit\nbecome optional.\n", "minLength": 12, "maxLength": 32 } } }, "shippingAddress": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Customers Shipping Address token used in the transaction.\nWhen you include this value in your request, many of the shipping fields that can be supplied for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "legacyToken": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the legacy Secure Storage token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "bank": { "type": "object", "properties": { "account": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 1, "description": "Account type.\n\nPossible values:\n - **C**: Checking.\n - **G**: General ledger. This value is supported only on Wells Fargo ACH.\n - **S**: Savings (U.S. dollars only).\n - **X**: Corporate checking (U.S. dollars only).\n" }, "number": { "type": "string", "maxLength": 17, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "encoderId": { "type": "string", "maxLength": 3, "description": "Identifier for the bank that provided the customer's encoded account number.\n\nTo obtain the bank identifier, contact your processor.\n\nFor details, see `account_encoder_id` request-level field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "checkNumber": { "type": "string", "maxLength": 8, "description": "Check number.\n\nChase Paymentech Solutions - Optional.\nCyberSource ACH Service - Not used.\nRBS WorldPay Atlanta - Optional on debits. Required on credits.\nTeleCheck - Strongly recommended on debit requests. Optional on credits.\n" }, "checkImageReferenceNumber": { "type": "string", "maxLength": 32, "description": "Image reference number associated with the check. You cannot include any special characters.\n" }, "iban": { "type": "string", "maxLength": 50, "description": "International Bank Account Number (IBAN) for the bank account. For some countries you can provide this number instead of the traditional bank account information. You can use this field only when scoring a direct debit transaction.\n\nFor all possible values, see the `bank_iban` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" } } }, "routingNumber": { "type": "string", "maxLength": 9, "description": "Bank routing number. This is also called the _transit number_.\n\nFor details, see `ecp_rdfi` request field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" }, "iban": { "type": "string", "maxLength": 50, "description": "International Bank Account Number (IBAN) for the bank account. For some countries you can provide this number instead of the traditional bank account information. You can use this field only when scoring a direct debit transaction.\n\nFor all possible values, see the `bank_iban` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "swiftCode": { "type": "string", "description": "Bank's SWIFT code. You can use this field only when scoring a direct debit transaction.\nRequired only for crossborder transactions.\n\nFor all possible values, see the `bank_swiftcode` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "code": { "type": "string", "maxLength": 50, "description": "Bank code of the consumer's account\n" } } }, "options": { "type": "object", "properties": { "id": { "type": "string", "description": "Payment option ID name.\nThis is the bank's swift code.Include the option ID name returned in the Options service response.\n", "minLength": 1, "maxLength": 60 } } }, "paymentType": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" }, "subTypeName": { "type": "string", "description": "In case the APM supports multiple modes of initiation (e.g. Alipay via QR Code or Barcode)\n" }, "method": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n" }, "type": { "type": "string", "description": "The payment channel that facilitates the transactions. This parameter can be used if the payment channels are listed on the merchant's site, and the payment channel is known.\n\nPossible Values:\n\n#### Via PPRO\n- `alfaVa`\n- `kredivo`\n- `consumerBarCode`\n- `merchantQrCode`\n- `dokuWallet`\n" } } } } }, "initiationChannel": { "type": "string", "maxLength": 2, "description": "Mastercard-defined code that indicates how the account information was obtained.\n\n- `00`: Card\n- `01`: Mobile Network Operator (MNO) controlled removable secure element (SIM or UICC) personalized for use with a mobile phone or smartphone\n- `02`: Key fob\n- `03`: Watch using a contactless chip or a fixed (non-removable) secure element not controlled by the MNO\n- `04`: Mobile tag\n- `05`: Wristband\n- `06`: Mobile phone case or sleeve\n- `07`: Mobile phone or smartphone with a fixed (non-removable) secure element controlled by the MNO,for example, code division multiple access (CDMA)\n- `08`: Removable secure element not controlled by the MNO, for example, memory card personalized forused with a mobile phone or smartphone\n- `09`: Mobile Phone or smartphone with a fixed (non-removable) secure element not controlled by the MNO\n- `10`: MNO controlled removable secure element (SIM or UICC) personalized for use with a tablet or e-book\n- `11`: Tablet or e-book with a fixed (non-removable) secure element controlled by the MNO\n- `12`: Removable secure element not controlled by the MNO, for example, memory card personalized foruse with a tablet or e-book\n- `13`: Tablet or e-book with fixed (non-removable) secure element not controlled by the MNO\n- `14`: Mobile phone or smartphone with a payment application running in a host processor\n- `15`: Tablet or e-book with a payment application running in a host processor\n- `16`: Mobile phone or smartphone with a payment application running in the Trusted ExecutionEnvironment (TEE) of a host processor\n- `17`: Tablet or e-book with a payment application running in the TEE of a host processor\n- `18`: Watch with a payment application running in the TEE of a host processor\n- `19`: Watch with a payment application running in a host processor\n\nValues from 20\u201399 exclusively indicate the form factor only without also indicating the storage technology\n\n- `20`: Card\n- `21`: Phone e.g. Mobile Phone\n- `22`: Tablet/e-reader\n- `23`: Watch/Wristband e.g. Watch or wristband, including a fitness band, smart strap, disposable band, watch add-on, and security/ID band\n- `24`: Sticker\n- `25`: PC\n- `26`: Device Peripheral e.g. mobile phone case or sleeve\n- `27`: Tag e.g. key fob or mobile tag\n- `28`: Jewelry e.g. ring, bracelet, necklace and cuff links\n- `29`: Fashion Accessory e.g. handbag, bag charm and glasses\n- `30`: Garment e.g. dress\n- `31`: Domestic Appliance e.g refrigerator, washing machine\n- `32`: Vehicle e.g. vehicle, including vehicle attached devices\n- `33`: Media/Gaming Device e.g. media or gaming device, including a set top box, media player and television\n\n34\u201399 are reserved for future form factors. Any value in this range may occur within form factor and transaction data without prior notice.\n\nThis field is supported only for Mastercard on CyberSource through VisaNet.\nWhen initiation channel is not provided via this API field, the value is extracted from EMV tag 9F6E for Mastercard transactions. To enable this feature please call support.\n\n#### Used by\n**Authorization**\nOptional field.\n" }, "sepa": { "type": "object", "properties": { "directDebit": { "type": "object", "properties": { "reference": { "type": "string", "maxLength": 255, "description": "Mandate reference as returned on the first transaction in the\nsequence\n" }, "signatureDate": { "type": "string", "maxLength": 255, "description": "Date of the initial transaction, format is YYYY-MM-DD. Date\ncan be taken from the finaltimestamp of the SUCCEEDED\nnotification for the first transaction in the sequence.\n" }, "url": { "type": "string", "maxLength": 255, "description": "Valid URL pointing to the SEPA mandate, needs to be accessible\nby our risk and compliance department.\n" }, "type": { "type": "string", "maxLength": 255, "description": "Sequence type of the direct debit, defaults to \"oneOff\". Valid\nvalues:\noneOff The direct debit is executed once.\nfirst First direct debit in a series of recurring ones.\n" } } } } }, "eWallet": { "type": "object", "properties": { "accountId": { "type": "string", "maxLength": 26, "description": "The ID of the customer, passed in the return_url field by PayPal after customer approval." }, "fundingSource": { "type": "string", "maxLength": 30, "description": "Payment method for the unit purchase.\nPossible values:\n- `UNRESTRICTED (default)\u2014this value\nis only available if configured by PayPal\nfor the merchant.`\n- `INSTANT`\n" } } } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "giftWrapAmount": { "type": "string", "maxLength": 19, "description": "Amount being charged as gift wrap fee.\n" }, "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. For details, see:\n- \"Authorization Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Capture Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Credit Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\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. For details, see \"Zero Amount Authorizations,\" \"Credit Information for Specific Processors\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\nRequired for creating a new invoice.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. For details, see `grand_total_amount` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in \"Authorization Information for Specific Processors\" of the [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### DCC for First Data\nNot used.\n" }, "subTotalAmount": { "type": "string", "maxLength": 15, "description": "Subtotal amount of all the items.This amount (which is the value of all items in the cart, not including the additional amounts such as tax, shipping, etc.) cannot change after a sessions request.\nWhen there is a change to any of the additional amounts, this field should be resent in the order request. When the sub total amount changes, you must initiate a new transaction starting with a sessions request.\nNote The amount value must be a non-negative number containing 2 decimal places and limited to 7 digits before the decimal point. This value can not be changed after a sessions request.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "discountAmount": { "type": "string", "maxLength": 15, "description": "Total discount amount applied to the order.\n" }, "dutyAmount": { "type": "string", "maxLength": 15, "description": "Total charges for any import or export duties included in the order.\n" }, "gratuityAmount": { "type": "string", "maxLength": 13, "description": "Gratuity or tip amount for restaurants. Allowed only when industryDatatype=restaurant.\nWhen your customer uses a debit card or prepaid card, and you receive a partial authorization, the payment networks recommend that you do not\nsubmit a capture amount that is higher than the authorized amount. When the capture amount exceeds the partial amount that was approved, the\nissuer has chargeback rights for the excess amount.\n\nUsed by **Capture**\nOptional field.\n\n#### CyberSource through VisaNet\nRestaurant data is supported only on CyberSource through VisaNet when card is present.\n" }, "taxAmount": { "type": "string", "maxLength": 12, "description": "Total tax amount for all the items in the order.\n" }, "nationalTaxIncluded": { "type": "string", "maxLength": 1, "description": "Flag that indicates whether a national tax is included in the order total.\n\nPossible values:\n\n - **0**: national tax not included\n - **1**: national tax included\n" }, "taxAppliedAfterDiscount": { "type": "string", "maxLength": 1, "description": "Flag that indicates how the merchant manages discounts.\n\nPossible values:\n\n - **0**: no invoice level discount included\n - **1**: tax calculated on the postdiscount invoice total\n - **2**: tax calculated on the prediscount invoice total\n" }, "taxAppliedLevel": { "type": "string", "maxLength": 1, "description": "Flag that indicates how you calculate tax.\n\nPossible values:\n\n - **0**: net prices with tax calculated at line item level\n - **1**: net prices with tax calculated at invoice level\n - **2**: gross prices with tax provided at line item level\n - **3**: gross prices with tax provided at invoice level\n - **4**: no tax applies on the invoice for the transaction\n" }, "taxTypeCode": { "type": "string", "maxLength": 3, "description": "For tax amounts that can be categorized as one tax type.\n\nThis field contains the tax type code that corresponds to the entry in the _lineItems.taxAmount_ field.\n\nPossible values:\n\n - **056**: sales tax (U.S only)\n - **TX~**: all taxes (Canada only) Note ~ = space.\n" }, "freightAmount": { "type": "string", "maxLength": 13, "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n\nFor processor-specific information, see the freight_amount field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "foreignAmount": { "type": "string", "maxLength": 15, "description": "Set this field to the converted amount that was returned by the DCC provider.\nFor processor-specific information, see the `foreign_amount` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "foreignCurrency": { "type": "string", "maxLength": 5, "description": "Set this field to the converted amount that was returned by the DCC provider.\n" }, "exchangeRate": { "type": "string", "maxLength": 13, "description": "Exchange rate returned by the DCC service. Includes a decimal point and a maximum of 4 decimal places.\n\nFor details, see `exchange_rate` request-level field description in the [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf)\n" }, "exchangeRateTimeStamp": { "type": "string", "maxLength": 14, "description": "Time stamp for the exchange rate. This value is returned by the DCC service.\n\nFormat: `YYYYMMDD~HH:MM` where ~ denotes a space.\n" }, "surcharge": { "type": "object", "properties": { "amount": { "type": "string", "maxLength": 15, "description": "The surcharge amount is included in the total transaction amount but is passed in a separate field to the issuer and acquirer for tracking. The issuer can provide information about the surcharge amount to the customer.\n\nIf the amount is positive, then it is a debit for the customer.\nIf the amount is negative, then it is a credit for the customer.\n\n**NOTE**: This field is supported only for CyberSource through VisaNet (CtV) for Payouts. For CtV, the maximum string length is 8.\n\n#### PIN debit\nSurcharge amount that you are charging the customer for this transaction. If you include a surcharge amount\nin the request, you must also include the surcharge amount in the value for `orderInformation.amountDetails.totalAmount`.\n\nOptional field for transactions that use PIN debit credit or PIN debit purchase.\n" }, "description": { "type": "string", "description": "Merchant-defined field for describing the surcharge amount." } } }, "settlementAmount": { "type": "string", "maxLength": 12, "description": "This is a multicurrency field. It contains the transaction amount (field 4), converted to the Currency used to bill the cardholder's account.\nThis field is returned for OCT transactions.\n" }, "settlementCurrency": { "type": "string", "maxLength": 3, "description": "This is a multicurrency-only field. It contains a 3-digit numeric code that identifies the currency used by the issuer to bill the cardholder's account.\nThis field is returned for OCT transactions.\n" }, "amexAdditionalAmounts": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 3, "description": "Additional amount type. This field is supported only for **American Express Direct**.\n\nFor processor-specific information, see the `additional_amount_type0` request-level field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "amount": { "type": "string", "maxLength": 12, "description": "Additional amount. This field is supported only for **American Express Direct**.\n" } } } }, "taxDetails": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n\nFor processor-specific details, see the `alternate_tax_amount`, `local_tax`, `national_tax` or `vat_tax_amount` field\ndescriptions in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "amount": { "type": "string", "maxLength": 13, "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" }, "rate": { "type": "string", "maxLength": 6, "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n\nFor processor-specific details, see the `alternate_tax_amount`, `vat_rate`, `vat_tax_rate`, `local_tax`, `national_tax`, `vat_tax_amount` or `other_tax#_rate` field descriptions in the [Level II and Level III Processing Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "code": { "type": "string", "maxLength": 4, "description": "Type of tax being applied to the item.\n\nFor possible values, see the processor-specific field descriptions in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/):\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" }, "taxId": { "type": "string", "maxLength": 15, "description": "Your tax ID number to use for the alternate tax amount. Required if you set alternate tax amount to any value,\nincluding zero. You may send this field without sending alternate tax amount.\n\nFor processor-specific details, see `alternate_tax_id` field description in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "applied": { "type": "boolean", "description": "Flag that indicates whether the alternate tax amount (`orderInformation.amountDetails.taxDetails[].amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: alternate tax amount is not included in the request.\n- `true`: alternate tax amount is included in the request.\n\nFor processor-specific details, see `alternate_tax_amount_indicator` field description in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "exemptionCode": { "type": "string", "maxLength": 1, "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n\nFor possible values and important information for using this field, see _Appendix B, \"Exemption\nStatus Values_ and _Offer-Level Tax Fields_ in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" } } } }, "serviceFeeAmount": { "type": "string", "maxLength": 15, "description": "Service fee. Required for service fee transactions.\n" }, "originalAmount": { "type": "string", "maxLength": 15, "description": "Amount in your original local pricing currency.\n\nThis value cannot be negative. You can include a decimal point (.) in this field to denote the currency\nexponent, but you cannot include any other special characters.\n\nIf needed, CyberSource truncates the amount to the correct number of decimal places.\n" }, "originalCurrency": { "type": "string", "maxLength": 15, "description": "Your local pricing currency code.\n\nFor the possible values, see the [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n" }, "cashbackAmount": { "type": "string", "maxLength": 13, "description": "Cashback amount in the acquirer's currency. If a cashback amount is included in the request, it must be included\nin the `orderInformation.amountDetails.totalAmount` value.\n\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization**\nOptional.\n**Authorization Reversal**\nOptional.\n\n#### PIN debit\nOptional field for PIN debit purchase, PIN debit credit or PIN debit reversal.\n" }, "currencyConversion": { "type": "object", "properties": { "indicator": { "type": "string", "maxLength": 1, "description": "Flag indicating that DCC Lookup has been performed before this transaction. Set this field to 1 when cardholders opts to use DCC on the transaction.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Unique identifier generated by the DCC provider.\n" }, "id": { "type": "string", "maxLength": 26, "description": "Value of the Cybersource request ID returned in a DCC Lookup transaction.\n" } } }, "order": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 10, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but you cannot include any other special characters. CyberSource truncates the amount to the correct number of decimal places\n" }, "currency": { "type": "string", "maxLength": 5, "description": "Currency used for the order\n" }, "subTotalAmount": { "type": "string", "maxLength": 15, "description": "Shipping discount amount for the transaction. If this amount has changed since the initial sessions request, you must include the new value in the order request. You must also include all additional amount fields that apply to the order and ensure the total amount equals the purchaseTotals_grandTotalAmount value.\n" }, "handlingAmount": { "type": "string", "maxLength": 15, "description": "Aggregate handling charges for the transaction. If this amount has changed since the initial sessions request, you must include the new value in the order request. You must also include all additional amount fields that apply to the order and ensure the total amount equals the purchaseTotals_grandTotalAmount value.\n" }, "shippingAmount": { "type": "string", "maxLength": 15, "description": "Aggregate shipping charges for the transaction If this amount has changed since the initial sessions request, you must include the new value in the order request. You must also include all additional amount fields that apply to the order and ensure the total amount equals the purchaseTotals_grandTotalAmount value.\n" }, "shippingDiscountAmount": { "type": "string", "maxLength": 15, "description": "Shipping discount amount for the transaction. If this amount has changed since the initial sessions request, you must include the new value in the order request. You must also include all additional amount fields that apply to the order and ensure the total amount equals the purchaseTotals_grandTotalAmount value.\n" }, "taxAmount": { "type": "string", "maxLength": 10, "description": "Total tax amount. When the purchaseTotals_ taxAmount and ap_subtotalAmount fields are included in the request, do not include the tax amount as part of the subtotal amount calculation. \n" }, "insuranceAmount": { "type": "string", "maxLength": 15, "description": "Amount being charged for the insurance fee. Only supported when the payment_method is set to paypal.\n" }, "giftWrapAmount": { "type": "string", "maxLength": 15, "description": "Amount being charged as gift wrap fee.\n \n" } } } } }, "billTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called _CyberSource Latin American Processing_. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### RBS WorldPay Atlanta\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "middleName": { "type": "string", "maxLength": 60, "description": "Customer's middle name.\n" }, "nameSuffix": { "type": "string", "maxLength": 60, "description": "Customer's name suffix.\n" }, "title": { "type": "string", "maxLength": 60, "description": "Title.\n" }, "company": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n\n**CyberSource through VisaNet**\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\nFor processor-specific information, see the `company_name` field in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "address1": { "type": "string", "maxLength": 40, "description": "First line in the street address of the company purchasing the product." }, "address2": { "type": "string", "maxLength": 40, "description": "Additional address information for the company purchasing the product." }, "locality": { "type": "string", "maxLength": 30, "description": "City in the address of the company purchasing the product." }, "administrativeArea": { "type": "string", "maxLength": 2, "description": "State or province in the address of the company purchasing the product. Use the State, Province, and Territory\nCodes for the United States and Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code in the address of the company purchasing the product. The postal code must consist of 5 to 9 digits.\n\nWhen the company country is the U.S., the 9-digit postal code must follow this format:\n**[5 digits][dash][4 digits]**\n#### Example\n`12345-6789`\n\nWhen the company country is Canada, the 6-digit postal code must follow this format:\n**[alpha][numeric][alpha][space][numeric][alpha][numeric]**\n#### Example\n`A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Country in the address of the company purchasing the product. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" } } }, "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n" }, "address3": { "type": "string", "maxLength": 60, "description": "Additional address information (third line of the billing address)\n" }, "address4": { "type": "string", "maxLength": 60, "description": "Additional address information (fourth line of the billing address)\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" }, "county": { "type": "string", "maxLength": 50, "description": "U.S. county if available." }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### SEPA/BACS\nRequired for Create Mandate and Import Mandate\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "district": { "type": "string", "maxLength": 50, "description": "Customer's neighborhood, community, or region (a barrio in Brazil) within the city or municipality. This\nfield is available only on **Cielo**.\n" }, "buildingNumber": { "type": "string", "maxLength": 256, "description": "Building number in the street address.\n\nFor example, if the street address is:\nRua da Quitanda 187\nthen the building number is 187.\n\nThis field is supported only for:\n - Cielo transactions.\n - Redecard customer validation with CyberSource Latin American Processing.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\nFor processor-specific information, see the `customer_email` request-level field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "emailDomain": { "type": "string", "maxLength": 100, "description": "Email domain of the customer. The domain of the email address comprises all characters that follow the @ symbol, such as mail.example.com. For the Risk Update service, if the email address and the domain are sent in the request, the domain supersedes the email address.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n\nIt is recommended that you include the country code when the order is from outside the U.S.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nOptional field.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "phoneType": { "type": "string", "description": "Customer's phone number type.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\nPossible Values:\n* day\n* home\n* night\n* work\n" }, "verificationStatus": { "type": "string", "description": "Whether buyer has verified their identity. Used in case of PayPal transactions.\n\nPossible Values:\n* VERIFIED\n* UNVERIFIED\n" }, "alternatePhoneNumber": { "type": "string", "maxLength": 15, "description": "#### Visa Platform Connect\ncontains customer's alternate phone number.\n" }, "alternateEmail": { "type": "string", "maxLength": 255, "description": "#### Visa Platform Connect\ncontains customer's alternate email address.\n" } } }, "shipTo": { "type": "object", "properties": { "title": { "type": "string", "description": "The title of the person receiving the product.", "maxLength": 10 }, "firstName": { "type": "string", "maxLength": 60, "description": "First name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" }, "middleName": { "type": "string", "maxLength": 60, "description": "Middle name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Last name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Second line of the shipping address.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "City of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S. or\nCanada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "county": { "type": "string", "maxLength": 50, "description": "U.S. county if available." }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", "maxLength": 2 }, "district": { "type": "string", "maxLength": 50, "description": "Neighborhood, community, or region within a city or municipality." }, "buildingNumber": { "type": "string", "maxLength": 15, "description": "Building number in the street address. For example, the building number is 187 in the following address:\n\nRua da Quitanda 187\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Phone number associated with the shipping address." }, "email": { "type": "string", "maxLength": 255, "description": "Email of the recipient.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n\nFor processor-specific information, see the company_name field in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "destinationTypes": { "type": "string", "maxLength": 25, "description": "Shipping destination of item. Example: Commercial, Residential, Store\n" }, "destinationCode": { "type": "integer", "maxLength": 2, "description": "Indicates destination chosen for the transaction. Possible values:\n- 01- Ship to cardholder billing address\n- 02- Ship to another verified address on file with merchant\n- 03- Ship to address that is different than billing address\n- 04- Ship to store (store address should be populated on request)\n- 05- Digital goods\n- 06- Travel and event tickets, not shipped\n- 07- Other\n" }, "method": { "type": "string", "maxLength": 10, "description": "Shipping method for the product. Possible values:\n- lowcost: Lowest-cost service\n- sameday: Courier or same-day service\n- oneday: Next-day or overnight service\n- twoday: Two-day service\n- threeday: Three-day service\n- pickup: Store pick-up\n- other: Other shipping method\n- none: No shipping method because product is a service or subscription\nRequired for American Express SafeKey (U.S.).\n" } } }, "lineItems": { "type": "array", "items": { "type": "object", "properties": { "productCode": { "type": "string", "maxLength": 255, "description": "Type of product. The value for this field is used to identify the product category (electronic, handling, physical,\nservice, or shipping). The default value is `default`.\n\nIf you are performing an authorization transaction (`processingOptions.capture` is set to `false`), and you set\nthis field to a value other than `default` or one of the values related to shipping and/or handling, then\n`orderInformation.lineItems[].quantity`, `orderInformation.lineItems[].productName`, and\n`orderInformation.lineItems[].productSku` fields are required.\n\nOptional field.\n\nFor details, see the `product_code` field description in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nThe Product Codes for the tax service are located in the Cybersource Tax Codes guide. Contact Customer Support to request the guide. If you don't send a tax service Product Code in your tax request, product-based rules or exemptions will not be applied and the transaction will default to fully taxable in the locations where you've indicated you need to collect tax [by way of nexus, no nexus, or seller registration number fields].\n" }, "productName": { "type": "string", "maxLength": 255, "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "productSku": { "type": "string", "maxLength": 255, "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" }, "quantity": { "type": "integer", "minimum": 1, "maximum": 999999999, "default": 1, "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "unitPrice": { "type": "string", "maxLength": 15, "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in the [Merchant Descriptors Using the SCMP API Guide.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Merchant_Descriptors_SCMP_API/html/)\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" }, "unitOfMeasure": { "type": "string", "maxLength": 12, "description": "Unit of measure, or unit of measure code, for the item.\n" }, "totalAmount": { "type": "string", "maxLength": 13, "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" }, "taxAmount": { "type": "string", "maxLength": 15, "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" }, "taxRate": { "type": "string", "maxLength": 7, "description": "Tax rate applied to the item.\n\nFor details, see `tax_rate` field description in the [Level II and Level III Processing Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" }, "taxAppliedAfterDiscount": { "type": "string", "maxLength": 1, "description": "Flag to indicate how you handle discount at the line item level.\n\n - 0: no line level discount provided\n - 1: tax was calculated on the post-discount line item total\n - 2: tax was calculated on the pre-discount line item total\n\n`Note` Visa will inset 0 (zero) if an invalid value is included in this field.\n\nThis field relates to the value in the _lineItems[].discountAmount_ field.\n" }, "taxStatusIndicator": { "type": "string", "maxLength": 1, "description": "Flag to indicate whether tax is exempted or not included.\n\n - 0: tax not included\n - 1: tax included\n - 2: transaction is not subject to tax\n" }, "taxTypeCode": { "type": "string", "maxLength": 4, "description": "Type of tax being applied to the item.\n\nFor possible values, see the processor-specific field descriptions in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/):\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" }, "amountIncludesTax": { "type": "boolean", "description": "Flag that indicates whether the tax amount is included in the Line Item Total.\n\nPossible values:\n - **true**\n - **false**\n" }, "typeOfSupply": { "type": "string", "maxLength": 2, "description": "Flag to indicate whether the purchase is categorized as goods or services.\nPossible values:\n\n - 00: goods\n - 01: services\n" }, "commodityCode": { "type": "string", "maxLength": 15, "description": "Commodity code or International description code used to classify the item. Contact your acquirer for a list of\ncodes.\n" }, "discountAmount": { "type": "string", "maxLength": 13, "description": "Discount applied to the item." }, "discountApplied": { "type": "boolean", "description": "Flag that indicates whether the amount is discounted.\n\nIf you do not provide a value but you set Discount Amount to a value greater than zero, then CyberSource sets\nthis field to **true**.\n\nPossible values:\n - **true**\n - **false**\n" }, "discountRate": { "type": "string", "maxLength": 6, "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" }, "invoiceNumber": { "type": "string", "maxLength": 23, "description": "Field to support an invoice number for a transaction. You must specify the number of line items that will\ninclude an invoice number. By default, the first line item will include an invoice number field. The invoice\nnumber field can be included for up to 10 line items.\n" }, "taxDetails": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n\nFor processor-specific details, see the `alternate_tax_amount`, `local_tax`, `national_tax` or `vat_tax_amount` field\ndescriptions in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "amount": { "type": "string", "maxLength": 13, "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" }, "rate": { "type": "string", "maxLength": 6, "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n\nFor processor-specific details, see the `alternate_tax_amount`, `vat_rate`, `vat_tax_rate`, `local_tax`, `national_tax`, `vat_tax_amount` or `other_tax#_rate` field descriptions in the [Level II and Level III Processing Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "code": { "type": "string", "maxLength": 4, "description": "Type of tax being applied to the item.\n\nFor possible values, see the processor-specific field descriptions in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/):\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" }, "taxId": { "type": "string", "maxLength": 15, "description": "Your tax ID number to use for the alternate tax amount. Required if you set alternate tax amount to any value,\nincluding zero. You may send this field without sending alternate tax amount.\n\nFor processor-specific details, see `alternate_tax_id` field description in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "applied": { "type": "boolean", "description": "Flag that indicates whether the alternate tax amount (`orderInformation.amountDetails.taxDetails[].amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: alternate tax amount is not included in the request.\n- `true`: alternate tax amount is included in the request.\n\nFor processor-specific details, see `alternate_tax_amount_indicator` field description in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "exemptionCode": { "type": "string", "maxLength": 1, "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n\nFor possible values and important information for using this field, see _Appendix B, \"Exemption\nStatus Values_ and _Offer-Level Tax Fields_ in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" } } } }, "fulfillmentType": { "type": "string", "description": "Information about the product code used for the line item.\nPossible values:\n- `E`: The product code is `electronic_software`.\n- `P`: The product code is not `electronic_software`.\n\nFor details, see the `fulfillmentType` field description in [Business Center Reporting User Guide.]\n(https://apps.cybersource.com/library/documentation/dev_guides/reporting_and_reconciliation/Reporting_User/html/)\n" }, "weight": { "type": "string", "maxLength": 9, "description": "Weight of the item.\n\nFor details, see `weight_amount` field description in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "weightIdentifier": { "type": "string", "maxLength": 1, "description": "Type of weight.\n\nPossible values:\n- B: Billed weight\n- N: Actual net weight\n\nFor details, see `weight_identifier` offer-level field description in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "weightUnit": { "type": "string", "maxLength": 2, "description": "Code that specifies the unit of measurement for the weight amount. For example, `OZ` specifies ounce and `LB` specifies pound. The possible values are defined by the ANSI Accredited Standards Committee (ASC).\n\nFor details, see `weight_unit_measurement` offer-level field description in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "referenceDataCode": { "type": "string", "maxLength": 150, "description": "Code that identifies the value of the corresponding `orderInformation.lineItems[].referenceDataNumber` field.\n\nPossible values:\n- AN: Client-defined asset code\n- MG: Manufacturer's part number\n- PO: Purchase order number\n- SK: Supplier stock keeping unit number\n- UP: Universal product code\n- VC: Supplier catalog number\n- VP: Vendor part number\n\nThis field is a pass-through, which means that CyberSource does not verify the value or modify it in any way\nbefore sending it to the processor.\n\nFor details, see `reference_data_#_code` field description in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "referenceDataNumber": { "type": "string", "maxLength": 30, "description": "Reference number.\n\nThe meaning of this value is identified by the value of the corresponding `referenceDataCode` field.\nSee Numbered Elements.\n\nThe maximum length for this field depends on the value of the corresponding `referenceDataCode` field:\n- When the code is `PO`, the maximum length for the reference number is 22.\n- When the code is `VC`, the maximum length for the reference number is 20.\n- For all other codes, the maximum length for the reference number is 30.\n\nThis field is a pass-through, which means that CyberSource does not verify the value or modify it in any way\nbefore sending it to the processor.\n" }, "unitTaxAmount": { "type": "string", "maxLength": 15, "description": "Per-item tax amount of the product.\nNote The amount value must be a non-negative number containing 2 decimal places and limited to 7 digits before the decimal point.\n" }, "productDescription": { "type": "string", "description": "Brief description of item." }, "giftCardCurrency": { "type": "integer", "maxLength": 3, "description": "When `orderInformation.lineItems[].productCode` is \"gift_card\", this is the\ncurrency used for the gift card purchase.\n\nFor details, see `pa_gift_card_currency` field description in [CyberSource Payer Authentication Using the SCMP API.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Payer_Authentication_SCMP_API/Payer_Authentication_SCMP_API.pdf)\n\nFor the possible values, see the [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n" }, "shippingDestinationTypes": { "type": "string", "maxLength": 50, "description": "Destination to where the item will be shipped. Example: Commercial, Residential, Store\n" }, "gift": { "type": "boolean", "description": "This field is only used in DM service.\n\nDetermines whether to assign risk to the order if the billing and shipping addresses specify different cities,\nstates, or countries. This field can contain one of the following values:\n- true: Orders are assigned only slight additional risk if billing and shipping addresses are different.\n- false: Orders are assigned higher additional risk if billing and shipping addresses are different.\n" }, "passenger": { "type": "object", "description": "Contains travel-related passenger details used by DM service only.", "properties": { "type": { "type": "string", "maxLength": 32, "description": "Passenger classification associated with the price of the ticket. You can use one of the following values:\n- `ADT`: Adult\n- `CNN`: Child\n- `INF`: Infant\n- `YTH`: Youth\n- `STU`: Student\n- `SCR`: Senior Citizen\n- `MIL`: Military\n" }, "status": { "type": "string", "maxLength": 32, "description": "Your company's passenger classification, such as with a frequent flyer program. In this case, you might use\nvalues such as `standard`, `gold`, or `platinum`.\n" }, "phone": { "type": "string", "maxLength": 15, "description": "Passenger's phone number. If the order is from outside the U.S., CyberSource recommends that you include\nthe [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" }, "firstName": { "type": "string", "maxLength": 60, "description": "Passenger's first name." }, "lastName": { "type": "string", "maxLength": 60, "description": "Passenger's last name." }, "id": { "type": "string", "maxLength": 40, "description": "ID of the passenger to whom the ticket was issued. For example, you can use this field for the frequent flyer\nnumber.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Passenger's email address, including the full domain name, such as jdoe@example.com." }, "nationality": { "type": "string", "maxLength": 2, "description": "Passenger's nationality country. Use the two character [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)." } } }, "allowedExportCountries": { "type": "array", "items": { "type": "string", "description": "Comma-separated list of ISO country codes for countries to which the product can be exported.\n\nFor all possible values, see the \"Country and Territory Postal System Categories\" section in the [CyberSource Verification Services Using the SCMP API.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Verification_Svcs_SCMP_API/html/)\n\nIf country codes are not specified, or if this field is not included, the U.S. government's country\ncode list is used.\n\n**Note** The default list of countries restricted by the U.S. always applies. Any country not\nspecifically added to the export field is considered restricted.\n" } }, "restrictedExportCountries": { "type": "array", "items": { "type": "string", "description": "Comma-separated list of ISO country codes for countries to which the product cannot be exported.\n\nFor all possible values, see the \"Country and Territory Postal System Categories\" section in the [CyberSource Verification Services Using the SCMP API.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Verification_Svcs_SCMP_API/html/)\n\n**Note** If the export field is also present, the content of the `restrictedExportCountries`\nfield overrides the content of export.\n" } } } } }, "invoiceDetails": { "type": "object", "properties": { "invoiceNumber": { "type": "string", "description": "Invoice Number." }, "barcodeNumber": { "type": "string", "description": "Barcode Number." }, "expirationDate": { "type": "string", "description": "Expiration Date." }, "purchaseOrderNumber": { "type": "string", "maxLength": 25, "description": "Value used by your customer to identify the order. This value is typically a purchase order number. CyberSource\nrecommends that you do not populate the field with all zeros or nines.\n\nFor processor-specific information, see the `user_po` field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "purchaseOrderDate": { "type": "string", "maxLength": 10, "description": "Date the order was processed. `Format: YYYY-MM-DD`.\n\nFor processor-specific information, see the `purchaser_order_date` field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "purchaseContactName": { "type": "string", "maxLength": 36, "description": "The name of the individual or the company contacted for company authorized purchases.\n\nFor processor-specific information, see the `authorized_contact_name` field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "taxable": { "type": "boolean", "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nFor processor-specific information, see the `tax_indicator` field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n\nPossible values:\n - **true**\n - **false**\n" }, "vatInvoiceReferenceNumber": { "type": "string", "maxLength": 15, "description": "VAT invoice number associated with the transaction.\n\nFor processor-specific information, see the `vat_invoice_ref_number` field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "commodityCode": { "type": "string", "maxLength": 4, "description": "International description code of the overall order's goods or services or the Categorizes purchases for VAT\nreporting. Contact your acquirer for a list of codes.\n\nFor processor-specific information, see the `summary_commodity_code` field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "merchandiseCode": { "type": "integer", "description": "Identifier for the merchandise. This field is supported only on the processors listed in this field description.\n\n#### American Express Direct\nPossible value:\n- 1000: Gift card\n\n#### CyberSource through VisaNet\nThis value must be right justified. In Japan, this value is called a _goods code_.\n\n#### JCN Gateway\nThis value must be right justified. In Japan, this value is called a _goods code_.\n" }, "transactionAdviceAddendum": { "type": "array", "items": { "type": "object", "properties": { "data": { "type": "string", "maxLength": 40, "description": "Four Transaction Advice Addendum (TAA) fields. These fields are used to display descriptive information\nabout a transaction on the customer's American Express card statement. When you send TAA fields, start\nwith amexdata_taa1, then ...taa2, and so on. Skipping a TAA field causes subsequent TAA fields to be\nignored.\n\nTo use these fields, contact CyberSource Customer Support to have your account enabled for this feature.\n" } } } }, "referenceDataCode": { "type": "string", "maxLength": 3, "description": "Code that identifies the value of the `referenceDataNumber` field.\n\nFor the possible values, see \"Reference Data Codes\" in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/).\n\nThis field is a pass-through, which means that CyberSource does not verify the value or modify it in any way\nbefore sending it to the processor.\n" }, "referenceDataNumber": { "type": "string", "maxLength": 30, "description": "Reference number. The meaning of this value is identified by the value of the `referenceDataCode` field.\n\nThis field is a pass-through, which means that CyberSource does not verify the value or modify it in any way\nbefore sending it to the processor.\n" }, "salesSlipNumber": { "type": "integer", "maximum": 99999, "description": "Transaction identifier that is generated. You have the option of printing the sales slip number on the receipt.\nThis field is supported only on Cybersource through Visanet and JCN gateway.\n\nOptional field.\n\n#### Card Present processing message\nIf you included this field in the request, the returned value is the value that you sent in the request.\nIf you did not include this field in the request, the system generated this value for you.\n\nThe difference between this reply field and the `processorInformation.systemTraceAuditNumber` field is that the\nsystem generates the system trace audit number (STAN), and you must print the receipt number on the receipt;\nwhereas you can generate the sales slip number, and you can choose to print the sales slip number on the receipt.\n" }, "invoiceDate": { "type": "string", "maxLength": 8, "description": "Date of the tax calculation. Use format YYYYMMDD. You can provide a date in the past if you are calculating tax for a refund and want to know what the tax was on the date the order was placed.\nYou can provide a date in the future if you are calculating the tax for a future date, such as an upcoming tax holiday.\n\nThe default is the date, in Pacific time, that the bank receives the request.\nKeep this in mind if you are in a different time zone and want the tax calculated with the rates that are applicable on a specific date.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "costCenter": { "type": "string", "maxLength": 25, "description": "Cost centre of the merchant" }, "issuerMessage": { "type": "string", "maxLength": 41, "description": "Text message from the issuer. If you give the customer a receipt, display this value on the receipt." }, "productDescription": { "type": "string", "description": "Brief description of item." } } }, "shippingDetails": { "type": "object", "description": "Contains shipping information not related to address.", "properties": { "giftWrap": { "type": "boolean", "description": "Boolean that indicates whether the customer requested gift wrapping for this\npurchase. This field can contain one of the following\nvalues:\n- true: The customer requested gift wrapping.\n- false: The customer did not request gift wrapping.\n" }, "shippingMethod": { "type": "string", "maxLength": 10, "description": "Shipping method for the product. Possible values:\n\n - `lowcost`: Lowest-cost service\n - `sameday`: Courier or same-day service\n - `oneday`: Next-day or overnight service\n - `twoday`: Two-day service\n - `threeday`: Three-day service\n - `pickup`: Store pick-up\n - `other`: Other shipping method\n - `none`: No shipping method because product is a service or subscription\n" }, "shipFromPostalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the address from which the goods are shipped, which is used to establish nexus. The default is\nthe postal code associated with your CyberSource account.\n\nThe postal code must consist of 5 to 9 digits. When the billing country is the U.S., the 9-digit postal code\nmust follow this format:\n\n`[5 digits][dash][4 digits]`\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n\n`[alpha][numeric][alpha][space] [numeric][alpha][numeric]`\n\nExample A1B 2C3\n\nThis field is frequently used for Level II and Level III transactions.\n" } } }, "returnsAccepted": { "type": "boolean", "description": "This is only needed when you are requesting both payment and DM service at same time.\n\nBoolean that indicates whether returns are accepted for this order.\nThis field can contain one of the following values:\n- true: Returns are accepted for this order.\n- false: Returns are not accepted for this order.\n" }, "isCryptocurrencyPurchase": { "type": "string", "description": "#### Visa Platform Connect :\nThis API will contain the Flag that specifies whether the payment is for the purchase of cryptocurrency.\nAdditional values to add :\nThis API will contain the Flag that specifies whether the payment is for the purchase of cryptocurrency.\nvalid values are\n- Y/y, true\n- N/n, false\n" }, "cutoffDateTime": { "type": "string", "description": "Starting date and time for an event or a journey that is independent of which transportation mechanism, in UTC. The cutoffDateTime will supersede travelInformation.transit.airline.legs[].departureDate and travelInformation.transit.airline.legs[].departureTime if these fields are supplied in the request.\nFormat: YYYY-MM-DDThh:mm:ssZ. Example 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the time. The Z indicates UTC.\n" }, "preOrder": { "type": "string", "description": "Indicates whether cardholder is placing an order with a future availability or release date.\nThis field can contain one of these values:\n- MERCHANDISE_AVAILABLE: Merchandise available\n- FUTURE_AVAILABILITY: Future availability\n" }, "preOrderDate": { "type": "string", "maxLength": 10, "description": "Expected date that a pre-ordered purchase will be available. Format: YYYYMMDD\n" }, "reordered": { "type": "boolean", "description": "Indicates whether the cardholder is reordering previously purchased merchandise.\nThis field can contain one of these values:\n- false: First time ordered\n- true: Reordered\n" }, "totalOffersCount": { "type": "string", "maxLength": 2, "description": "Total number of articles/items in the order as a numeric decimal count.\nPossible values: 00 - 99\n" } } }, "buyerInformation": { "type": "object", "properties": { "merchantCustomerId": { "type": "string", "maxLength": 100, "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n\nFor processor-specific information, see the `customer_account_id` field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "dateOfBirth": { "type": "string", "maxLength": 8, "description": "Recipient's date of birth. **Format**: `YYYYMMDD`.\n\nThis field is a `pass-through`, which means that CyberSource ensures that the value is eight numeric characters\nbut otherwise does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n\nFor more details, see `recipient_date_of_birth` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "vatRegistrationNumber": { "type": "string", "maxLength": 20, "description": "Customer's government-assigned tax identification number.\n\n#### Tax Calculation\nOptional for international and value added taxes only. Not applicable to U.S. and Canadian taxes.\n\nFor processor-specific information, see the purchaser_vat_registration_number field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "companyTaxId": { "type": "string", "maxLength": 9, "description": "Company's tax identifier. This is only used for eCheck service.\n\n** TeleCheck **\nContact your TeleCheck representative to find out whether this field is required or optional.\n\n** All Other Processors **\nNot used.\n" }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "The type of the identification.\n\nPossible values:\n - `NATIONAL`\n - `CPF`\n - `CPNJ`\n - `CURP`\n - `SSN`\n - `DRIVER_LICENSE`\n - `PASSPORT_NUMBER`\n - `PERSONAL_ID`\n - `TAX_ID`\n\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\nFor processor-specific information, see the `personal_id` field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\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.\n\nFor processor-specific information, see the `personal_id` field in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n \nIf `type = PASSPORT`, this is the cardholder's passport number.\nRecommended for Discover ProtectBuy.\n" }, "issuedBy": { "type": "string", "description": "The government agency that issued the driver's license or passport.\n\nIf **type**` = DRIVER_LICENSE`, this is the State or province where the customer's driver's license was issued.\n\nIf **type**` = PASSPORT`, this is the Issuing country for the cardholder's passport. Recommended for Discover ProtectBuy.\n\nUse the two-character [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\n#### TeleCheck\nContact your TeleCheck representative to find out whether this field is required or optional.\n\n#### All Other Processors\nNot used.\n\nFor details about the country that issued the passport, see `customer_passport_country` field description in [CyberSource Payer Authentication Using the SCMP API]\n(https://apps.cybersource.com/library/documentation/dev_guides/Payer_Authentication_SCMP_API/html/)\n\nFor details about the state or province that issued the passport, see `driver_license_state` field description in [Electronic Check Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" }, "verificationResults": { "type": "string", "description": "Verification results received from Issuer or Card Network for verification transactions. Response Only Field.\n" } } } }, "hashedPassword": { "type": "string", "maxLength": 100, "description": "The merchant's password that CyberSource hashes and stores as a hashed password.\n\nFor details about this field, see the `customer_password` field description in _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "gender": { "type": "string", "maxLength": 3, "description": "Customer's gender. Possible values are F (female), M (male),O (other)." }, "language": { "type": "string", "maxLength": 2, "description": "language setting of the user" }, "noteToSeller": { "type": "string", "maxLength": 255, "description": "Note to the recipient of the funds in this transaction" }, "mobilePhone": { "type": "integer", "maxLength": 25, "description": "Cardholder's mobile phone number.\n**Important** Required for Visa Secure transactions in Brazil.\nDo not use this request field for any other types of transactions.\n" }, "walletId": { "type": "string", "maxLength": 150, "description": "The one-time identification code of the Alipay wallet user. \nIt is scanned from the barcode that is shown by the mobile application.\n" } } }, "recipientInformation": { "type": "object", "properties": { "accountId": { "type": "string", "maxLength": 10, "description": "Identifier for the recipient's account. Use the first six digits and last four digits of the recipient's account\nnumber. This field is a _pass-through_, which means that CyberSource does not verify the value or modify it in\nany way before sending it to the processor. If the field is not required for the transaction, CyberSource does\nnot forward it to the processor.\n\nFor details, see the `recipient_account_id` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "lastName": { "type": "string", "maxLength": 35, "description": "Recipient's last name. This field is a _passthrough_, which means that CyberSource does not verify the value or\nmodify it in any way before sending it to the processor. If the field is not required for the transaction,\nCyberSource does not forward it to the processor.\n\nFor details, see the `recipient_lastname` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "middleName": { "type": "string", "maxLength": 35, "description": "Recipient's middle name. This field is a _passthrough_, which means that CyberSource does not verify the value or\nmodify it in any way before sending it to the processor. If the field is not required for the transaction,\nCyberSource does not forward it to the processor.\n\nFor details, see the `recipient_middlename` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Partial postal code for the recipient's address. For example, if the postal code is **NN5 7SG**, the value for\nthis field should be the first part of the postal code: **NN5**. This field is a _pass-through_, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n\nFor details, see the `recipient_postal_code` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "dateOfBirth": { "type": "string", "maxLength": 8, "description": "Recipient's date of birth. **Format**: `YYYYMMDD`.\n\nThis field is a `pass-through`, which means that CyberSource ensures that the value is eight numeric characters\nbut otherwise does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n\nFor more details, see `recipient_date_of_birth` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "beneficiaryId": { "type": "string", "maxLength": 255, "description": "Only for e-wallets: ID, username, hash or anything uniquely identifying\nthe ultimate beneficiary.\n" }, "beneficiaryName": { "type": "string", "maxLength": 255, "description": "Only for e-wallets: The ultimate beneficiary's full name.\n" }, "beneficiaryAddress": { "type": "string", "maxLength": 255, "description": "Only for e-wallets: The ultimate beneficiary's street address (street,\nzip code, city), excluding the country. Example: \"Main street 1, 12345,\nBarcelona\n" } } }, "deviceInformation": { "type": "object", "properties": { "id": { "type": "string", "description": "Value created by the client software that uniquely identifies the POS device.\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to\nthe CyberSource reporting functionality.\n\nThis field is supported only for authorizations and credits on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\nString (32)\n" }, "hostName": { "type": "string", "maxLength": 60, "description": "DNS resolved hostname from `ipAddress`." }, "ipAddress": { "type": "string", "maxLength": 45, "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" }, "userAgent": { "type": "string", "maxLength": 40, "description": "Customer's browser as identified from the HTTP header data. For example, `Mozilla` is the value that identifies\nthe Netscape browser.\n" }, "fingerprintSessionId": { "type": "string", "description": "Field that contains the session ID that you send to Decision Manager to obtain the device fingerprint\ninformation. The string can contain uppercase and lowercase letters, digits, hyphen (-), and\nunderscore (_). However, do not use the same uppercase and lowercase letters to indicate\ndifferent session IDs.\n\nThe session ID must be unique for each merchant ID. You can use any string that you are already\ngenerating, such as an order number or web session ID.\n\nThe session ID must be unique for each page load, regardless of an individual's web session ID.\nIf a user navigates to a profiled page and is assigned a web session, navigates away from the\nprofiled page, then navigates back to the profiled page, the generated session ID should be different\nand unique. You may use a web session ID, but it is preferable to use an application GUID (Globally\nUnique Identifier). This measure ensures that a unique ID is generated every time the page is\nloaded, even if it is the same user reloading the page.\n" }, "useRawFingerprintSessionId": { "type": "boolean", "description": "Boolean that indicates whether request contains the device fingerprint information.\nValues:\n- `true`: Use raw fingerprintSessionId when looking up device details.\n- `false` (default): Use merchant id + fingerprintSessionId as the session id for Device detail collection.\n" }, "deviceType": { "type": "string", "maxLength": 60, "description": "The device type at the client side." }, "appUrl": { "type": "string", "description": "This field will contain the deep link that would help the Customer App to wake up.\n" }, "metadata": { "type": "string", "maxLength": 36, "description": "Verifies that the payment is originating from a valid, user-approved application and device. Sending this field helps reduce fraud and declined transactions.\nNote The length is set for a hexadecimal representation of the GUID/UUID. This field accepts a 36-character string (with hyphens) or a 32-character string (without hyphens).\nExample 123e4567-e89b-12d3-a456-426655440000\nExample 123e4567e89b12d3a456426655440000\n" }, "rawData": { "type": "array", "items": { "type": "object", "properties": { "data": { "type": "string", "description": "Field that contains the device fingerprint data from the specified provider. The value should be Base64 encoded.\n" }, "provider": { "type": "string", "maxLength": 32, "description": "Possible values:\n- cardinal\n- inauth\n- threatmetrix\n" } } } }, "httpAcceptBrowserValue": { "type": "string", "maxLength": 255, "description": "Value of the Accept header sent by the customer's web browser.\n**Note** If the customer's browser provides a value, you must include it in your request.\n" }, "httpAcceptContent": { "type": "string", "maxLength": 256, "description": "The exact content of the HTTP accept header.\n" }, "httpBrowserEmail": { "type": "string", "description": "Email address set in the customer's browser, which may differ from customer email.\n" }, "httpBrowserLanguage": { "type": "string", "maxLength": 8, "description": "Value represents the browser language as defined in IETF BCP47.\nExample:en-US, refer https://en.wikipedia.org/wiki/IETF_language_tag for more details.\n" }, "httpBrowserJavaEnabled": { "type": "boolean", "description": "A Boolean value that represents the ability of the cardholder browser to execute Java.\nValue is returned from the navigator.javaEnabled property. Possible Values:True/False\n" }, "httpBrowserJavaScriptEnabled": { "type": "boolean", "description": "A Boolean value that represents the ability of the cardholder browser to execute JavaScript. Possible Values:True/False.\n**Note**: Merchants should be able to know the values from fingerprint details of cardholder's browser.\n" }, "httpBrowserColorDepth": { "type": "string", "maxLength": 2, "description": "Value represents the bit depth of the color palette for displaying images, in bits per pixel.\nExample : 24, refer https://en.wikipedia.org/wiki/Color_depth for more details\n" }, "httpBrowserScreenHeight": { "type": "string", "maxLength": 6, "description": "Total height of the Cardholder's scree in pixels, example: 864.\n" }, "httpBrowserScreenWidth": { "type": "string", "maxLength": 6, "description": "Total width of the cardholder's screen in pixels. Example: 1536.\n" }, "httpBrowserTimeDifference": { "type": "string", "maxLength": 5, "description": "Time difference between UTC time and the cardholder browser local time, in minutes, Example:300\n" }, "userAgentBrowserValue": { "type": "string", "maxLength": 255, "description": "Value of the User-Agent header sent by the customer's web browser.\nNote If the customer's browser provides a value, you must include it in your request.\n" } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "name": { "type": "string", "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" }, "alternateName": { "type": "string", "maxLength": 13, "description": "An alternate name for the merchant.\n\nFor the descriptions, used-by information, data types, and lengths for these fields, see the `merchant_descriptor_alternate` field description\nin [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)-->\n" }, "contact": { "type": "string", "maxLength": 14, "description": "For the descriptions, used-by information, data types, and lengths for these fields, see `merchant_descriptor_contact` field description\nin [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)-->\nContact information for the merchant.\n\n**Note** These are the maximum data lengths for the following payment processors:\n- FDCCompass (13)\n- Paymentech (13)\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of merchant's address. For the descriptions, used-by information, data types, and lengths for these fields, see `merchant_descriptor_street` field description\nin [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "locality": { "type": "string", "maxLength": 13, "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" }, "country": { "type": "string", "maxLength": 2, "description": "Merchant's country.\n\n#### PIN debit\nCountry code for your business location. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\nThis value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n**Note** If your business is located in the U.S. or Canada and you include this field in a\nrequest, you must also include `merchantInformation.merchantDescriptor.administrativeArea`.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "postalCode": { "type": "string", "maxLength": 14, "description": "Merchant's postal code.\n\n#### PIN debit\nPostal code for your business location. This value might be displayed on the cardholder's statement.\n\nIf your business is domiciled in the U.S., you can use a 5-digit or 9-digit postal code. A 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\nExample: `12345-6789`\n\nIf your business is domiciled in Canada, you can use a 6-digit or 9-digit postal code. A 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space]\n[numeric][alpha][numeric]\nExample: `A1B 2C3`\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n**Important** Mastercard requires a postal code for any country that uses postal codes.\nYou can provide the postal code in your account or you can include this field in your request.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "administrativeArea": { "type": "string", "description": "The state where the merchant is located.\n\n#### PIN debit\nState code or region code for your business. Use the Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "phone": { "type": "string", "maxLength": 13, "description": "Merchant phone as contact information for CNP transactions\n" }, "url": { "type": "string", "maxLength": 255, "description": "Address of company's website provided by merchant\n" }, "countryOfOrigin": { "type": "string", "maxLength": 2, "description": "#### Visa Platform Connect\nThis field will indicate merchant country of origin\n" }, "storeId": { "type": "string", "maxLength": 50, "description": "The identifier of the store.\n" }, "storeName": { "type": "string", "maxLength": 50, "description": "The name of the store.\n" }, "customerServicePhoneNumber": { "type": "string", "maxLength": 27, "description": "#### Visa Platform Connect\nIndicates customer service phone number of Merchant.\n" } } }, "domainName": { "type": "string", "maxLength": 127, "description": "This field will contain either the merchant url or the reverse domain as per the requirement for DSRP Format 3. This might vary transaction to transaction and might not be static. Merchant needs to have access to send this value for all DSRP program.\n" }, "salesOrganizationId": { "type": "string", "maxLength": 11, "description": "Company ID assigned to an independent sales organization. Get this value from Mastercard.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 106-116\n- Field: Independent Sales Organization ID\n\nThis field is supported for Visa, Mastercard and Discover Transactions.\n\n**Note** The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n\nFor processor-specific information, see the `sales_organization_ID` field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "categoryCode": { "type": "integer", "maximum": 9999, "description": "The value for this field is a four-digit number that the payment card industry uses to classify\nmerchants into market segments. A payment card company assigned one or more of these values to your business when you started\naccepting the payment card company's cards. When you do not include this field in your request, CyberSource uses the value in your\nCyberSource account.\n\nFor processor-specific information, see the `merchant_category_code` field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR4\n- Position: 150-153\n- Field: Merchant Category Code\n" }, "categoryCodeDomestic": { "type": "integer", "maximum": 9999, "description": "Merchant category code for domestic transactions. The value for this field is a four-digit number that the payment\ncard industry uses to classify merchants into market segments. A payment card company assigned one or more of these\nvalues to your business when you started accepting the payment card company's cards. Including this field in a request\nfor a domestic transaction might reduce interchange fees.\n\nWhen you include this field in a request:\n- Do not include the `merchant_category_code` field.\n- The value for this field overrides the value in your CyberSource account.\n\nThis field is supported only for:\n- Domestic transactions with Mastercard in Spain. Domestic means that you and the cardholder are in the same country.\n- Merchants enrolled in the OmniPay Direct interchange program.\n- First Data Merchant Solutions (Europe) on OmniPay Direct.\n" }, "taxId": { "type": "string", "maxLength": 15, "description": "Your Cadastro Nacional da Pessoa Jur\u00eddica (CNPJ) number.\n\nThis field is supported only for BNDES transactions on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR6\n- Position: 40-59\n- Field: BNDES Reference Field 1\n\nFor details, see `bill_merchant_tax_id` field description in the [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "vatRegistrationNumber": { "type": "string", "maxLength": 21, "description": "Your government-assigned tax identification number.\n\n#### Tax Calculation\nRequired field for value added tax only. Not applicable to U.S. and Canadian taxes.\n\n#### CyberSource through VisaNet\nFor CtV processors, the maximum length is 20.\n\nFor other processor-specific information, see the `merchant_vat_registration_number` field description in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "cardAcceptorReferenceNumber": { "type": "string", "maxLength": 25, "description": "Reference number that facilitates card acceptor/corporation communication and record keeping.\n\nFor processor-specific information, see the `card_acceptor_ref_number` field description in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "transactionLocalDateTime": { "type": "string", "maxLength": 14, "description": "Date and time at your physical location.\n\nFormat: `YYYYMMDDhhmmss`, where:\n - `YYYY` = year\n - `MM` = month\n - `DD` = day\n - `hh` = hour\n - `mm` = minutes\n - `ss` = seconds\n\n#### Used by\n**Authorization**\nRequired for these processors:\n- American Express Direct - American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- SIX\n\nOptional for all other processors.\n" }, "serviceFeeDescriptor": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 22, "description": "Name of the service provider that is collecting the service fee. The service provider name must consist of\n3, 7, or 12 characters followed by an asterisk (*). This value must also include the words \"Service Fee.\"\n\nWhen you include more than one consecutive space, extra spaces are removed. Use one of the following formats\nfor this value:\n- <3-character name>*Service Fee\n- <7-character name>*Service Fee\n- <12-character name>*Service Fee\n\nWhen payments are made in installments, this value must also include installment information such as\n\"1 of 5\" or \"3 of 7.\" For installment payments, use one of the following formats for this value:\n- <3-character name>*Service Fee* of \n- <7-character name>*Service Fee* of \n- <12-character name>*Service Fee* of \n\nwhere is the payment number and is the total number of payments.\n\nWhen you do not include this value in your request, CyberSource uses the value that is in your CyberSource\naccount.\n\nThis value might be displayed on the cardholder's statement.\n" }, "contact": { "type": "string", "maxLength": 11, "description": "Contact information for the service provider that is collecting the service fee. when you include more than one\nconsecutive space, extra spaces are removed.\n\nWhen you do not include this value in your request, CyberSource uses the value that is in your CyberSource account.\n\nThis value might be displayed on the cardholder's statement.\n" }, "state": { "type": "string", "maxLength": 20, "description": "State or territory in which the service provider is located.\n\nWhen you do not include this value in your request, CyberSource uses the value that is in your CyberSource account.\n\nThis value might be displayed on the cardholder's statement.\n" } } }, "cancelUrl": { "type": "string", "maxLength": 255, "description": "customer would be redirected to this url based on the decision of the transaction" }, "successUrl": { "type": "string", "maxLength": 255, "description": "customer would be redirected to this url based on the decision of the transaction" }, "failureUrl": { "type": "string", "maxLength": 255, "description": "customer would be redirected to this url based on the decision of the transaction" }, "returnUrl": { "type": "string", "maxLength": 255, "minLength": 7, "description": "URL for displaying payment results to the consumer (notifications) after the transaction is processed. Usually this URL belongs to merchant and its behavior is defined by merchant\n" }, "partnerIdCode": { "type": "string", "maxLength": 10, "description": "#### Visa Platform Connect\nThis field may be used for transactions on accounts issued under co-branding agreements when one of the\nco-branding partners.\n" }, "serviceLocation": { "type": "object", "properties": { "locality": { "type": "string", "maxLength": 20, "description": "#### Visa Platform Connect\n\nMerchant's service location city name. When merchant provides services from a location other than the location identified as merchant location.\n" }, "countrySubdivisionCode": { "type": "string", "maxLength": 9, "description": "#### Visa Platform Connect\n\nMerchant's service location country subdivision code. When merchant provides services from a location other than the location identified as merchant location.\n" }, "countryCode": { "type": "string", "maxLength": 3, "description": "#### Visa Platform Connect\n\nMerchant's service location country code. When merchant provides services from a location other than the location identified as merchant location.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "#### Visa Platform Connect\n\nMerchant's service location postal code. When merchant provides services from a location other than the location identified as merchant location.\n" } } }, "noteToBuyer": { "type": "string", "maxLength": 165, "description": "Free-form text field.\n" }, "merchantName": { "type": "string", "maxLength": 25, "description": "Use this field only if you are requesting payment with Payer Authentication serice together.\n\nYour company's name as you want it to appear to the customer in the issuing bank's authentication form.\nThis value overrides the value specified by your merchant bank.\n" } } }, "aggregatorInformation": { "type": "object", "properties": { "aggregatorId": { "type": "string", "maxLength": 20, "description": "Value that identifies you as a payment aggregator. Get this value from the\nprocessor.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR6\n- Position: 95-105\n- Field: Payment Facilitator ID\n\nThis field is supported for Visa, Mastercard and Discover Transactions.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n\nFor processor-specific information, see the `aggregator_id` field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "name": { "type": "string", "maxLength": 37, "description": "Your payment aggregator business name.\n\n**American Express Direct**\\\nThe maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters.\\\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n\nFor processor-specific information, see the aggregator_name field in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "subMerchant": { "type": "object", "properties": { "cardAcceptorId": { "type": "string", "maxLength": 15, "description": "Unique identifier assigned by the payment card company to the sub-merchant." }, "id": { "type": "string", "maxLength": 20, "description": "The ID you assigned to your sub-merchant.\nCyberSource through VisaNet: For American Express transaction, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 65-84\n- Field: American Express Seller ID\nFor Mastercard transactions, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 117-131\n- Field: Sub-Merchant ID\nFDC Compass: This value must consist of uppercase characters.\n\nAmerican Express Direct: String (20)\nCyberSource through VisaNet with American Express: String (20)\nCyberSource through VisaNet with Visa,Mastercard and Discover: String (15)\nFDC Compass: String (20)\nFDC Nashville Global: String (14)\n" }, "name": { "type": "string", "maxLength": 37, "description": "Sub-merchant's business name.\n\n#### American Express Direct\nThe maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters.\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n\n#### FDC Nashville Global\nWith Mastercard, the maximum length of the sub-merchant name depends on the length of the aggregator name:\n- If aggregator name length is 1 through 3, maximum sub-merchant name length is 21.\n- If aggregator name length is 4 through 7, maximum sub-merchant name length is 17.\n- If aggregator name length is 8 through 12, maximum sub-merchant name length is 12.\n" }, "address1": { "type": "string", "maxLength": 38, "description": "First line of the sub-merchant's street address.\n\nFor processor-specific details, see `submerchant_street` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "locality": { "type": "string", "maxLength": 21, "description": "Sub-merchant's city.\n\nFor processor-specific details, see `submerchant_city` request field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "administrativeArea": { "type": "string", "maxLength": 3, "description": "Sub-merchant's state or province.\n\nFor possible values and also aggregator support, see `submerchant_state` request field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "region": { "type": "string", "maxLength": 3, "description": "Sub-merchant's region.\n\n**Example**\\\n`NE` indicates that the sub-merchant is in the northeast region.\n\nFor processor-specific details, see `submerchant_region` request field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "postalCode": { "type": "string", "maxLength": 15, "description": "Partial postal code for the sub-merchant's address.\n\nFor processor-specific details, see `submerchant_postal_code` request field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "country": { "type": "string", "maxLength": 3, "description": "Sub-merchant's country. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n\nFor details, see the `submerchant_country` request-level field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "email": { "type": "string", "maxLength": 40, "description": "Sub-merchant's email address.\n\n**Maximum length for processors**\n\n - American Express Direct: 40\n - CyberSource through VisaNet: 40\n - FDC Compass: 40\n - FDC Nashville Global: 19\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 25-64\n- Field: American Express Seller E-mail Address\n\n**Note** The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" }, "phoneNumber": { "type": "string", "maxLength": 20, "description": "Sub-merchant's telephone number.\n\n**Maximum length for procesors**\n\n - American Express Direct: 20\n - CyberSource through VisaNet: 20\n - FDC Compass: 13\n - FDC Nashville Global: 10\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCRB\n- Position: 5-24\n- Field: American Express Seller Telephone Number\n\n**FDC Compass**\\\nThis value must consist of uppercase characters. Use one of these recommended formats:\\\n`NNN-NNN-NNNN`\\\n`NNN-AAAAAAA`\n" } } } } }, "consumerAuthenticationInformation": { "type": "object", "properties": { "cavv": { "type": "string", "maxLength": 40, "description": "Cardholder authentication verification value (CAVV)." }, "transactionFlowIndicator": { "type": "string", "maxLength": 2, "description": "This field details out the type of transaction. Below are the possible values.\n08:GC- Guest Checkout.\n" }, "cavvAlgorithm": { "type": "string", "maxLength": 1, "description": "Algorithm used to generate the CAVV for Visa Secure or the UCAF authentication data for Mastercard Identity Check.\n" }, "eciRaw": { "type": "string", "maxLength": 2, "description": "Raw electronic commerce indicator (ECI).\n\nFor details, see `eci_raw` request field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "paresStatus": { "type": "string", "maxLength": 1, "description": "Payer authentication response status.\n\nFor details, see `pares_status` request field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "veresEnrolled": { "type": "string", "maxLength": 1, "description": "Verification response enrollment status.\n\nFor details, see `veres_enrolled` request field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "xid": { "type": "string", "maxLength": 40, "description": "Transaction identifier.\n\nFor details, see `xid` request field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "ucafCollectionIndicator": { "type": "string", "maxLength": 1, "description": "Universal cardholder authentication field (UCAF) collection indicator.\n\nFor details, see `ucaf_collection_indicator` request field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR7\n- Position: 5\n- Field: Mastercard Electronic Commerce Indicators\u2014UCAF Collection Indicator\n" }, "ucafAuthenticationData": { "type": "string", "maxLength": 32, "description": "Universal cardholder authentication field (UCAF) data.\n\nFor details, see `ucaf_authentication_data` request field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "strongAuthentication": { "type": "object", "properties": { "lowValueExemptionIndicator": { "type": "string", "maxLength": 1, "description": "This field will contain the low value exemption indicator with one of the following values:\nPossible values:\n- `0` ( low value exemption does not apply to the transaction)\n- `1` (Transaction exempt from SCA as the merchant/acquirer has determined it to be a low value payment)\n" }, "riskAnalysisExemptionIndicator": { "type": "string", "maxLength": 1, "description": "This field will contain the transaction risk analysis exemption indicator with one of the following values:\nPossible values:\n- `0` (TRA exemption does not apply to the transaction)\n- `1` (Transaction exempt from SCA as the merchant/acquirer has determined it to be low risk in accordance with the criteria defined by PSD2/RTS)\n" }, "trustedMerchantExemptionIndicator": { "type": "string", "maxLength": 1, "description": "Possible values:\n- `0` (Trusted merchant exemption does not apply to the transaction)\n- `1` (Transaction exempt from SCA as it originated at a merchant trusted by the cardholder)\n" }, "secureCorporatePaymentIndicator": { "type": "string", "maxLength": 1, "description": "This field will contain the secure corporate payment exemption indicator with one of the following values:\nPossible values:\n- `0` (SCA exemption does not apply to the transaction)\n- `1` (Transaction exempt from SCA as the merchant/acquirer has determined it as a secure corporate payment)\n" }, "delegatedAuthenticationExemptionIndicator": { "type": "string", "maxLength": 1, "description": "This field will contain the delegated authentication exemption indicator with one of the following values:\nPossible values:\n- `0` (delegated Authentication exemption does not apply to the transaction)\n- `1` (Transaction exempt from SCA as authentication has been delegated to other provider (PSP,Acquirer))\n" }, "outageExemptionIndicator": { "type": "string", "maxLength": 1, "description": "This field will contain the outage exemption indicator with one of the following values:\nPossible values:\n- `0` (Outage Authentication exemption does not apply to the transaction)\n- `1` (Outage exempt from SCA as authentication could not be done due to outage)\n" }, "authenticationIndicator": { "type": "string", "maxLength": 2, "description": "Indicates the type of Authentication request\n\n01 - Payment transaction\n\n02 - Recurring transaction\n\n03 - Installment transaction\n\n04 - Add card\n\n05 - Maintain card\n\n06 - Cardholder verification as part of EMV token ID and V\n" } } }, "directoryServerTransactionId": { "type": "string", "maxLength": 36, "description": "The Directory Server Transaction ID is generated by the Mastercard Directory Server during the authentication transaction and passed back to the merchant with the authentication results.\nFor Cybersource Through Visanet Gateway:\nThe value for this field corresponds to the following data in the TC 33 capture file3: Record: CP01 TCR7, Position: 114-149, Field: MC AVV Verification\u2014Directory Server Transaction ID\n" }, "paSpecificationVersion": { "type": "string", "maxLength": 1, "description": "This field contains 3DS version that was used for Secured Consumer Authentication (SCA). For example 3DS secure version 1.0.2 or 2.0.0 is used for Secured Consumer Authentication.\nFor Cybersource Through Visanet Gateway:\nThe value for this field corresponds to the following data in the TC 33 capture file3: Record: CP01 TCR7, Position: 113 , Field: MC AVV Verification\u2014Program Protocol\nIt will contain one of the following values:\n- `1` (3D Secure Version 1.0 (3DS 1.0))\n- `2` (EMV 3-D Secure (3DS 2.0))\n\nFor Cybersource connection through Visanet, below are additional values to be supported.\n\n- `2.1.0` (EMV 3D Secure Version 2.1)\n- `2.2.0` (EMV 3D Secure Version 2.2)\n- `2.3.0` (EMV 3D Secure Version 2.3)\n- `2.4.0` (EMV 3D Secure Version 2.4)\n- `2.5.0` (EMV 3D Secure Version 2.5)\n- `2.6.0` (EMV 3D Secure Version 2.6)\n- `2.7.0` (EMV 3D Secure Version 2.7)\n- `2.8.0` (EMV 3D Secure Version 2.8)\n- `2.9.0` (EMV 3D Secure Version 2.9)\n" }, "authenticationType": { "type": "string", "maxLength": 2, "description": "Indicates the type of authentication that will be used to challenge the card holder.\n\nPossible Values:\n\n01 - Static\n\n02 - Dynamic\n\n03 - OOB (Out of Band)\n\n04 - Decoupled\n\n20 - OTP hosted at merchant end. (Rupay S2S flow)\n**NOTE**: EMV 3-D Secure version 2.1.0 supports values 01-03. Version 2.2.0 supports values 01-04. Decoupled authentication is not supported at this time.\n" }, "responseAccessToken": { "type": "string", "description": "JWT returned by the 3D Secure provider when the authentication is complete. Required for Hybrid integration if you use the Cybersource-generated access token. Note: Max. length of this field is 2048 characters.\n" }, "acsTransactionId": { "type": "string", "maxLength": 36, "description": "Unique transaction identifier assigned by the ACS to identify a single transaction.\n\nThis field is supported for Cartes Bancaires Fast'R transactions on Credit Mutuel-CIC.\n" }, "acsWindowSize": { "type": "string", "maxLength": 2, "description": "An override field that a merchant can pass in to set the challenge window size to display to the end cardholder. The ACS (Active Control Server) will reply with content that is formatted appropriately to this window size to allow for the best user experience. The sizes are width x height in pixels of the window displayed in the cardholder browser window.\n\n01 - 250x400\n\n02 - 390x400\n\n03 - 500x600\n\n04 - 600x400\n\n05 - Full page\n" }, "alternateAuthenticationData": { "type": "string", "maxLength": 2048, "description": "Data that documents and supports a specific authentication process.\n" }, "alternateAuthenticationDate": { "type": "string", "maxLength": 14, "description": "Date and time in UTC of the cardholder authentication. Format: YYYYMMDDHHMM\n" }, "alternateAuthenticationMethod": { "type": "string", "description": "Mechanism used by the cardholder to authenticate to the 3D Secure requestor.\nPossible values:\n- `01`: No authentication occurred\n- `02`: Login using merchant system credentials\n- `03`: Login using Federated ID\n- `04`: Login using issuer credentials\n- `05`: Login using third-party authenticator\n- `06`: Login using FIDO Authenticator\n" }, "authenticationDate": { "type": "string", "maxLength": 14, "description": "The date/time of the authentication at the 3DS servers. RISK update authorization service in auth request\npayload with value returned in `consumerAuthenticationInformation.alternateAuthenticationData` if merchant calls via CYBS or field can be\nprovided by merchant in authorization request if calling an external 3DS provider.\n\nThis field is supported for Cartes Bancaires Fast'R transactions on Credit Mutuel-CIC.\nFormat: YYYYMMDDHHMMSS\n" }, "authenticationTransactionId": { "type": "string", "maxLength": 26, "description": "Payer authentication transaction identifier passed to link the check enrollment\nand validate authentication messages.For Rupay,this is passed only in Re-Send OTP usecase.\n**Note**: Required for Standard integration, Rupay Seamless server to server integration for enroll service.\nRequired for Hybrid integration for validate service.\n" }, "challengeCancelCode": { "type": "string", "maxLength": 2, "description": "An indicator as to why the transaction was canceled.\nPossible Values:\n\n- `01`: Cardholder selected Cancel.\n- `02`: Reserved for future EMVCo use (values invalid until defined by EMVCo).\n- `03`: Transaction Timed Out\u2014Decoupled Authentication\n- `04`: Transaction timed out at ACS\u2014other timeouts\n- `05`: Transaction Timed out at ACS - First CReq not received by ACS\n- `06`: Transaction Error\n- `07`: Unknown\n- `08`: Transaction Timed Out at SDK\n" }, "challengeCode": { "type": "string", "description": "Possible values:\n- `01`: No preference\n- `02`: No challenge request\n- `03`: Challenge requested (3D Secure requestor preference)\n- `04`: Challenge requested (mandate)\n- `05`: No challenge requested (transactional risk analysis is already performed)\n- `06`: No challenge requested (Data share only)\n- `07`: No challenge requested (strong consumer authentication is already performed)\n- `08`: No challenge requested (utilize whitelist exemption if no challenge required)\n- `09`: Challenge requested (whitelist prompt requested if challenge required)\n**Note** This field will default to `01` on merchant configuration and can be overridden by the merchant.\nEMV 3D Secure version 2.1.0 supports values `01-04`. Version 2.2.0 supports values `01-09`.\n\nFor details, see `pa_challenge_code` field description in [CyberSource Payer Authentication Using the SCMP API.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Payer_Authentication_SCMP_API/html)\n" }, "challengeStatus": { "type": "string", "maxLength": 2, "description": "The `consumerAuthenticationInformation.challengeCode` indicates the authentication type/level, or challenge, that was presented to the cardholder\nat checkout by the merchant when calling the Carte Bancaire 3DS servers via CYBS RISK services. It conveys to\nthe issuer the alternative authentication methods that the consumer used.\n" }, "customerCardAlias": { "type": "string", "maxLength": 128, "description": "An alias that uniquely identifies the customer's account and credit card on file.\nNote This field is required if Tokenization is enabled in the merchant profile settings.\n" }, "decoupledAuthenticationIndicator": { "type": "string", "maxLength": 1, "description": "Indicates whether the 3DS Requestor requests the ACS to utilize Decoupled Authentication and agrees to utilize Decoupled Authentication if the ACS confirms its use.\n\nPossible Values:\n\nY - Decoupled Authentication is supported and preferred if challenge is necessary\n\nN - Do not use Decoupled Authentication\n\n**Default Value**: N\n" }, "decoupledAuthenticationMaxTime": { "type": "string", "maxLength": 5, "description": "Indicates the maximum amount of time that the 3DS Requestor will wait for an ACS (Active control server) to provide the results of a Decoupled Authentication transaction (in minutes).\nPossible Values: Numeric values between 1 and 10080 accepted.\n" }, "defaultCard": { "type": "boolean", "description": "Indicates that the card being used is the one designated as the primary payment card for purchase.\nRecommended for Discover ProtectBuy.\n" }, "deviceChannel": { "type": "string", "maxLength": 10, "description": "Determines the channel that the transaction came through. Possible Values: SDK/Browser/3RI. 3RI - 3DS request initiated.\n" }, "installmentTotalCount": { "type": "integer", "maxLength": 4, "description": "An integer value greater than 1 indicating the max number of permitted authorizations for installment payments.\n**Note** This is required if the merchant and cardholder have agreed to installment payments.\n" }, "merchantFraudRate": { "type": "string", "maxLength": 2, "description": "Calculated by merchants as per PSD2** RTS** (EEA** card fraud divided by all EEA card volumes).\nPossible Values:\n1 = Represents fraud rate <=1\n\n2 = Represents fraud rate >1 and <=6\n\n3 = Represents fraud rate >6 and <=13\n\n4 = Represents fraud rate >13 and <=25\n\n5 = Represents fraud rate >25\n\nEEA** = European Economic Area\nRTS** = Regulatory Technical Standards\nPSD2** = Payment Services Directive\n" }, "marketingOptIn": { "type": "boolean", "description": "Indicates whether the customer has opted in for marketing offers.\nRecommended for Discover ProtectBuy.\n" }, "marketingSource": { "type": "string", "maxLength": 40, "description": "Indicates origin of the marketing offer. Recommended for Discover ProtectBuy.\n" }, "mcc": { "type": "string", "maxLength": 4, "description": "Merchant category code.\n**Important** Required only for Visa Secure transactions in Brazil.\nDo not use this request field for any other types of transactions.\n" }, "merchantScore": { "type": "integer", "maxLength": 2, "description": "Risk Score provided by merchants. This is specific for CB transactions.\n" }, "messageCategory": { "type": "string", "description": "Category of the message for a specific use case. Possible values:\n\n- `01`: PA- payment authentication\n- `02`: NPA- non-payment authentication\n- `03-79`: Reserved for EMVCo future use (values invalid until defined by EMVCo)\n- `80-99`: Reserved for DS use\n" }, "networkScore": { "type": "string", "maxLength": 2, "description": "The global score calculated by the CB scoring platform and returned to merchants.\n\nPossible values: \n- '00' - '99'\n\nWhen you request the payer authentication and authorization services separately, get the value for this field from the pa_network_score reply field. \n\nThis field is supported only for Cartes Bancaires Fast'R transactions on Credit Mutuel-CIC.\n" }, "npaCode": { "type": "string", "maxLength": 2, "description": "Non-Payer Authentication Indicator.\nPossible values:\n- `01`: Add card\n- `02`: Maintain card information\n- `03`: Cardholder verification for EMV token\n- `04-80` Reserved for EMVCo\n- `80-90` Reserved DS\n" }, "overridePaymentMethod": { "type": "string", "description": "Specifies the Brazilian payment account type used for the transaction.\nThis field overrides other payment types that might be specified in the request.\nUse one of the following values for this field:\n- `NA`: Not applicable. Do not override other payment types that are specified in the request.\n- `CR`: Credit card.\n- `DB`: Debit card.\n- `VSAVR`: Visa Vale Refeicao\n- `VSAVA`: Visa Vale Alimentacao\n**Important** Required only for Visa Secure transactions in Brazil.\nDo not use this request field for any other types of transactions.\n" }, "overrideCountryCode": { "type": "string", "maxLength": 2, "description": "Two-character [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)..\n" }, "priorAuthenticationData": { "type": "string", "maxLength": 2048, "description": "This field carry data that the ACS can use to verify the authentication process.\n" }, "priorAuthenticationMethod": { "type": "string", "maxLength": 2, "description": "Mechanism used by the Cardholder to previously authenticate to the 3DS Requestor.\n\n01 - Frictionless authentication occurred by ACS\n\n02 - Cardholder challenge occurred by ACS\n\n03 - AVS verified\n\n04 - Other issuer methods\n\n05-79 - Reserved for EMVCo future use (values invalid until defined by EMVCo)\n\n80-99 - Reserved for DS use\n" }, "priorAuthenticationReferenceId": { "type": "string", "maxLength": 36, "description": "This data element contains a ACS Transaction ID for a prior authenticated transaction.\nFor example, the first recurring transaction that was authenticated with the cardholder\n" }, "priorAuthenticationTime": { "type": "string", "maxLength": 12, "description": "Date and time in UTC of the prior cardholder authentication. Format \u2013 YYYYMMDDHHMM\n" }, "productCode": { "type": "string", "maxLength": 3, "description": "Specifies the product code, which designates the type of transaction.\nSpecify one of the following values for this field:\n- AIR: Airline purchase\nImportant Required for American Express SafeKey (U.S.).\n- `ACC`: Accommodation Rental\n- `ACF`: Account funding\n- `CHA`: Check acceptance\n- `DIG`: Digital Goods\n- `DSP`: Cash Dispensing\n- `GAS`: Fuel\n- `GEN`: General Retail\n- `LUX`: Luxury Retail\n- `PAL`: Prepaid activation and load\n- `PHY`: Goods or services purchase\n- `QCT`: Quasi-cash transaction\n- `REN`: Car Rental\n- `RES`: Restaurant\n- `SVC`: Services\n- `TBD`: Other\n- `TRA`: Travel\n**Important** Required for Visa Secure transactions in Brazil.\nDo not use this request field for any other types of transactions.\n" }, "returnUrl": { "type": "string", "maxLength": 2048, "description": "The URL of the merchant's return page. CyberSource adds this return URL to the step-up JWT and returns it in the\nresponse of the Payer Authentication enrollment call. The merchant's return URL page serves as a listening URL.\nOnce the bank session completes, the merchant receives a POST to their URL. This response contains the completed\nbank session's transactionId. The merchant's return page should capture the transaction ID and send it in the\nPayer Authentication validation call.\n" }, "requestorId": { "type": "string", "maxLength": 35, "description": "Cardinal's directory server assigned 3DS Requestor ID value" }, "requestorInitiatedAuthenticationIndicator": { "type": "string", "maxLength": 2, "description": "Indicates the type of 3RI request.\n\nPossible Values:\n\n01 - Recurring transaction\n\n02 - Installment transaction\n\n03 - Add card\n\n04 - Maintain card\n\n05 - Account verification\n\n06 - Split/delayed shipment\n\n07 - Top-up\n\n08 - Mail Order\n\n09 - Telephone Order\n\n10 - Whitelist status check\n\n11 - Other payment\n" }, "requestorName": { "type": "string", "maxLength": 40, "description": "Cardinal's directory server assigned 3DS Requestor Name value" }, "referenceId": { "type": "string", "maxLength": 50, "description": "Reference ID that corresponds to the device fingerprinting data that was collected previously.\nNote Required for Hybrid integration.\n" }, "sdkMaxTimeout": { "type": "string", "maxLength": 2, "description": "This field indicates the maximum amount of time for all 3DS 2.0 messages to be communicated between all components (in minutes).\n\nPossible Values:\n\nGreater than or equal to 05 (05 is the minimum timeout to set)\n\nCardinal Default is set to 15\n\nNOTE: This field is a required 3DS 2.0 field and Cardinal sends in a default of 15 if nothing is passed\n" }, "secureCorporatePaymentIndicator": { "type": "string", "maxLength": 1, "description": "Indicates dedicated payment processes and procedures were used, potential secure corporate payment exemption applies.\nPossible Values : 0/1\n" }, "transactionMode": { "type": "string", "description": "Transaction mode identifier. Identifies the channel from which the transaction originates.\nPossible values:\n\n- `M`: MOTO (Mail Order Telephone Order)\n- `R`: Retail\n- `S`: eCommerce\n- `P`: Mobile Device\n- `T`: Tablet\n" }, "whiteListStatus": { "type": "string", "maxLength": 1, "description": "Enables the communication of trusted beneficiary/whitelist status between the ACS, the DS and the 3DS Requestor.\n\nPossible Values:\n\nY - 3DS Requestor is whitelisted by cardholder\n\nN - 3DS Requestor is not whitelisted by cardholder\n" }, "effectiveAuthenticationType": { "type": "string", "maxLength": 2, "description": "This field describes the type of 3DS transaction flow that took place. It can be one of three possible flows;\nCH - Challenge\nFR - Frictionless\nFD - Frictionless with delegation, (challenge not generated by the issuer but by the scheme on behalf of the issuer).\n" }, "signedParesStatusReason": { "type": "string", "maxLength": 2, "description": "Provides additional information as to why the PAResStatus has a specific value.\n" }, "signedPares": { "type": "string", "description": "Payer authentication result (PARes) message returned by the card-issuing bank.\nIf you need to show proof of enrollment checking, you may need to\ndecrypt and parse the string for the information required by the payment card company.\nFor more information, see \"Storing Payer Authentication Data,\" page 160.\nImportant The value is in base64. You must remove all carriage returns and line feeds before\nadding the PARes to the request.\n" } } }, "pointOfSaleInformation": { "type": "object", "properties": { "terminalId": { "type": "string", "maxLength": 8, "description": "Identifier for the terminal at your retail location. You can define this value yourself, but consult the processor for requirements.\n\n#### CyberSource through VisaNet\nA list of all possible values is stored in your CyberSource account. If terminal ID validation is enabled for\nyour CyberSource account, the value you send for this field is validated against the list each time you include\nthe field in a request. To enable or disable terminal ID validation, contact CyberSource Customer Support.\n\nWhen you do not include this field in a request, CyberSource uses the default value that is defined in your CyberSource account.\n\n#### FDC Nashville Global\nTo have your account configured to support this field, contact CyberSource Customer Support. This value must be a value that FDC Nashville Global issued to you.\n\n#### For Payouts\nThis field is applicable for CyberSource through VisaNet.\n\n#### GPX\nIdentifier for the terminal at your retail location. A list of all possible values is stored in your account.\nIf terminal ID validation is enabled for your account, the value you send for this field is validated against\nthe list each time you include the field in a request. To enable or disable terminal ID validation, contact\ncustomer support.\n\nWhen you do not include this field in a request, the default value that is defined in your account is used.\n\nOptional for authorizations.\n\n#### Used by\n**Authorization**\nOptional for the following processors. When you do not include this field in a request, the default value that is\ndefined in your account is used.\n - American Express Direct\n - Credit Mutuel-CIC\n - FDC Nashville Global\n - SIX\n- Chase Paymentech Solutions: Optional field. If you include this field in your request, you must also include `pointOfSaleInformation.catLevel`.\n- FDMS Nashville: The default value that is defined in your account is used.\n- GPX\n- OmniPay Direct: Optional field.\n\nFor the following processors, this field is not used.\n- GPN\n- JCN Gateway\n- RBS WorldPay Atlanta\n- TSYS Acquiring Solutions\n- Worldpay VAP\n\n#### Card Present reply\nTerminal identifier assigned by the acquirer. This value must be printed on the receipt.\n" }, "terminalSerialNumber": { "type": "string", "maxLength": 32, "description": "Terminal serial number assigned by the hardware manufacturer. This value is provided by the client software that\nis installed on the POS terminal.\n\nThis value is not forwarded to the processor. Instead, the value is forwarded to the reporting functionality.\n\n#### Used by\n**Authorization and Credit**\nOptional. This field is supported only by client software that is installed on your POS terminals for the\nfollowing processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n" }, "cardholderVerificationMethodUsed": { "type": "integer", "description": "Method that was used to verify the cardholder's identity. Possible values:\n\n - `0`: No verification\n - `1`: Signature\n - `2`: PIN\n - `3`: Cardholder device CVM\n" }, "laneNumber": { "type": "string", "maxLength": 8, "description": "Identifier for an alternate terminal at your retail location. You define the value for this field.\n\nThis field is supported only for MasterCard transactions on FDC Nashville Global. Otherwise, this field is not used by all other processors.\nUse the `terminalId` field to identify the main terminal at your retail location. If your retail location has multiple terminals,\nuse this `laneNumber` field to identify the terminal used for the transaction.\n\nThis field is a pass-through, which means that the value is not checked or modified in any way before sending it to the processor.\n\nOptional field.\n\n#### Card present reply messaging\nIdentifier for an alternate terminal at your retail location. You defined the value for this field in the request\nmessage. This value must be printed on the receipt.\n\nThis field is supported only for MasterCard transactions on FDC Nashville Global.\n" }, "catLevel": { "type": "integer", "minimum": 1, "maximum": 9, "description": "Type of cardholder-activated terminal. Possible values:\n\n - 1: Automated dispensing machine\n - 2: Self-service terminal\n - 3: Limited amount terminal\n - 4: In-flight commerce (IFC) terminal\n - 5: Radio frequency device\n - 6: Mobile acceptance terminal\n - 7: Electronic cash register\n - 8: E-commerce device at your location\n - 9: Terminal or cash register that uses a dialup connection to connect to the transaction processing network\n\n#### Chase Paymentech Solutions\nOnly values 1, 2, and 3 are supported.\n\nRequired if `pointOfSaleInformation.terminalID` is included in the request; otherwise, optional.\n\n#### CyberSource through VisaNet\nValues 1 through 6 are supported on\nCyberSource through VisaNet, but some\nacquirers do not support all six values.\n\nOptional field.\n\n#### FDC Nashville Global\nOnly values 7, 8, and 9 are supported.\n\nOptional field for EMV transactions; otherwise, not used.\n\n#### GPN\nOnly values 6, 7, 8, and 9 are supported.\n\nRequired field.\n\n#### JCN Gateway\nOnly values 6, 7, 8, and 9 are supported.\n\nRequired field.\n\n#### TSYS Acquiring Solutions\nOnly value 6 is supported.\n\nRequired for transactions from mobile devices; otherwise, not used.\n\n#### All other processors\nNot used.\n\nNonnegative integer.\n" }, "entryMode": { "type": "string", "maxLength": 11, "description": "Method of entering payment card information into the POS terminal. Possible values:\n\n - `contact`: Read from direct contact with chip card.\n - `contactless`: Read from a contactless interface using chip data.\n - `keyed`: Manually keyed into POS terminal. This value is not supported on OmniPay Direct.\n - `msd`: Read from a contactless interface using magnetic stripe data (MSD). This value is not supported on OmniPay Direct.\n - `swiped`: Read from credit card magnetic stripe.\n\nThe `contact`, `contactless`, and `msd` values are supported only for EMV transactions.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### Card Present\nCard present information about EMV applies only to credit card processing and PIN debit processing. All other\ncard present information applies only to credit card processing.\n\n#### PIN debit\nRequired for a PIN debit purchase and a PIN debit credit request.\n" }, "terminalCapability": { "type": "integer", "minimum": 1, "maximum": 5, "description": "POS terminal's capability. Possible values:\n\n - `1`: Terminal has a magnetic stripe reader only.\n - `2`: Terminal has a magnetic stripe reader and manual entry capability.\n - `3`: Terminal has manual entry capability only.\n - `4`: Terminal can read chip cards.\n - `5`: Terminal can read contactless chip cards; cannot use contact to read chip cards.\n\nFor an EMV transaction, the value of this field must be `4` or `5`.\n\n#### PIN debit\nRequired for PIN debit purchase and PIN debit credit request.\n\n#### Used by\n**Authorization**\nRequired for the following processors:\n- American Express Direct\n- Chase Paymentech Solutions\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- FDMS Nashville\n- OmniPay Direct\n- SIX\n- Worldpay VAP\n\nOptional for the following processors:\n- CyberSource through VisaNet\n- GPN\n- GPX\n- JCN Gateway\n- RBS WorldPay Atlanta\n- TSYS Acquiring Solutions\n" }, "operatingEnvironment": { "type": "string", "maxLength": 1, "description": "Operating environment.\n\nPossible values for all card types except Mastercard:\n- `0`: No terminal used or unknown environment.\n- `1`: On merchant premises, attended.\n- `2`: On merchant premises, unattended. Examples: oil, kiosks, self-checkout, mobile telephone, personal digital assistant (PDA).\n- `3`: Off merchant premises, attended. Examples: portable POS devices at trade shows, at service calls, or in taxis.\n- `4`: Off merchant premises, unattended. Examples: vending machines, home computer, mobile telephone, PDA.\n- `5`: On premises of cardholder, unattended.\n- `9`: Unknown delivery mode.\n- `S`: Electronic delivery of product. Examples: music, software, or eTickets that are downloaded over the internet.\n- `T`: Physical delivery of product. Examples: music or software that is delivered by mail or by a courier.\n\n#### Possible values for Mastercard:\n- `2`: On merchant premises, unattended, or cardholder terminal. Examples: oil, kiosks, self-checkout, home computer, mobile telephone, personal digital assistant (PDA). Cardholder terminal is supported only for Mastercard transactions on CyberSource through VisaNet.\n- `4`: Off merchant premises, unattended, or cardholder terminal. Examples: vending machines, home computer, mobile telephone, PDA. Cardholder terminal is supported only for Mastercard transactions on CyberSource through VisaNet.\n\nThis field is supported only for American Express Direct and CyberSource through VisaNet.\n" }, "emv": { "type": "object", "properties": { "tags": { "type": "string", "maxLength": 1998, "description": "EMV data that is transmitted from the chip card to the issuer, and from the issuer to the chip card. The EMV\ndata is in the tag-length-value format and includes chip card tags, terminal tags, and transaction detail tags.\n\nFor information about the individual tags, see the \"Application Specification\" section in the EMV 4.3 Specifications: http://emvco.com\n\n**Note** Card present information about EMV applies only to credit card processing and PIN debit processing.\nAll other card present information applies only to credit card processing. PIN debit processing is available only\non FDC Nashville Global.\n\n**Important** The following tags contain sensitive information and **must not** be included in this field:\n\n - `56`: Track 1 equivalent data\n - `57`: Track 2 equivalent data\n - `5A`: Application PAN\n - `5F20`: Cardholder name\n - `5F24`: Application expiration date (This sensitivity has been relaxed for Credit Mutuel-CIC, American Express Direct, FDC Nashville Global, First Data Merchant Solutions, and SIX)\n - `99`: Transaction PIN\n - `9F0B`: Cardholder name (extended)\n - `9F1F`: Track 1 discretionary data\n - `9F20`: Track 2 discretionary data\n\nFor captures, this field is required for contact EMV transactions. Otherwise, it is optional.\n\nFor credits, this field is required for contact EMV stand-alone credits and contactless EMV stand-alone credits.\nOtherwise, it is optional.\n\n**Important** For contact EMV captures, contact EMV stand-alone credits, and contactless EMV stand-alone credits,\nyou must include the following tags in this field. For all other types of EMV transactions, the following tags\nare optional.\n\n - `95`: Terminal verification results\n - `9F10`: Issuer application data\n - `9F26`: Application cryptogram\n\n\n#### CyberSource through VisaNet\n- In Japan: 199 bytes\n- In other countries: String (252)\n\nFor Mastercard Transactions, Optionally Tag 9F60 (Authenticated Application Data) and \nTag 96 (Kernel Identifier - Terminal) can be included in the Field.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n\n#### JCN Gateway\nThe following tags must be included:\n- `4F`: Application identifier\n- `84`: Dedicated file name\n\nData length: 199 bytes\n\n#### All other processors:\nString (999)\n\n#### Used by\nAuthorization: Optional\nAuthorization Reversal: Optional\nCredit: Optional\nPIN Debit processing (purchase, credit and reversal): Optional\n" }, "cardholderVerificationMethodUsed": { "type": "integer", "description": "Method that was used to verify the cardholder's identity.\n\nPossible values:\n - `0`: No verification\n - `1`: Signature\n\nThis field is supported only on **American Express Direct**.\n" }, "cardSequenceNumber": { "type": "string", "maxLength": 3, "description": "Number assigned to a specific card when two or more cards are associated with the same primary account number.\n\nThis value enables issuers to distinguish among multiple cards that are linked to the same account.\n\nThis value can also act as a tracking tool when reissuing cards. \n\nWhen this value is available, it is provided by the chip reader. \n\nWhen the chip reader does not provide this value, do not include this field in your request.\n\nWhen sequence number is not provided via this API field, the value is extracted from EMV tag 5F34 for Mastercard transactions. To enable this feature please call support.\n\n**Note** Card present information about EMV applies only to credit card processing and PIN debit processing.\n\nAll other card present information applies only to credit card processing. \n\nPIN debit processing is available only on CyberSource through VisaNet and FDC Nashville Global.\n\n#### Used by\nAuthorization: Optional\nPIN Debit processing: Optional\n\n#### GPX\n\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "fallback": { "type": "boolean", "maxLength": 5, "description": "Indicates whether a fallback method was used to enter credit card information into the POS terminal. When a\ntechnical problem prevents a successful exchange of information between a chip card and a chip-capable terminal:\n\n 1. Swipe the card or key the credit card information into the POS terminal.\n 2. Use the pointOfSaleInformation.entryMode field to indicate whether the information was swiped or keyed.\n\n\nPossible values:\n- `true`: Fallback method was used.\n- `false` (default): Fallback method was not used.\n\nThis field is supported only on American Express Direct, Chase Paymentech Solutions, CyberSource through VisaNet,\nFDC Nashville Global, GPN, JCN Gateway, OmniPay Direct, and SIX.\n" }, "fallbackCondition": { "type": "integer", "description": "Reason for the EMV fallback transaction. An EMV fallback transaction occurs when an EMV transaction fails for\none of these reasons:\n\n - Technical failure: the EMV terminal or EMV card cannot read and process chip data.\n - Empty candidate list failure: the EMV terminal does not have any applications in common with the EMV card.\n EMV terminals are coded to determine whether the terminal and EMV card have any applications in common.\n EMV terminals provide this information to you.\n\nPossible values:\n\n - `1`: Transaction was initiated with information from a magnetic stripe, and the previous transaction at the\n EMV terminal either used information from a successful chip read or it was not a chip transaction.\n - `2`: Transaction was initiated with information from a magnetic stripe, and the previous transaction at the\n EMV terminal was an EMV fallback transaction because the attempted chip read was unsuccessful.\n\nThis field is supported only on **GPN** and **JCN Gateway**.\n**NOTE**: This field is required when an EMV transaction fails for a technical reason. Do not include this field\nwhen the EMV terminal does not have any applications in common with the EMV card.\n" }, "isRepeat": { "type": "boolean", "description": "#### Visa Platform Connect\nValue \"true\" indicates this transaction is intentionally duplicated . The field contains value \"true\" which\nindicates that merchant has intentionally duplicated single tap transaction. Merchant is intentionally sending\na duplicate auth request for a single tap txn because the issuer requested a PIN.\n" } } }, "amexCapnData": { "type": "string", "maxLength": 15, "description": "Point-of-sale details for the transaction. This value is returned only for **American Express Direct**.\nCyberSource generates this value, which consists of a series of codes that identify terminal capability,\nsecurity data, and specific conditions present at the time the transaction occurred. To comply with the CAPN\nrequirements, this value must be included in all subsequent follow-on requests, such as captures and follow-on\ncredits.\n\nWhen you perform authorizations, captures, and credits through CyberSource, CyberSource passes this value from\nthe authorization service to the subsequent services for you. However, when you perform authorizations through\nCyberSource and perform subsequent services through other financial institutions, you must ensure that your\nrequests for captures and credits include this value.\n\nFor details, see `auth_pos_data` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "trackData": { "type": "string", "description": "Card's track 1 and 2 data. For all processors except FDMS Nashville, this value consists of\none of the following:\n\n - Track 1 data\n - Track 2 data\n - Data for both tracks 1 and 2\n\nFor FDMS Nashville, this value consists of one of the following:\n - Track 1 data\n - Data for both tracks 1 and 2\n\nExample: %B4111111111111111^SMITH/JOHN ^1612101976110000868000000?;4111111111111111=16121019761186800000?\n\n#### Used by\n**Authorization**\nRequired for Chase Paymentech Solutions, Credit Mutuel-CIC, CyberSource through VisaNet, FDC Nashville Global,\nJCN Gateway, OmniPay Direct, and SIX if `pointOfSaleInformation.entryMode` is equal to one of these values:\n- `contact`\n- `contactless`\n- `msd`\n- `swiped`\nOtherwise, this field not used.\n\nRequired for all other processors if `pointOfSaleInformation.entryMode=swiped`; otherwise, this field is not used.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n\n#### PIN debit\nTrack 2 data from the debit card. The sentinels are required.\nRequired field for a PIN debit purchase and a PIN debit credit.\n" }, "storeAndForwardIndicator": { "type": "string", "maxLength": 1, "description": "When connectivity is unavailable, the client software that is installed on the POS terminal can store a\ntransaction in its memory and send it for authorization when connectivity is restored. This value is provided by\nthe client software that is installed on the POS terminal.\n\nThis value is not forwarded to the processor. Instead, the value is forwarded to the reporting functionality.\n\nPossible values:\n- `Y`: Transaction was stored and then forwarded.\n- `N` (default): Transaction was not stored and then forwarded.\n\nFor authorizations and credits, this field is supported only on these processors:\n- American Express Direct\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" }, "cardholderVerificationMethod": { "type": "array", "items": { "type": "string", "example": [ "PIN", "Signature", "pinOnGlass" ] }, "description": "Complete list of cardholder verification methods (CVMs) supported by the terminal.\nOptional field.\nPossible values:\n- `PIN`: For terminals with a PIN Pad\n- `Signature`: For terminals capable of receiving a signature\n- `pinOnGlass`: For terminals where PIN is entered on a glass-based capture mechanism\n\n**EXAMPLE**: [\"PIN\",\"Signature\"]; [\"pinOnGlass\",\"Signature\"]\n" }, "terminalInputCapability": { "type": "array", "items": { "type": "string" }, "description": "Complete list of card input methods supported by the terminal.\n\nPossible values:\n- `Keyed`: Terminal can accept card data that is entered manually.\n- `Swiped`: Terminal can accept card data from a magnetic stripe reader.\n- `Contact`: Terminal can accept card data in EMV contact mode (\"dipping a card\").\n- `Contactless`: Terminal can accept card data in EMV contactless mode (\"tapping a card\").\n- `BarCode`: Terminal can read bar codes.\n- `QRcode`: Terminal can read or scan QR codes.\n- `OCR`: Terminal can perform optical character recognition (OCT) on the card.\n\n**EXAMPLE**: [\"Keyed\",\"Swiped\",\"Contact\",\"Contactless\"]\n\n#### Used by\n**Authorization and Credit**\nOptional. This field is supported only by client software that is installed on your POS terminals for the\nfollowing processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n" }, "terminalCardCaptureCapability": { "type": "string", "maxLength": 1, "description": "Indicates whether the terminal can capture the card.\n\nPossible values:\n- `1`: Terminal can capture card.\n- `0`: Terminal cannot capture card.\n\nFor authorizations and credits, this field is supported only by these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- OmniPay Direct\n\nOptional field.\n" }, "terminalOutputCapability": { "type": "string", "maxLength": 1, "description": "Indicates whether the terminal can print or display messages.\n\nPossible values:\n- 1: Neither\n- 2: Print only\n- 3: Display only\n- 4: Print and display\n- 5: Merchant terminal supports purchase only approvals\n\nThis field is supported for authorizations and credits only on the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n- VisaNet\n\nOptional field.\n" }, "terminalPinCapability": { "type": "integer", "description": "Maximum PIN length that the terminal can capture.\n\nPossible values:\n- 0: No PIN capture capability\n- 1: PIN capture capability unknown\n- 2: PIN Pad down\n- 4: Four characters\n- 5: Five characters\n- 6: Six characters\n- 7: Seven characters\n- 8: Eight characters\n- 9: Nine characters\n- 10: Ten characters\n- 11: Eleven characters\n- 12: Twelve characters\n\nThis field is supported for authorizations and credits only on the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- OmniPay Direct\n- SIX\n- Visa Platform Connect\n\nRequired field for authorization or credit of PIN transactions.\n" }, "pinEntrySolution": { "type": "string", "description": "This field will contain the type of Pin Pad the terminal has.\n\nPossible values:\n- PCI-SPoC: Where the pin is being put on screen\n- PCI-PTS: Where the pin is being put on actual hardware pin pad\n" }, "deviceId": { "type": "string", "maxLength": 32, "description": "Value created by the client software that uniquely identifies the POS device. This value is provided by the\nclient software that is installed on the POS terminal.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on American Express Direct, FDC Nashville Global, and SIX.\n" }, "pinBlockEncodingFormat": { "type": "integer", "maximum": 9, "description": "Format that is used to encode the PIN block. This value is provided by the client software that is installed on\nthe POS terminal.\n\nPossible values:\n- `0`: ISO 9564 format 0\n- `1`: ISO 9564 format 1\n- `2`: ISO 9564 format 2\n- `3`: ISO 9564 format 3\n\n#### Used by\n**Authorization, PIN Debit**\n- Required when the cardholder enters a PIN and the card cannot verify the PIN, which means that the issuer must verify the PIN.\n- Required for PIN debit credit or PIN debit purchase.\n\nFor authorizations, this field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nThis field is also supported by processors that support chip and online PIN transactions. The following table lists the EMV Cards\nand Cardholder Verification Methods (CVMs) that these processors support:\n\n| Processor | Chip and Offline PIN | Chip and Online PIN | Chip and Signature |\n| --- | --- | --- | --- |\n| American Express Direct | Yes | Yes | Yes |\n| Chase Paymentech Solutions | No | No | Yes |\n| Credit Mutuel-CIC | Yes | Yes | Yes |\n| CyberSource through VisaNet | Yes | No | Yes |\n| FDC Nashville Global | Yes | Yes | Yes |\n| GPN | No | No | Yes |\n| OmniPay Direct | Yes | No | Yes |\n| SIX | Yes | Yes | Yes |\n\n#### GPX\nFor chip and online PIN transactions for authorization, GPX supports the following EMV Cards and Cardholder Verification Methods (CVMs):\n- Chip and Offline PIN\n- Chip and Signature\n\nFor PIN Debit Purchase and Credit Service transactions, GPX supports the following EMV Cards and Cardholder Verification Methods (CVMs):\n- Chip and Online PIN\n" }, "encryptedPin": { "type": "string", "maxLength": 16, "description": "Encrypted PIN.\n\nThis value is provided by the client software that is installed on the POS terminal.\n\n#### Used by\n**Authorization, PIN Debit**\nRequired when the cardholder enters a PIN and the card cannot verify the PIN, which means that the issuer must verify the PIN.\nRequired for PIN debit credit or PIN debit purchase.\nRequired for online PIN transactions.\n\nFor authorizations, this field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nThis field is also used by processors that support chip and online PIN transactions. The following table lists the EMV Cards\nand Cardholder Verification Methods (CVMs) that these processors support:\n\n| Processor | Chip and Offline PIN | Chip and Online PIN | Chip and Signature |\n| --- | --- | --- | --- |\n| American Express Direct | Yes | Yes | Yes |\n| Chase Paymentech Solutions | No | No | Yes |\n| Credit Mutuel-CIC | Yes | Yes | Yes |\n| CyberSource through VisaNet | Yes | No | Yes |\n| FDC Nashville Global | Yes | Yes | Yes |\n| GPN | No | No | Yes |\n| OmniPay Direct | Yes | No | Yes |\n| SIX | Yes | Yes | Yes |\n" }, "encryptedKeySerialNumber": { "type": "string", "maxLength": 20, "description": "Combination of the device's unique identifier and a transaction counter that is used in the process of\ndecrypting the encrypted PIN. The entity that injected the PIN encryption keys into the terminal decrypts the\nencrypted PIN and creates this value.\n\nFor all terminals that are using derived unique key per transaction (DUKPT) encryption, this is generated as a\nsingle number within the terminal.\n\n#### Used by\n**Authorization, PIN Debit**\n- Required when the cardholder enters a PIN and the card cannot verify the PIN, which means that the issuer must verify the PIN.\n- Required for PIN debit credit or PIN debit purchase.\n- Required for online PIN transactions\n\nFor authorizations, this field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nThis field is also used by processors that support chip and online PIN transactions. The following table lists the EMV Cards\nand Cardholder Verification Methods (CVMs) that these processors support:\n\n| Processor | Chip and Offline PIN | Chip and Online PIN | Chip and Signature |\n| --- | --- | --- | --- |\n| American Express Direct | Yes | Yes | Yes |\n| Chase Paymentech Solutions | No | No | Yes |\n| Credit Mutuel-CIC | Yes | Yes | Yes |\n| CyberSource through VisaNet | Yes | No | Yes |\n| FDC Nashville Global | Yes | Yes | Yes |\n| GPN | No | No | Yes |\n| OmniPay Direct | Yes | No | Yes |\n| SIX | Yes | Yes | Yes |\n" }, "partnerSdkVersion": { "type": "string", "maxLength": 32, "description": "Version of the software installed on the POS terminal. This value is provided by the client software that is\ninstalled on the POS terminal.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on American Express Direct, FDC Nashville Global, and SIX.\n\nFor authorizations and credits, this field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n" }, "emvApplicationIdentifierAndDedicatedFileName": { "type": "string", "maxLength": 32, "description": "This 32 byte length-maximum EBCDIC-K value is used to identify which chip application was performed between the terminal and the chip product.\nThe included values are the Application Identifier (AID) and the Dedicated File (DF) name. It is available to early- or full-option VSDC issuers.\nOnly single byte Katakana characters that can map to the EBCDIC-K table expected in the name.\n" }, "terminalCompliance": { "type": "string", "maxLength": 2, "description": "Flag that indicates whether the terminal is compliant with standards mandated by the Reserve Bank of India for card-present domestic transactions in India.\n\nFormat:\n- First character indicates whether the terminal supports terminal line encryption (TLE). Possible values:\n - 1: Not certified\n - 2: Certified\n- Second character indicates whether the terminal supports Unique Key Per Transaction (UKPT) and Derived Unique Key Per Transaction (DUKPT). Possible values:\n - 1: Not certified\n - 2: Certified\n\n**Example** `21` indicates that the terminal supports TLE but does not support UKPT/DUKPT.\n\nYou and the terminal vendors are responsible for terminal certification. If you have questions, contact your acquirer.\n\nThis field is supported only for Mastercard transactions on CyberSource through VisaNet.\n\n**Note** On CyberSource through VisaNet, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 92-93\n- Field: Mastercard Terminal Compliance Indicator\n\nThe TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment networks.\n\n#### Used by\n**Authorization**\nRequired for card-present transactions in India. Otherwise, not used.\n" }, "isDedicatedHardwareTerminal": { "type": "string", "maxLength": 1, "description": "Type of mPOS device. Possible values:\n- 0: Dongle\n- 1: Phone or tablet\n\nThis optional field is supported only for Mastercard transactions on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 141\n- Field: Mastercard mPOS Transaction\n\nThe TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource.\nCyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's\nacquirer, who uses this information to facilitate end-of-day clearing processing with payment networks.\n" }, "terminalModel": { "type": "string", "maxLength": 32, "description": "This is the model name of the reader which is used to accept the payment.\nPossible values:\n - E3555\n - P400\n - A920\n" }, "terminalMake": { "type": "string", "maxLength": 32, "description": "This is the manufacturer name of the reader which is used to accept the payment.\nPossible values:\n - PAX\n - Verifone\n - Ingenico\n" }, "serviceCode": { "type": "string", "maxLength": 3, "description": "#### Visa Platform Connect\nMastercard service code that is included in the track data. This field is supported only for Mastercard on Visa Platform Connect. \nYou can extract the service code from the track data and provide it in this API field. \n\nWhen not provided it will be extracted from:\n - Track2Data for MSR transactions\n - EMV tag 5F30 for EMV transactions\n\nTo enable this feature please call support.\n" } } }, "merchantDefinedInformation": { "type": "array", "description": "The object containing the custom data that the merchant defines.\n", "items": { "type": "object", "properties": { "key": { "type": "string", "maxLength": 50, "description": "The number you assign for as the key for your merchant-defined data field. Valid values are 0 to 100.\n\nFor example, to set or access the key for the 2nd merchant-defined data field in the array, you would reference `merchantDefinedInformation[1].key`.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].key` and\n`merchantDefinedInformation[1].key` for data that you want to provide to the issuer to identify the\ntransaction.\n\nFor details, see the `merchant_defined_data1` request-level field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "value": { "type": "string", "maxLength": 255, "description": "The value you assign for your merchant-defined data field.\n\nFor details, see `merchant_defined_data1` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event CyberSource discovers that a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, CyberSource will immediately suspend the merchant's account, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].value` and\n`merchantDefinedInformation[1].value` for data that you want to provide to the issuer to identify the\ntransaction. For details, see \"Installment Payments on CyberSource through VisaNet\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nFor installment payments with Mastercard in Brazil:\n- The value for merchantDefinedInformation[0].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 25-44\n - Field: Reference Field 2\n- The value for merchantDefinedInformation[1].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 45-64\n - Field: Reference Field 3\n" } } } }, "merchantDefinedSecureInformation": { "type": "object", "description": "The object containing the secure data that the merchant defines.\n", "properties": { "secure1": { "type": "string", "maxLength": 2048, "description": "The value you assign for your merchant-secure data field 1.\n" }, "secure2": { "type": "string", "maxLength": 2048, "description": "The value you assign for your merchant-secure data field 2.\n" }, "secure3": { "type": "string", "maxLength": 2048, "description": "The value you assign for your merchant-secure data field 3.\n" }, "secure4": { "type": "string", "maxLength": 2048, "description": "The value you assign for your merchant-secure data field 4.\n" } } }, "installmentInformation": { "type": "object", "properties": { "amount": { "type": "string", "maxLength": 12, "description": "Amount for the current installment payment.\n\nThis field is supported only for CyberSource through VisaNet.\n\nFor details, see `installment_amount` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "frequency": { "type": "string", "maxLength": 1, "description": "Frequency of the installment payments. When you do not include this field in a request for a\nCrediario installment payment, CyberSource sends a space character to the processor.\n\nFor details, see `installment_frequency` field description in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThis field is supported only for CyberSource through VisaNet. Possible values:\n- `B`: Biweekly\n- `M`: Monthly\n- `W`: Weekly\n\nFor Crediario installment payments, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR9\n- Position: 41\n- Field: Installment Frequency\n\nFor details, see \"Installment Payments\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "planType": { "type": "string", "maxLength": 1, "description": "#### American Express Direct, Cielo, and CyberSource Latin American Processing\nFlag that indicates the type of funding for the installment plan associated with the payment.\n\nPossible values:\n- `1`: Merchant-funded installment plan\n- `2`: Issuer-funded installment plan\nIf you do not include this field in the request, CyberSource uses the value in your CyberSource account.\n\nTo change the value in your CyberSource account, contact CyberSource Customer Service.\nFor details, see `installment_plan_type` field description in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### CyberSource through VisaNet and American Express\nDefined code that indicates the type of installment plan for this transaction.\n\nContact American Express for:\n- Information about the kinds of installment plans that American Express provides\n- Values for this field\n\nFor installment payments with American Express in Brazil, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP07 TCR3\n- Position: 5-6\n- Field: Plan Type\n\n* The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n\n#### CyberSource through VisaNet with Visa or Mastercard\nFlag indicating the type of funding for the installment plan associated with the payment.\nPossible values:\n- 1 or 01: Merchant-funded installment plan\n- 2 or 02: Issuer-funded installment plan\n- 43: Crediario installment plan\u2014only with Visa in Brazil\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nFor installment payments with Visa in Brazil, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR1\n- Position: 5-6\n- Field: Installment Type\n\nFor all other kinds of installment payments, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR5\n- Position: 39-40\n- Field: Installment Plan Type (Issuer or Merchant)\n" }, "sequence": { "type": "integer", "maximum": 99, "description": "Installment number when making payments in installments. Used along with `totalCount` to track which payment is being processed.\n\nFor example, the second of 5 payments would be passed to CyberSource as `sequence` = 2 and `totalCount` = 5.\n\nFor details, see \"Installment Payments\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Chase Paymentech Solutions and FDC Compass\nThis field is optional because this value is required in the merchant descriptors.\nFor details, see \"Chase Paymentech Solutions Merchant Descriptors\" and \"FDC Compass Merchant Descriptors\" in the [Merchant Descriptors Using the SCMP API]\n(https://apps.cybersource.com/library/documentation/dev_guides/Merchant_Descriptors_SCMP_API/html/)\n\n#### CyberSource through VisaNet\nWhen you do not include this field in a request for a Crediario installment payment, CyberSource sends a value of 0 to the processor.\n\nFor Crediario installment payments, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP01 TCR9\n- Position: 38-40\n- Field: Installment Payment Number\n\n* The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" }, "totalAmount": { "type": "string", "maxLength": 12, "description": "Total amount of the loan that is being paid in installments. This field is supported only for CyberSource\nthrough VisaNet.\n\nFor details, see \"Installment Payments\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "totalCount": { "type": "integer", "maximum": 99, "description": "Total number of installments when making payments in installments.\n\nFor details, see \"Installment Payments\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Chase Paymentech Solutions and FDC Compass\nThis field is optional because this value is required in the merchant descriptors.\n\nFor details, see \"Chase Paymentech Solutions Merchant Descriptors\" and \"FDC Compass Merchant Descriptors\" in the [Merchant Descriptors Using the SCMP API.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Merchant_Descriptors_SCMP_API/html/)\n\n#### American Express Direct, Cielo, and Comercio Latino\nThis value is the total number of installments you approved.\n\n#### CyberSource Latin American Processing in Brazil\nThis value is the total number of installments that you approved. The default is 1.\n\n#### All Other Processors\nThis value is used along with _sequence_ to track which payment is being processed.\n\nFor example, the second of 5 payments would be passed to CyberSource as _sequence_ = 2 and _totalCount_ = 5.\n\n#### CyberSource through VisaNet\nFor Crediario installment payments, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP01 TCR9\n- Position: 23-25\n- Field: Number of Installments\n\nFor installment payments with American Express in Brazil, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP07 TCR3\n- Position: 7-8\n- Field: Number of Installments\n\nFor installment payments with Visa in Brazil, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP07 TCR1\n- Position: 7-8\n- Field: Number of Installments\n\nFor all other kinds of installment payments, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP01 TCR5\n- Position: 20-22\n- Field: Installment Total Count\n\n**Note** The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" }, "firstInstallmentDate": { "type": "string", "maxLength": 6, "description": "Date of the first installment payment. Format: YYMMDD. When you do not include this field, CyberSource sends a string of six zeros (000000) to the processor.\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThis field is supported only for Crediario installment payments in Brazil on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR9\n- Position: 42-47\n- Field: Date of First Installment\n" }, "invoiceData": { "type": "string", "maxLength": 20, "description": "Invoice information that you want to provide to the issuer. This value is similar to a tracking number and is\nthe same for all installment payments for one purchase.\n\nThis field is supported only for installment payments with Mastercard on CyberSource through VisaNet in Brazil.\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR4\n- Position: 51-70\n- Field: Purchase Identification\n" }, "paymentType": { "type": "string", "maxLength": 1, "description": "Payment plan for the installments.\n\nPossible values:\n- 0 (default): Regular installment. This value is not allowed for airline transactions.\n- 1: Installment payment with down payment.\n- 2: Installment payment without down payment. This value is supported only for airline transactions.\n- 3: Installment payment; down payment and boarding fee will follow. This value is supported only for airline transactions.\n- 4: Down payment only; regular installment payment will follow.\n- 5: Boarding fee only. This value is supported only for airline transactions.\n\nThis field is supported only for installment payments with Visa on CyberSource through VisaNet in Brazil.\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR1\n- Position: 9\n- Field: Merchant Installment Supporting Information\n" }, "eligibilityInquiry": { "type": "string", "maxLength": 9, "description": "Indicates whether the authorization request is a Crediario eligibility inquiry.\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nSet the value for this field to `Crediario`.\n\nThis field is supported only for Crediario installment payments in Brazil on CyberSource through VisaNet.\n" }, "gracePeriodDuration": { "type": "string", "maximum": 99, "description": "Grace period requested by the customer before the first installment payment is due.\n\nWhen you include this field in a request, you must also include the grace period duration type field.\n\nThe value for this field corresponds to the following data in the TC 33 capture file3: Record: CP01 TCR5, Position: 100-101, Field: Mastercard Grace Period Details.\n\nThis field is supported only for Mastercard installment payments in Brazil and Greece.\n" }, "gracePeriodDurationType": { "type": "string", "maxLength": 1, "description": "Unit for the requested grace period duration.\n\nPossible values:\n- `D`: Days\n- `W`: Weeks\n- `M`: Months\n\nThe value for this field corresponds to the following data in the TC 33 capture file3: Record: CP01 TCR5, Position: 99, Field: Mastercard Grace Period Details\n\nThis field is supported only for Mastercard installment payments in Brazil and Greece on CyberSource through VisaNet.\n" }, "firstInstallmentAmount": { "type": "string", "maxLength": 13, "description": "Amount of the first installment payment. The issuer provides this value when the first installment payment is successful.\nThis field is supported for Mastercard installment payments on CyberSource through VisaNet in all countries except Brazil,Croatia, Georgia, and Greece.\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR5\n- Position: 23-34\n- Field: Amount of Each Installment\n" }, "validationIndicator": { "type": "string", "maximum": 1, "description": "Standing Instruction/Installment validation indicator.\n- '1': Prevalidated\n- '2': Not Validated\n" }, "identifier": { "type": "string", "maximum": 60, "description": "Standing Instruction/Installment identifier.\n" } } }, "travelInformation": { "type": "object", "properties": { "duration": { "type": "string", "maxLength": 2, "description": "Duration of the auto rental or lodging rental.\n\n#### Auto rental\nThis field is supported for Visa, MasterCard, and American Express.\n**Important** If this field is not included when the `processingInformation.industryDataType` is auto rental,\nthe transaction is declined.\n" }, "agency": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 8, "description": "International Air Transport Association (IATA) code of travel agency that made the vehicle rental reservation.\n" }, "name": { "type": "string", "maxLength": 25, "description": "Name of travel agency that made the reservation.\n" } } }, "autoRental": { "type": "object", "properties": { "noShowIndicator": { "type": "boolean", "description": "No Show Indicator provides an indicator noting that the individual did not show up after making a reservation for a vehicle.\nPossible values:\n- true\n- false\n" }, "customerName": { "type": "string", "maxLength": 40, "description": "Name of the individual making the rental agreement.\n\nValid data lengths by card:\n\n|Card Specific Validation|VISA|MasterCard|Discover|AMEX|\n|--- |--- |--- |--- |\n| Filed Length| 40| 40| 29| 26|\n| Field Type| AN| ANS| AN| AN|\n| M/O/C| O| M| M| M|\n" }, "vehicleClass": { "type": "string", "maxLength": 4, "description": "Classification of the rented auto.\n\n**NOTE** For VISA, this is a 2-byte optional code.\n\nValid values for American Express & MasterCard:\n\n|American Express |MasterCard |Description|\n|--- |--- |--- |\n| 0001| 0001| Mini|\n| 0002| 0002| Subcompact|\n| 0003| 0003| Economy|\n| 0004| 0004| Compact|\n| 0005| 0005| Midsize|\n| 0006| 0006| Intermediate|\n| 0007| 0007| Standard|\n| 0008| 0008| Fulll size|\n| 0009| 0009| Luxury|\n| 0010| 0010| Premium|\n| 0011| 0011| Minivan|\n| 0012| 0012| 12-passenger van|\n| 0013| 0013| Moving van|\n| 0014| 0014| 15-passenger van|\n| 0015| 0015| Cargo van|\n| 0016| 0016| 12-foot truck|\n| 0017| 0017| 20-foot truck|\n| 0018| 0018| 24-foot truck|\n| 0019| 0019| 26-foot truck|\n| 0020| 0020| Moped|\n| 0021| 0021| Stretch|\n| 0022| 0022| Regular|\n| 0023| 0023| Unique|\n| 0024| 0024| Exotic|\n| 0025| 0025| Small/medium truck|\n| 0026| 0026| Large truck|\n| 0027| 0027| Small SUV|\n| 0028| 0028| Medium SUV|\n| 0029| 0029| Large SUV|\n| 0030| 0030| Exotic SUV|\n| 9999| 9999| Miscellaneous|\n\nAdditional Values allowed **only** for `American Express`:\n\n|American Express|MasterCard|Description|\n|--- |--- |--- |\n| 0031| NA| Four Wheel Drive|\n| 0032| NA| Special|\n| 0099| NA| Taxi|\n" }, "distanceTravelled": { "type": "string", "maxLength": 5, "description": "Total number of miles driven by the customer.\nThis field is supported only for MasterCard and American Express.\n" }, "distanceUnit": { "type": "string", "maxLength": 1, "description": "Miles/Kilometers Indicator shows whether the \"miles\" fields are expressed in miles or kilometers.\n\nAllowed values:\n- `K` - Kilometers\n- `M` - Miles\n" }, "returnDateTime": { "type": "string", "maxLength": 21, "description": "Date/time the auto was returned to the rental agency.\nFormat: ``yyyy-MM-dd HH-mm-ss z``\nThis field is supported for Visa, MasterCard, and American Express.\n" }, "rentalDateTime": { "type": "string", "maxLength": 21, "description": "Date/time the auto was picked up from the rental agency.\nFormat: `yyyy-MM-dd HH-mm-ss z`\nThis field is supported for Visa, MasterCard, and American Express.\n" }, "maxFreeDistance": { "type": "string", "maxLength": 4, "description": "Maximum number of free miles or kilometers allowed to a customer for the duration of the auto rental agreement.\nThis field is supported only for MasterCard and American Express.\n" }, "insuranceIndicator": { "type": "boolean", "description": "Used for MC and Discover\n\nValid values:\n- `true` - Yes (insurance was purchased)\n- `false` - No (insurance was not purchased)\n" }, "programCode": { "type": "string", "maxLength": 2, "description": "Used to identify special circumstances applicable to the Card Transaction or Cardholder, such as \"renter\" or \"show\".\n\nThis code is `2 digit` value agreed by Merchant and processor.\n" }, "returnAddress": { "type": "object", "properties": { "city": { "type": "string", "maxLength": 25, "description": "City where the auto was returned to the rental agency.\n" }, "state": { "type": "string", "maxLength": 3, "description": "State in which the auto was returned to the rental agency. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for MasterCard and American Express.\n" }, "country": { "type": "string", "maxLength": 3, "description": "Country where the auto was returned to the rental agency. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" }, "locationId": { "type": "string", "maxLength": 10, "description": "Code, address, phone number, etc. used to identify the location of the auto rental return.\nThis field is supported only for MasterCard and American Express.\n" }, "address1": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the rental address's street address.\n" }, "postalCode": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the return address's postal code.\n" }, "location": { "type": "string", "maxLength": 38, "description": "This field contains the location where the taxi passenger was dropped off or where the auto rental vehicle was returned.\n" } } }, "rentalAddress": { "type": "object", "properties": { "city": { "type": "string", "maxLength": 25, "description": "City in which the auto was rented.\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for American Express.\n\nFor all other card types, this field is ignored.\n" }, "state": { "type": "string", "maxLength": 3, "description": "State in which the auto was rented. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n" }, "country": { "type": "string", "maxLength": 3, "description": "Country where the auto was rented. Use the [ISO Standard Country Codes.](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\nThis field is supported only for American Express.\n" }, "locationId": { "type": "string", "maxLength": 10, "description": "The agency code, address, phone number, etc., used to identify the location where the vehicle was rented.\n" }, "address1": { "type": "string", "maxLength": 13, "description": "Address from where the vehicle was rented.\n" }, "address2": { "type": "string", "maxLength": 13, "description": "Address from where the vehicle was rented.\n" }, "postalCode": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the rental address's postal code.\n" }, "location": { "type": "string", "maxLength": 38, "description": "This field contains the location where a taxi passenger was picked up or where an auto rental vehicle was picked up. In most cases, this is the rental agency's business name that appears on the storefront and/or customer receipts, commonly referred to as the DBA (Doing Business As) name. However, if the vehicle was picked up at another location (e.g., a hotel,auto dealership, repair shop, etc.), the name of that location should be used. This entry must be easily recognized by the Cardmember to avoid unnecessary inquiries. If the name is more than 38 characters, use proper and meaningful abbreviation, when possible.\n" } } }, "agreementNumber": { "type": "string", "maxLength": 25, "description": "Auto rental agency's agreement (invoice) number provided to the customer. It is used to trace any inquiries about transactions.\nThis field is supported for Visa, MasterCard, and American Express.\nThis Merchant-defined value, which may be composed of any combination of characters and/or numerals, may become\npart of the descriptive bill on the Cardmember's statement.\n" }, "odometerReading": { "type": "string", "maxLength": 8, "description": "Odometer reading at time of vehicle rental.\n" }, "vehicleIdentificationNumber": { "type": "string", "maxLength": 20, "description": "This field contains a unique identifier assigned by the company to the vehicle.\n" }, "companyId": { "type": "string", "maxLength": 12, "description": "Corporate Identifier provides the unique identifier of the corporation or entity renting the vehicle:\n\n|Card Specific Validation|VISA|MasterCard|Discover|AMEX|\n|--- |--- |--- |--- |\n| Filed Length| NA| 12| NA| NA|\n| Field Type| NA| AN| NA| NA|\n| M/O/C| NA| O| NA| NA|\n" }, "numberOfAdditionalDrivers": { "type": "string", "maxLength": 1, "description": "The number of additional drivers included on the rental agreement not including the individual who signed the rental agreement.\n" }, "driverAge": { "type": "string", "maxLength": 3, "description": "Age of the driver renting the vehicle.\n" }, "specialProgramCode": { "type": "string", "maxLength": 2, "description": "Program code used to identify special circumstances, such as \"frequent renter\" or \"no show\" status for the renter.\nPossible values:\n- `0`: not applicable (default)\n- `1`: frequent renter\n- `2`: no show\n\nFor authorizations, this field is supported only for Visa.\n\nFor captures, this field is supported for Visa, MasterCard, and American Express.\n\nCode for special programs applicable to the Card Transaction or the Cardholder.\n" }, "vehicleMake": { "type": "string", "maxLength": 10, "description": "Make of the vehicle being rented (e.g., Chevrolet or Ford).\n" }, "vehicleModel": { "type": "string", "maxLength": 10, "description": "Model of the vehicle being rented (e.g., Cavalier or Focus).\n" }, "timePeriod": { "type": "string", "maxLength": 7, "description": "Indicates the time period for which the vehicle rental rate applies (e.g., daily, weekly or monthly). Daily, Weekly and Monthly are valid values.\n" }, "commodityCode": { "type": "string", "maxLength": 15, "description": "Commodity code or International description code used to classify the item. Contact your acquirer for a list of\ncodes.\n" }, "customerServicePhoneNumber": { "type": "string", "maxLength": 17, "description": "Customer service telephone number that is used to resolve questions or disputes. Include the area code, exchange, and number.\nThis field is supported only for MasterCard and American Express.\n" }, "taxDetails": { "type": "object", "properties": { "amount": { "type": "string", "maxLength": 13, "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n" }, "rate": { "type": "string", "maxLength": 6, "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" }, "applied": { "type": "boolean", "description": "Flag that indicates whether the tax amount (`travelInformation.autoRental.taxDetails.amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: tax amount is not included in the request.\n- `true`: tax amount is included in the request.\n" }, "exemptionCode": { "type": "string", "maxLength": 1, "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n" }, "taxType": { "type": "string", "maxLength": 10, "description": "Different taxes the rental agency applies to the rental agreement such as tourist tax, airport tax, or rental tax.\n" }, "taxSummary": { "type": "string", "maxLength": 12, "description": "Summary of all tax types\n" } } }, "insuranceAmount": { "type": "string", "maxLength": 12, "description": "Insurance charges.\nField is conditional and can include decimal point.\n" }, "oneWayDropOffAmount": { "type": "string", "maxLength": 12, "description": "Extra charges incurred for a one-way rental agreement for the auto.\nThis field is supported only for Visa.\n" }, "adjustedAmountIndicator": { "type": "string", "maxLength": 1, "description": "For **MasterCard** and **Discover**:\nAdjusted amount indicator code that indicates\nany miscellaneous charges incurred after the\nauto was returned. Possible values:\n- `A` - Drop-off charges\n- `B` - Delivery charges\n- `C` - Parking expenses\n- `D` - Extra hours\n- `E` - Violations\n- `X` - More than one of the above charges\n\nFor **American Express**:\nAudit indicator code that indicates any\nadjustment for mileage, fuel, auto damage,\netc. made to a rental agreement and whether\nthe cardholder was notified.\n\nPossible value for the authorization service:\n- `A` (default): adjustment amount greater than 0 (zero)\n\nPossible values for the capture service:\n- `X` - Multiple adjustments\n- `Y` - One adjustment only; Cardmember notified\n- `Z` - One adjustment only; Cardmember not notified. This value is used as the default if the request does not include this field and includes an adjustment amount greater than 0 (zero).\nThis is an optional field.\n" }, "adjustedAmount": { "type": "string", "maxLength": 12, "description": "Adjusted Amount indicates whether any miscellaneous charges were incurred after the vehicle was returned.\n\nFor authorizations, this field is supported only for American Express.\n\nFor captures, this field is supported only for MasterCard and American Express.\n**NOTE** For American Express, this field is required if the `travelInformation.autoRental.adjustedAmountIndicator` field\nis included in the request and has a value; otherwise, this field is optional.\n\nFor all other card types, this field is ignored.\n" }, "fuelCharges": { "type": "string", "maxLength": 12, "description": "Extra gasoline charges that extend beyond the basic rental agreement.\nThis field is supported only for Visa.\n" }, "weeklyRentalRate": { "type": "string", "maxLength": 12, "description": "Weekly Rental Amount provides the amount charged for a seven-day rental period. Field - Time Period needs to be populated with Weekly if this field is present\n" }, "dailyRentalRate": { "type": "string", "maxLength": 12, "description": "Daily auto rental rate charged.\nThis field is supported only for MasterCard and American Express.\n\nField - Time Period needs to be populated with Daily if this field is present\n" }, "ratePerMile": { "type": "string", "maxLength": 12, "description": "Rate charged for each mile.\nThis field is supported only for MasterCard and American Express.\n" }, "mileageCharge": { "type": "string", "maxLength": 12, "description": "Regular Mileage Charge provides the amount charged for regular miles traveled during vehicle rental. Two decimal places\n" }, "extraMileageCharge": { "type": "string", "maxLength": 12, "description": "Extra mileage charges that extend beyond the basic rental agreement.\nThis field is supported only for Visa.\n" }, "lateFeeAmount": { "type": "string", "maxLength": 12, "description": "Extra charges related to a late return of the rented auto.\nThis field is supported only for Visa.\n" }, "towingCharge": { "type": "string", "maxLength": 4, "description": "(Towing Charges) provides the amount charged to tow the rental vehicle.\n" }, "extraCharge": { "type": "string", "maxLength": 12, "description": "(Extra Charges) provides the extra charges associated with the vehicle rental.\n" }, "gpsCharge": { "type": "string", "maxLength": 12, "description": "Amount charged for renting a Global Positioning Service (GPS).\n" }, "phoneCharge": { "type": "string", "maxLength": 12, "description": "Additional charges incurred for phone usage included on the total bill.\n" }, "parkingViolationCharge": { "type": "string", "maxLength": 12, "description": "Extra charges incurred due to a parking violation for the auto.\nThis field is supported only for Visa.\n" }, "otherCharges": { "type": "string", "maxLength": 12, "description": "Total amount charged for all other miscellaneous charges not previously defined.\n" }, "companyName": { "type": "string", "maxLength": 50, "description": "Merchant to send their auto rental company name\n" }, "affiliateName": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the affiliate name.\n" } } }, "lodging": { "type": "object", "properties": { "checkInDate": { "type": "string", "maxLength": 6, "description": "Date on which the guest checked in. In the case of a no-show or a reservation, the scheduled arrival date.\nFormat: `MMDDYY`. For best interchange rates, make sure it is a valid date.\n" }, "checkOutDate": { "type": "string", "maxLength": 6, "description": "Date on which the guest checked out.\nFormat: `MMDDYY`. For best interchange rates, make sure it is a valid date.\n" }, "room": { "type": "array", "description": "The object containing the number of nights and the daily rate that applies for that no of nights.\n", "items": { "type": "object", "properties": { "dailyRate": { "type": "string", "maxLength": 8, "description": "Daily cost of the room.\n" }, "numberOfNights": { "type": "integer", "minimum": 1, "maximum": 9999, "description": "Number of nights billed at the rate specified by `travelInformation.lodging.room[].dailyRate`.\n" } } } }, "smokingPreference": { "type": "string", "maxLength": 1, "description": "Smoking preference of the guest.\nPossible values:\n- `Y`: smoking room\n- `N`: non-smoking room\n" }, "numberOfRooms": { "type": "integer", "minimum": 1, "maximum": 99, "description": "Number of rooms booked by the cardholder.\n" }, "numberOfGuests": { "type": "integer", "minimum": 1, "maximum": 99, "description": "Number of guests staying in the room.\n" }, "roomBedType": { "type": "string", "maxLength": 12, "description": "Type of room, such as queen, king, or two doubles.\n" }, "roomTaxType": { "type": "string", "maxLength": 10, "description": "Type of tax, such as tourist or hotel.\n" }, "roomRateType": { "type": "string", "maxLength": 12, "description": "Type of rate, such as corporate or senior citizen.\n" }, "guestName": { "type": "string", "maxLength": 40, "description": "Name of the guest under which the room is reserved.\n" }, "customerServicePhoneNumber": { "type": "string", "maxLength": 17, "description": "Your toll-free customer service phone number.\n" }, "corporateClientCode": { "type": "string", "maxLength": 17, "description": "Code assigned to a business. You can use this code to identify corporate rates and discounts for guests.\n" }, "additionalDiscountAmount": { "type": "string", "maxLength": 12, "description": "Amount of an additional coupon or discount.\n" }, "roomLocation": { "type": "string", "maxLength": 10, "description": "Location of room, such as lake view or ocean view.\n" }, "specialProgramCode": { "type": "string", "maxLength": 1, "description": "Code that identifies special circumstances.\nPossible values:\n- `1`: lodging (default)\n- `2`: no show reservation\n- `3`: advanced deposit\n" }, "totalTaxAmount": { "type": "string", "maxLength": 12, "description": "Total tax amount.\n" }, "prepaidCost": { "type": "string", "maxLength": 12, "description": "Prepaid amount, such as a deposit.\n" }, "foodAndBeverageCost": { "type": "string", "maxLength": 12, "description": "Cost for all food and beverages.\n" }, "roomTaxAmount": { "type": "string", "maxLength": 12, "description": "Total tax for the room.\n" }, "adjustmentAmount": { "type": "string", "maxLength": 12, "description": "Adjusted amount charged in addition to the reservation amount after the stay is complete.\n" }, "phoneCost": { "type": "string", "maxLength": 12, "description": "Cost of telephone services.\n" }, "restaurantCost": { "type": "string", "maxLength": 12, "description": "Cost of restaurant purchases\n" }, "roomServiceCost": { "type": "string", "maxLength": 12, "description": "Cost of room service.\n" }, "miniBarCost": { "type": "string", "maxLength": 12, "description": "Cost of mini-bar purchases.\n" }, "laundryCost": { "type": "string", "maxLength": 12, "description": "Cost of laundry services.\n" }, "miscellaneousCost": { "type": "string", "maxLength": 12, "description": "Miscellaneous costs.\n" }, "giftShopCost": { "type": "string", "maxLength": 12, "description": "Cost of gift shop purchases.\n" }, "movieCost": { "type": "string", "maxLength": 12, "description": "Cost of movies.\n" }, "healthClubCost": { "type": "string", "maxLength": 12, "description": "Cost of health club services.\n" }, "valetParkingCost": { "type": "string", "maxLength": 12, "description": "Cost of valet parking services.\n" }, "cashDisbursementCost": { "type": "string", "maxLength": 12, "description": "Cost of the cash that was disbursed plus any associated service fees\n" }, "nonRoomCost": { "type": "string", "maxLength": 12, "description": "Cost of non-room purchases, such as meals and gifts.\n" }, "businessCenterCost": { "type": "string", "maxLength": 12, "description": "Cost of business center services.\n" }, "loungeBarCost": { "type": "string", "maxLength": 12, "description": "Cost of lounge and bar purchases.\n" }, "transportationCost": { "type": "string", "maxLength": 12, "description": "Cost of transportation services.\n" }, "gratuityAmount": { "type": "string", "maxLength": 12, "description": "Gratuity.\n" }, "conferenceRoomCost": { "type": "string", "maxLength": 12, "description": "Cost of conference room services.\n" }, "audioVisualCost": { "type": "string", "maxLength": 12, "description": "Cost of audio visual services.\n" }, "banquestCost": { "type": "string", "maxLength": 12, "description": "Cost of banquet services.\n" }, "nonRoomTaxAmount": { "type": "string", "maxLength": 12, "description": "Tax on non-room purchases.\n" }, "earlyCheckOutCost": { "type": "string", "maxLength": 12, "description": "Service fee for early departure.\n" }, "internetAccessCost": { "type": "string", "maxLength": 12, "description": "Cost of Internet access.\n" }, "name": { "type": "string", "maxLength": 255, "description": "Name of the hotel for which the reservation is for. Mandatory in case the\nmerchant's business type is Hotel.\n" }, "hotelName": { "type": "string", "description": "The name of the hotel for which the reservation was made.\n" }, "checkInDateTime": { "type": "string", "description": "The date of the check-in in GMT+8 offset.\n" }, "checkOutDateTime": { "type": "string", "description": "The date of the check-out in GMT+8 offset.\n" } } }, "transit": { "type": "object", "properties": { "airline": { "type": "object", "properties": { "isDomestic": { "type": "string", "maxLength": 255, "description": "Specifies if the flight is:\nDomestic (01)\nInternational (02)\nIf Y then 01 else 02\n" }, "bookingReferenceNumber": { "type": "string", "maxLength": 15, "description": "Reference number for the airline booking.\nRequired if ticket numbers are not issued.\n" }, "carrierName": { "type": "string", "maxLength": 15, "description": "Airline that generated the ticket.\nFormat: English characters only.\nOptional request field.\n" }, "ticketIssuer": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 4, "description": "IATA2 airline code.\nFormat: English characters only.\nRequired for Mastercard; optional for all other card types.\n" }, "name": { "type": "string", "maxLength": 20, "description": "Name of the ticket issuer. If you do not include this field,\nCyberSource uses the value for your merchant name that is in the CyberSource merchant configuration database.\n" }, "address": { "type": "string", "maxLength": 16, "description": "Address of the company issuing the ticket.\n" }, "locality": { "type": "string", "maxLength": 18, "description": "City in which the transaction occurred.\nIf the name of the city exceeds 18 characters, use meaningful abbreviations.\nFormat: English characters only.\nOptional request field.\n" }, "administrativeArea": { "type": "string", "maxLength": 18, "description": "State in which transaction occured.\n" }, "postalCode": { "type": "string", "maxLength": 15, "description": "Zip code of the city in which transaction occured.\n" }, "country": { "type": "string", "maxLength": 18, "description": "Country in which transaction occured.\n" } } }, "ticketNumber": { "type": "string", "maxLength": 15, "description": "Ticket number.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" }, "checkDigit": { "type": "string", "maxLength": 1, "description": "Check digit for the ticket number. CyberSource recommends that you validate the check digit.\nWith Discover and Diners Club, a valid ticket number has these characteristics:\n- The value is numeric.\n- The first three digits are a valid IATA2 license plate carrier code.\n- The last digit is a check digit or zero (0).\n- All remaining digits are nonzero.\n" }, "restrictedTicketIndicator": { "type": "integer", "maxLength": 1, "description": "Flag that indicates whether or not the ticket is restricted (nonrefundable).\nPossible values:\n- 0: No restriction (refundable)\n- 1: Restricted (nonrefundable)\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" }, "transactionType": { "type": "integer", "maxLength": 2, "description": "Type of charge.\nPossible values:\n- 01: Charge is for an airline ticket\n- 02: Charge is for an item that is not an airline ticket\n" }, "extendedPaymentCode": { "type": "string", "maxLength": 3, "description": "The field is not currently supported.\n" }, "passengerName": { "type": "string", "maxLength": 42, "description": "Name of the passenger to whom the ticket was issued. This will always be a single passenger's name.\nIf there are more than one passengers, provide only the primary passenger's name.\nDo not include special characters such as commas, hyphens, or apostrophes.\nOnly ASCII characters are supported.\nFormat: English characters only.\nOptional request field.\n" }, "customerCode": { "type": "string", "maxLength": 40, "description": "Reference number or code that identifies the cardholder.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" }, "documentType": { "type": "string", "maxLength": 1, "description": "Airline document type code that specifies the purpose of the transaction.\nFormat: English characters only.\nOptional request field.\n\n| Code | Description |\n| --- | --- |\n| 01 | Passenger ticket |\n| 02 | Additional collection |\n| 03 | Excess baggage |\n| 04 | Miscellaneous charge order (MCO) or prepaid ticket authorization |\n| 05 | Special service ticket |\n| 06 | Supported refund |\n| 07 | Unsupported refund |\n| 08 | Lost ticket application |\n| 09 | Tour order voucher |\n| 10 | Ticket by mail |\n| 11 | Undercharge adjustment |\n| 12 | Group ticket |\n| 13 | Exchange adjustment |\n| 14 | SPD or air freight |\n| 15 | In-flight adjustment |\n| 16 | Agency passenger ticket |\n| 17 | Agency tour order or voucher |\n| 18 | Agency miscellaneous charge order (MCO) |\n| 19 | Agency exchange order |\n| 20 | Agency group ticket |\n| 21 | Debit adjustment for duplicate refund or use |\n| 22 | In-flight merchandise order |\n| 23 | Catalogue merchandise order |\n| 24 | In-flight phone charges |\n| 25 | Frequent flyer fee or purchase |\n| 26 | Kennel charge |\n| 27 | Animal transportation charge |\n| 28 | Firearms case |\n| 29 | Upgrade charge |\n| 30 | Credit for unused transportation |\n| 31 | Credit for class of service adjustment |\n| 32 | Credit for denied boarding |\n| 33 | Credit for miscellaneous refund |\n| 34 | Credit for lost ticket refund |\n| 35 | Credit for exchange refund |\n| 36 | Credit for overcharge adjustment |\n| 37 | Credit for multiple Unused tickets |\n| 38 | Exchange order |\n| 39 | Self-service ticket |\n| 41 | In-flight duty-free purchase |\n| 42 | Senior citizen discount booklets |\n| 43 | Club membership fee |\n| 44 | Coupon book |\n| 45 | In-flight charges |\n| 46 | Tour deposit |\n| 47 | Frequent flyer overnight delivery charge |\n| 48 | Frequent flyer fulfillment |\n| 49 | Small package delivery |\n| 50 | Vendor sale |\n| 51 | Miscellaneous taxes or fees |\n| 52 | Travel agency fee |\n| 60 | Vendor refund or credit |\n| 64 | Duty free sale |\n| 65 | Preferred seat upgrade |\n| 66 | Cabin upgrade |\n| 67 | Lounge or club access or day pass |\n| 68 | Agent assisted reservation or ticketing fee |\n| 69 | Ticket change or cancel fee |\n| 70 | Trip insurance |\n| 71 | Unaccompanied minor |\n| 72 | Standby fee |\n| 73 | Curbside baggage |\n| 74 | In-flight medical equipment |\n| 75 | Ticket or pass print fee |\n| 76 | Checked sporting or special equipment |\n| 77 | Dry ice fee |\n| 78 | Mail or postage fee |\n| 79 | Club membership fee or temporary trial |\n| 80 | Frequent flyer activation or reinstatement |\n| 81 | Gift certificate |\n| 82 | Onboard or in-flight prepaid voucher |\n| 83 | Optional services fee |\n| 84 | Advance purchase for excess baggage |\n| 85 | Advance purchase for preferred seat upgrade |\n| 86 | Advance purchase for cabin upgrade |\n| 87 | Advance purchase for optional services |\n| 88 | WiFi |\n| 89 | Packages |\n| 90 | In-flight entertainment or internet access |\n| 91 | Overweight bag fee |\n| 92 | Sleep sets |\n| 93 | Special purchase fee |\n" }, "documentNumber": { "type": "string", "maxLength": 14, "description": "The field is not currently supported.\n" }, "documentNumberOfParts": { "type": "integer", "maxLength": 4, "description": "The field is not currently supported.\n" }, "invoiceNumber": { "type": "string", "maxLength": 25, "description": "Invoice number for the airline transaction.\n" }, "invoiceDate": { "type": "integer", "maxLength": 8, "description": "Invoice date. The format is YYYYMMDD.\nIf this value is\nincluded in the request, it is used in the creation of the invoice number. See \"Invoice Number,\"\n" }, "additionalCharges": { "type": "string", "maxLength": 20, "description": "Description of the charge if the charge does not involve an airline ticket.\nFor example: Excess baggage.\n" }, "totalFeeAmount": { "type": "string", "maxLength": 12, "description": "Total fee for the ticket. This value cannot exceed `99999999999999999999` (twenty 9s).\nFormat: English characters only.\nOptional request field.\n" }, "clearingSequence": { "type": "string", "maxLength": 2, "description": "Number that identifies the clearing message when multiple clearing messages are allowed per authorized transaction.\nEach clearing message linked to one authorization request must include a unique clearing sequence number between 1 and the total number of clearing records.\nFormat: English characters only.\nOptional request field.\n" }, "clearingCount": { "type": "string", "maxLength": 2, "description": "Total number of clearing messages associated with the authorization request.\nFormat: English characters only.\nOptional request field.\n" }, "totalClearingAmount": { "type": "string", "maxLength": 20, "description": "Total clearing amount for all transactions in the clearing count set.\nThis value cannot exceed `99999999999999999999` (twenty 9s).\nFormat: English characters only.\nIf this field is not set and if the total amount from the original authorization is not NULL,\nthe total clearing amount is set to the total amount from the original authorization.\n" }, "numberOfPassengers": { "type": "integer", "maxLength": 3, "description": "Number of passengers for whom the ticket was issued.\nFormat: English characters only.\nOptional request field.\n" }, "reservationSystemCode": { "type": "string", "maxLength": 20, "description": "Code that specifies the computerized reservation system used to make the reservation and purchase the ticket.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" }, "processIdentifier": { "type": "string", "maxLength": 3, "description": "Airline process identifier. This value is the airline's three-digit IATA1 code\nwhich is used to process extended payment airline tickets.\n" }, "ticketIssueDate": { "type": "string", "maxLength": 8, "description": "Date on which the transaction occurred.\nFormat: `YYYYMMDD`\nFormat: English characters only.\nOptional request field.\n" }, "electronicTicketIndicator": { "type": "boolean", "description": "Flag that indicates whether an electronic ticket was issued.\nPossible values:\n- `true`\n- `false`\nOptional request field.\n" }, "originalTicketNumber": { "type": "string", "maxLength": 14, "description": "Original ticket number when the transaction is for a replacement ticket.\n" }, "purchaseType": { "type": "string", "maxLength": 3, "description": "Type of purchase. Possible values:\n- `EXC`: Exchange ticket\n- `MSC`: Miscellaneous (not a ticket purchase and not a transaction related to an exchange ticket)\n- `REF`: Refund\n- `TKT`: Ticket\nFormat: English characters only.\nOptional request field.\n" }, "creditReasonIndicator": { "type": "string", "maxLength": 1, "description": "Reason for the credit.\nPossible values:\n- `A`: Cancellation of the ancillary passenger transport purchase.\n- `B`: Cancellation of the airline ticket and the passenger transport ancillary purchase.\n- `C`: Cancellation of the airline ticket.\n- `O`: Other.\n- `P`: Partial refund of the airline ticket.\nFormat: English characters only.\n\nOptional request field.\n" }, "ticketChangeIndicator": { "type": "string", "maxLength": 1, "description": "Type of update.\nPossible values:\n- `C`: Change to the existing ticket.\n- `N`: New ticket.\nFormat: English characters only\nOptional request field.\n" }, "planNumber": { "type": "string", "maxLength": 1, "description": "Plan number based on the fare.\nThis value is provided by the airline.\nFormat: English characters only.\nOptional request field.\n" }, "arrivalDate": { "type": "string", "maxLength": 8, "description": "Date of arrival for the last leg of the trip.\nFormat: `MMDDYYYY`\nEnglish characters only.\nOptional request field.\n" }, "restrictedTicketDesciption": { "type": "string", "maxLength": 20, "description": "Text that describes the ticket limitations, such as _nonrefundable_.\nFormat: English characters only.\nOptional request field.\n" }, "exchangeTicketAmount": { "type": "string", "maxLength": 12, "description": "Amount of the exchanged ticket.\nFormat: English characters only.\n" }, "exchangeTicketFeeAmount": { "type": "string", "maxLength": 12, "description": "Fee for exchanging the ticket.\nFormat: English characters only.\nOptional request field.\n" }, "reservationType": { "type": "string", "maxLength": 32, "description": "The field is not currently supported.\n" }, "boardingFeeAmount": { "type": "string", "maxLength": 12, "description": "Boarding fee.\n" }, "legs": { "type": "array", "items": { "type": "object", "properties": { "carrierCode": { "type": "string", "maxLength": 4, "description": "IATA code for the carrier for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "flightNumber": { "type": "string", "maxLength": 6, "description": "Flight number for this leg of the trip.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "originatingAirportCode": { "type": "string", "maxLength": 5, "description": "IATA code for the originating airport for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "class": { "type": "string", "maxLength": 3, "description": "IATA code for the class of service for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "stopoverIndicator": { "type": "integer", "maxLength": 1, "description": "Code that indicates whether a stopover is allowed on this leg of the trip. Possible values:\n- `O` (capital letter \"O\") (default): Stopover allowed\n- `X` (capital letter \"X\"): Stopover not allowed\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "departureDate": { "type": "integer", "maxLength": 8, "description": "Departure date for the first leg of the trip.\nFormat: `YYYYMMDD`.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "destinationAirportCode": { "type": "string", "maxLength": 3, "description": "IATA code for the destination airport for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "fareBasis": { "type": "string", "maxLength": 15, "description": "Code for the fare basis for this leg of the trip.\nThe fare basis is assigned by the carriers and indicates a particular ticket type,\nsuch as business class or discounted/nonrefundable.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nFormat: English characters only.\nOptional request field for travel legs.auto_rental_regular_mileage_cost\n" }, "departTaxAmount": { "type": "string", "maxLength": 12, "description": "Amount of departure tax for this leg of the trip.\n" }, "conjunctionTicket": { "type": "string", "maxLength": 25, "description": "Ticket that contains additional coupons for this leg of the trip on an itinerary that has more than four segments.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "exchangeTicketNumber": { "type": "string", "maxLength": 25, "description": "New ticket number that is issued when the ticket is exchanged for this leg of the trip.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "couponNumber": { "type": "string", "maxLength": 1, "description": "Coupon number. Each leg on the ticket requires a separate coupon, and each coupon is identified by the coupon number.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "departureTime": { "type": "integer", "maxLength": 4, "description": "Time of departure for this leg of the trip. The format is military time and HHMM:\nIf not all zeros, then the hours must be `00-23` and the minutes must be `00-59`.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "departureTimeMeridian": { "type": "string", "maxLength": 1, "description": "AM or PM for the departure time.\nPossible values:\n- A: 12:00 midnight to 11:59 a.m.\n- P: 12:00 noon to 11:59 p.m\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "arrivalTime": { "type": "integer", "maxLength": 4, "description": "Time of arrival for this leg of the trip.\nThe format is military time and HHMM:\nIf not all zeros, then the hours must be `00-23` and the minutes must be `00-59`\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "arrivalTimeMeridian": { "type": "string", "maxLength": 1, "description": "AM or PM for the arrival time for this leg of the trip.\nPossible values:\n- `A`: 12:00 midnight to 11:59 a.m.\n- `P`: 12:00 noon to 11:59 p.m.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "endorsementsRestrictions": { "type": "string", "maxLength": 20, "description": "Notes or notations about endorsements and restrictions for this leg of the trip.\nEndorsements can be notations added by the travel agency, including mandatory government-required notations such as value added tax.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "totalFareAmount": { "type": "string", "maxLength": 15, "description": "Total fare for this leg of the trip.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "feeAmount": { "type": "string", "maxLength": 12, "description": "Fee for this leg of the trip, such as an airport fee or country fee.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "taxAmount": { "type": "string", "maxLength": 12, "description": "Tax for this leg of the trip.\nFormat: English characters only.\nOptional request field for travel legs.\n" } } } }, "ancillaryInformation": { "type": "object", "properties": { "ticketNumber": { "type": "string", "maxLength": 15, "description": "Ticket number, which consists of the carrier code, form, and serial number, without the check digit.\n**Important** This field is required in the U.S. in order for you to qualify for either the\ncustom payment service (CPS) or the electronic interchange reimbursement fee (EIRF) program.\nFormat: English characters only.\nOptional field for ancillary services.\n" }, "passengerName": { "type": "string", "maxLength": 20, "description": "Name of the passenger. If the passenger's name is not available, this value is the cardholder's name. If neither the passenger's name nor the cardholder's name is available,\nthis value is a description of the ancillary purchase.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom payment service (CPS) or the electronic interchange reimbursement fee (EIRF)\nprogram.\nFormat: English characters only.\nOptional field for ancillary service.\n" }, "connectedTicketNumber": { "type": "string", "maxLength": 15, "description": "Number for the airline ticket to which the ancillary purchase is connected.\n\nIf this purchase has a connection or relationship to another purchase such as a baggage fee for a passenger transport ticket, this field must contain the ticket number for the other purchase.\n\nFor a stand-alone purchase, the value for this field must be the same as the value for the `travelInformation.transit.airline.ancillaryInformation.ticketNumber` field.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom payment service (CPS) or the electronic interchange reimbursement fee (EIRF)\nprogram.\nFormat: English characters only.\nOptional request field for ancillary services.\n" }, "creditReasonIndicator": { "type": "string", "maxLength": 15, "description": "Reason for the credit.\nPossible values:\n- `A`: Cancellation of the ancillary passenger transport purchase.\n- `B`: Cancellation of the airline ticket and the passenger transport ancillary purchase.\n- `C`: Cancellation of the airline ticket.\n- `O`: Other.\n- `P`: Partial refund of the airline ticket.\nFormat: English characters only.\nOptional field for ancillary services.\n" }, "service": { "type": "array", "items": { "type": "object", "properties": { "categoryCode": { "type": "string", "maxLength": 4, "description": "Category code for the ancillary service that is provided. Obtain the codes from the International\nAir Transport Association (IATA).\n**Note** `#` is either 0, 1, 2, or 3.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom\npayment service (CPS) or the electronic interchange reimbursement fee (EIRF)program.\nFormat: English characters only.\nOptional request field for ancillary services.\n" }, "subCategoryCode": { "type": "string", "maxLength": 4, "description": "Subcategory code for the ancillary service category. Obtain the codes from the International\nAir Transport Association (IATA).\n**Note** `#` is either 0, 1, 2, or 3.\nFormat English characters only.\nOptional request field for ancillary services.\n" } } } } } }, "flightType": { "type": "string", "maxLength": 2, "description": "Specifies the type of flight.\nOne way (0)\nReturn (1)\nTransit (2)\nTransit & Return (3)\nMulti-City (4)\n" }, "insuranceAmount": { "type": "string", "maxLength": 255, "description": "The total cost of the flight insurance. Example: 10000.00\n" }, "frequentFlyerNumber": { "type": "string", "maxLength": 255, "description": "The consumer's frequent flyer number. Leave 0 if there is no\nfrequent flyer number\n" }, "thirdPartyStatus": { "type": "string", "maxLength": 255, "description": "Specifies if the travel agent joins the flight (0) or not (1)\n" }, "passengerType": { "type": "string", "maxLength": 50, "description": "List of passenger types in a booking code:\nA (Adult)\nC (Child)\nComma separated values for total number of passenger\n" }, "totalInsuranceAmount": { "type": "string", "maxLength": 50, "description": "Total insurance amount. We have per leg and not total\n" } } } } }, "vehicleData": { "type": "object", "properties": { "connectorType": { "type": "string", "maxLength": 3, "description": "This field will contain connector type values for electric vehicle transactions.\n\nPossible Values:\n001 (AC - J1772 Type 1)\n002 (AC - Mennekes - Type 2)\n003 (AC - GB/T)\n100 (DC - CCS1)\n101 (DC - CHAdeMO)\n102 (DC - CCS2)\n103 (DC - GB/T)\n200 (NACS \u2013 Tesla)\n" }, "chargingReasonCode": { "type": "string", "maxLength": 3, "description": "This field will contain charging reason code values for electric vehicle transactions.\n\nPossible Values:\n010 (Other Error)\n011 (Connector Lock Failure)\n012 (EV Communication Error)\n013 (Ground Failure)\n014 (High Temperature)\n015 (Internal Error)\n016 (Over Current Failure)\n017 (Over Voltage)\n018 (Power Meter Failure)\n019 (Power Switch Failure)\n020 (Reader Failure)\n021 (Reset Failure)\n022 (Under Voltage)\n023 (Weak Signal)\n100 (No Error)\n200 (Payment Related Error)\n" } } } } }, "healthCareInformation": { "type": "object", "properties": { "amountDetails": { "type": "array", "description": "array for Healthcare fields", "items": { "type": "object", "properties": { "amountType": { "type": "string", "maxLength": 35, "description": "Total amount that has been spent on healthcare in a transaction.\nValid Values for **Visa**:\n- `healthcare` - Total Amount Healthcare\n- `healthcare-transit` - Amount Transit\n- `vision` - Amount Vision/Optical\n- `prescription` - Amount Prescription/RX\n- `clinic` - Amount Clinic/Other Qualified Medical\n- `dental` - Amount Dental\n\n\n`Note:` - Prescription, Clinic and dental amounts must be preceded with the total healthcare amount and cannot occur individually. Vision and Transit must be sent individually and cannot be combined with total healthcare amount or any other amounts. Total Healthcare amount can be sent individually.\n\nValid Values for **MasterCard**:\n- `prescription` - Amount Prescription/RX\n- `eligible-total` - Total Amount Healthcare\n\n\n`Note:` - Prescription must be preceded with the total healthcare amount and cannot occur individually. Total Healthcare amount can be sent individually.\n" }, "amount": { "type": "string", "maxLength": 13, "description": "Total Amount that has been spent on the corresponding amountType. This is 13 byte field including sign.\nIf the amount is positive, then it is a debit for the customer.\nIf the amount is negative, then it is a credit for the customer.\n" } } } } } }, "promotionInformation": { "type": "object", "properties": { "additionalCode": { "type": "string", "maxLength": 12, "description": "Additional rental agency marketed coupons for consumers to discount the rate of the vehicle rental agreement.\n" }, "code": { "type": "string", "maxLength": 12, "description": "Code for a promotion or discount.\n" } } }, "tokenInformation": { "type": "object", "properties": { "jti": { "type": "string", "maxLength": 64, "description": "TMS Transient Token, 64 hexadecimal id value representing captured payment credentials (including Sensitive Authentication Data, e.g. CVV).\n" }, "transientTokenJwt": { "type": "string", "description": "Flex API Transient Token encoded as JWT (JSON Web Token), e.g. Flex microform or Unified Payment checkout result.\n" }, "paymentInstrument": { "type": "object", "properties": { "default": { "type": "boolean", "description": "Flag that specifies if the Payment Instrument should be made the Customers default.\nPossible values:\n- true\n- false : (default)\n", "default": false } } }, "shippingAddress": { "type": "object", "properties": { "default": { "type": "boolean", "description": "Flag that specifies if the Shipping Address should be made the Customers default.\nPossible values:\n- true\n- false : (default)\n", "default": false } } }, "networkTokenOption": { "type": "string", "description": "Indicates whether a payment network token associated with a TMS token should be used for authorization. This field can contain one of following values:\n\n- `ignore`: Use a tokenized card number for an authorization, even if the TMS token has an associated payment network token.\n- `prefer`: (Default) Use an associated payment network token for an authorization if the TMS token has one; otherwise, use the tokenized card number.\n" } } }, "invoiceDetails": { "type": "object", "description": "invoice Details", "properties": { "barcodeNumber": { "type": "string", "maxLength": 100, "description": "Barcode ID scanned from the Payment Application." } } }, "processorInformation": { "type": "object", "description": "Processor Information", "properties": { "preApprovalToken": { "type": "string", "maxLength": 60, "description": "Token received in original session service." }, "authorizationOptions": { "type": "object", "properties": { "panReturnIndicator": { "type": "string", "maxLength": 1, "description": "#### Visa Platform Connect\nThe field contains the PAN translation indicator for American Express Contactless Transaction. Valid value is\u00a0\n\n1- Expresspay Translation, PAN request\n2- Expresspay Translation, PAN and Expiry date request\n" } } }, "reversal": { "type": "object", "properties": { "preApprovalToken": { "type": "string", "maxLength": 60, "description": "This is a token generated by PSP, which is received in response to the Sessions service. This token should be sent in the following transactions." } } } } }, "agreementInformation": { "type": "object", "properties": { "agreementId": { "type": "string", "description": "Identifier for the mandate being signed for. This mandate id is required for all the subsequent transactions. \n" } } }, "riskInformation": { "type": "object", "description": "This object is only needed when you are requesting both payment and DM services at same time.", "properties": { "profile": { "type": "object", "description": "Identifies a risk profile.", "properties": { "name": { "type": "string", "maxLength": 30, "description": "Name of the active profile chosen by the profile selector. If no profile selector exists,\nthe default active profile is chosen.\n\n**Note** By default, your default profile is the active profile, or the Profile Selector chooses the active profile. Use this field\nonly if you want to specify the name of a different profile. The passed-in profile will then become the active profile.\n" } } }, "eventType": { "type": "string", "maxLength": 255, "description": "Specifies one of the following types of events:\n- login\n- account_creation\n- account_update\nFor regular payment transactions, do not send this field.\n" }, "buyerHistory": { "type": "object", "properties": { "customerAccount": { "type": "object", "properties": { "lastChangeDate": { "type": "string", "maxLength": 10, "description": "Date the cardholder's account was last changed.\nThis includes changes to the billing or shipping address, new payment accounts or new users added.\nRecommended for Discover ProtectBuy.\n" }, "creationHistory": { "type": "string", "description": "The values from the enum can be:\n- GUEST\n- NEW_ACCOUNT\n- EXISTING_ACCOUNT\n" }, "modificationHistory": { "type": "string", "description": "This field is applicable only in case of EXISTING_ACCOUNT in creationHistory. Possible values:\n- ACCOUNT_UPDATED_NOW\n- ACCOUNT_UPDATED_PAST\n" }, "passwordHistory": { "type": "string", "description": "This only applies for EXISTING_ACCOUNT in creationHistory.\nThe values from the enum can be:\n- PASSWORD_CHANGED_NOW\n- PASSWORD_CHANGED_PAST\n- PASSWORD_NEVER_CHANGED\n" }, "createDate": { "type": "string", "maxLength": 10, "description": "Date the cardholder opened the account.\nRecommended for Discover ProtectBuy.\nThis only applies for EXISTING_ACCOUNT in creationHistory.\n" }, "passwordChangeDate": { "type": "string", "maxLength": 10, "description": "Date the cardholder last changed or reset password on account.\nRecommended for Discover ProtectBuy.\nThis only applies for PASSWORD_CHANGED_PAST in passwordHistory.\n" } } }, "accountHistory": { "type": "object", "properties": { "firstUseOfShippingAddress": { "type": "boolean", "description": "Applicable when this is not a guest account.\n" }, "shippingAddressUsageDate": { "type": "string", "maxLength": 10, "description": "Date when the shipping address for this transaction was first used.\nRecommended for Discover ProtectBuy.\nIf `firstUseOfShippingAddress` is false and not a guest account, then this date is entered.\n" } } }, "accountPurchases": { "type": "integer", "maxLength": 4, "description": "Number of purchases with this cardholder account during the previous six months.\nRecommended for Discover ProtectBuy.\n" }, "addCardAttempts": { "type": "integer", "maxLength": 3, "description": "Number of add card attempts in the last 24 hours.\nRecommended for Discover ProtectBuy.\n" }, "priorSuspiciousActivity": { "type": "boolean", "description": "Indicates whether the merchant experienced suspicious activity (including previous fraud) on the account.\nRecommended for Discover ProtectBuy.\n" }, "paymentAccountHistory": { "type": "string", "description": "This only applies for NEW_ACCOUNT and EXISTING_ACCOUNT in creationHistory. Possible values are:\n- PAYMENT_ACCOUNT_EXISTS\n- PAYMENT_ACCOUNT_ADDED_NOW\n" }, "paymentAccountDate": { "type": "integer", "maxLength": 8, "description": "Date applicable only for PAYMENT_ACCOUNT_EXISTS in paymentAccountHistory\n" }, "transactionCountDay": { "type": "integer", "maxLength": 3, "description": "Number of transaction (successful or abandoned) for this cardholder account within the last 24 hours.\nRecommended for Discover ProtectBuy.\n" }, "transactionCountYear": { "type": "integer", "maxLength": 3, "description": "Number of transaction (successful or abandoned) for this cardholder account within the last year.\nRecommended for Discover ProtectBuy.\n" } } }, "auxiliaryData": { "type": "array", "items": { "type": "object", "description": "Contains auxiliary key-value pairs.", "properties": { "key": { "type": "string", "maxLength": 255, "description": "Fields that you can use to send additional data to Risk services.\n**Warning** Auxiliary fields are not intended to and MUST NOT\nbe used to capture personally identifying information.\nAccordingly, merchants are prohibited from capturing,\nobtaining, and/or transmitting any personally identifying\ninformation in or via the auxiliary data fields. Personally\nidentifying information includes, but is not limited to,\naddress, credit card number, social security number,\ndriver's license number, state-issued identification\nnumber, passport number, and card verification numbers\n(CVV, CVC2, CVV2, CID, CVN). In the event CyberSource\ndiscovers that a merchant is capturing and/or transmitting\npersonally identifying information via the auxiliary data\nfields, whether or not intentionally, CyberSource WILL\nimmediately suspend the merchant's account, which will\nresult in a rejection of any and all transaction requests\nsubmitted by the merchant after the point of suspension.\n" }, "value": { "type": "string", "maxLength": 255, "description": "String value for the key" } } } } } }, "acquirerInformation": { "type": "object", "properties": { "acquirerBin": { "type": "string", "maxLength": 11, "description": "Acquirer bank ID number that corresponds to a certificate that Cybersource already has.This ID has this format. 4XXXXX for Visa and 5XXXXX for Mastercard.\n" }, "country": { "type": "string", "maxLength": 2, "description": "Issuers need to be aware of the Acquirer's Country Code when the Acquirer country differs from the Merchant country and the Acquirer is in the EEA (European Economic Area).\n" }, "password": { "type": "string", "maxLength": 8, "description": "Registered password for the Visa directory server.\n" }, "merchantId": { "type": "string", "maxLength": 15, "description": "Username for the visa directory server that is created when your acquirer sets up your account. This ID might be the same as your merchant ID. the username can be 15 or 23 characters.\n" }, "acquirerMerchantId": { "type": "string", "maxLength": 15, "description": "Acquirer assigned merchant id. Check if your processor supports this field.\n" } } }, "recurringPaymentInformation": { "type": "object", "description": "This object contains recurring payment information.", "properties": { "endDate": { "type": "string", "maxLength": 10, "description": "The date after which no further recurring authorizations should be performed. Format: `YYYY-MM-DD`\n**Note** This field is required for recurring transactions.\n" }, "frequency": { "type": "integer", "maxLength": 4, "description": "Integer value indicating the minimum number of days between recurring authorizations. A frequency\nof monthly is indicated by the value 28. Multiple of 28 days will be used to indicate months.\n\nExample: 6 months = 168\n\nExample values accepted (31 days):\n- 31\n- 031\n- 0031\n\n**Note** This field is required for recurring transactions.\n" }, "numberOfPayments": { "type": "integer", "maxLength": 3, "description": "Total number of payments for the duration of the recurring subscription.\n" }, "originalPurchaseDate": { "type": "string", "maxLength": 17, "description": "Date of original purchase. Required for recurring transactions.\nFormat: `YYYY-MM-DDTHH:MM:SSZ`\n**Note**: If this field is empty, the current date is used.\n" }, "sequenceNumber": { "type": "integer", "maxLength": 3, "description": "This field is mandatory for Cartes Bancaires recurring transactions on Credit Mutuel-CIC. \nThis field records recurring sequence, e.g. 1st for initial, 2 for subsequent, 3 etc\n" }, "type": { "type": "string", "maxLength": 1, "description": "This contains the type of recurring payment.\nValid Values :\n1 - Registration/First transaction\n2 - Subsequent transaction\n3 - Modification\n4 - Cancellation\n" }, "occurrence": { "type": "string", "maxLength": 2, "description": "This value indicates how often a recurring payment occurs.\nValid Values :\n\u2022 01 (Daily)\n\u2022 02 (Twice weekly)\n\u2022 03 (Weekly)\n\u2022 04 (Ten days)\n\u2022 05 (Fortnightly)\n\u2022 06 (Monthly)\n\u2022 07 (Every two months)\n\u2022 08 (Trimester)\n\u2022 09 (Quarterly)\n\u2022 10 (Twice yearly)\n\u2022 11 (Annually)\n\u2022 12 (Unscheduled)\n" }, "validationIndicator": { "type": "string", "maxLength": 1, "description": "This tag will contain a value that indicates whether or not the recurring payment transaction has been validated.\nValid values :\n0- Not validated\n1- Validated\n" }, "amountType": { "type": "string", "maxLength": 1, "description": "Indicates recurring amount type agreed by the cardholder\nValid Values :\n1- Fixed amount recurring payment\n2- Recurring payment with maximum amount\n" }, "maximumAmount": { "type": "string", "maxLength": 12, "description": "This API field will contain the maximum amount agreed to by the cardholder. The currency of this amount\nwill be specified in Field 49\u2014Currency Code,Transaction.\n" }, "referenceNumber": { "type": "string", "maxLength": 35, "description": "This will contain a unique reference number for the recurring payment transaction.\n" } } }, "hostedPaymentInformation": { "type": "object", "properties": { "hostName": { "type": "string", "maxLength": 255, "description": "The title of the hosted payment page, displayed in the browser's tab. If\nnot set, defaults to the title set in the merchant configuration.\n" }, "ipAddress": { "type": "string", "maxLength": 255, "description": "URL of the merchant's logo to be displayed in Klarna's hosted payment\npage. If not set, defaults to the logo set in the merchant configuration.\n" }, "userAgent": { "type": "object", "description": "The images to be used as background on Klarna's payment page (the\nimage best matching the resolution will be used). This is a pass-through\nfield. Check Klarna's documentation for more information about the correct\nformat. This value can also be set in the merchant configuration.\n", "properties": { "url": { "type": "string", "maxLength": 255, "description": "Url for the image" }, "width": { "type": "integer", "description": "Width of the image" } } } } }, "watchlistScreeningInformation": { "type": "object", "properties": { "addressOperator": { "type": "string", "description": "Parts of the customer's information that must match with an entry in the DPL (denied parties list)\nbefore a match occurs. This field can contain one of the following values:\n- AND: (default) The customer's name or company and the customer's address must appear in the database.\n- OR: The customer's name must appear in the database.\n- IGNORE: You want the service to detect a match only of the customer's name or company but not of the address.\n" }, "weights": { "type": "object", "properties": { "address": { "type": "string", "maxLength": 6, "description": "Degree of correlation between a customer's address and an entry in the DPL\nbefore a match occurs. This field can contain one of the following values:\n- exact: The address must be identical to the entry in the DPL.\n- high: (default) The address cannot differ significantly from the entry in the DPL.\n- medium: The address can differ slightly more from the entry in the DPL.\n- low: The address can differ significantly from the entry in the DPL.\n" }, "company": { "type": "string", "maxLength": 6, "description": "Degree of correlation between a company address and an entry in the DPL\nbefore a match occurs. This field can contain one of the following values:\n- exact: The company name must be identical to the entry in the DPL.\n- high: (default) The company name cannot differ significantly from the entry in the DPL.\n- medium: The company name can differ slightly more from the entry in the DPL.\n- low: The company name can differ significantly from the entry in the DPL.\n" }, "name": { "type": "string", "maxLength": 6, "description": "Degree of correlation between a customer's name and an entry in the DPL\nbefore a match occurs. This field can contain one of the following values:\n- exact: The name must be identical to the entry in the DPL.\n- high: (default) The name cannot differ significantly from the entry in the DPL.\n- medium: The name can differ slightly more from the entry in the DPL.\n- low: The name can differ significantly the entry in the DPL.\n" } } }, "sanctionLists": { "type": "array", "items": { "type": "string", "maxLength": 255 }, "description": "Use this field to specify which list(s) you want checked with the request.\nThe reply will include the list name as well as the response data.\nTo check against multiple lists, enter multiple list codes separated by a caret (^).\nFor more information, see \"Restricted and Denied Parties List,\" page 68.\n" }, "proceedOnMatch": { "type": "boolean", "description": "Indicates whether the transaction should proceed if there is a match.\nPossible values:\n- `true`: Transaction proceeds even when match is found in the Denied Parties List. The match is noted in the response.\n- `false`: Normal watchlist screening behavior occurs. (Transaction stops if a match to DPL occurs. Transaction proceeds if no match.)\n" } } } }, "example": { "clientReferenceInformation": { "code": "TC50171_3" }, "orderInformation": { "billTo": { "country": "US", "lastName": "VDP", "address1": "201 S. Division St.", "postalCode": "48104-2201", "locality": "Ann Arbor", "administrativeArea": "MI", "firstName": "RTS", "phoneNumber": "999999999", "district": "MI", "buildingNumber": "123", "email": "test@cybs.com" }, "amountDetails": { "totalAmount": "102.21", "currency": "USD" } }, "paymentInformation": { "card": { "expirationYear": "2031", "number": "5555555555554444", "securityCode": "123", "expirationMonth": "12", "type": "002" } } } } } ], "responses": { "201": { "description": "Successful response.", "schema": { "title": "ptsV2PaymentsPost201Response", "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." } } }, "reversal": { "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." } } }, "capture": { "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." } } }, "customer": { "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." } } }, "paymentInstrument": { "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." } } }, "shippingAddress": { "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." } } }, "instrumentIdentifier": { "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.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "message": { "type": "string", "description": "More information about the transaction response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - AUTHORIZED\n - PARTIAL_AUTHORIZED\n - AUTHORIZED_PENDING_REVIEW\n - AUTHORIZED_RISK_DECLINED\n - PENDING_AUTHENTICATION\n - PENDING_REVIEW\n - DECLINED\n - INVALID_REQUEST\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" }, "errorInformation": { "type": "object", "properties": { "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - AVS_FAILED\n - CONTACT_PROCESSOR\n - EXPIRED_CARD\n - PROCESSOR_DECLINED\n - INSUFFICIENT_FUND\n - STOLEN_LOST_CARD\n - ISSUER_UNAVAILABLE\n - UNAUTHORIZED_CARD\n - CVN_NOT_MATCH\n - EXCEEDS_CREDIT_LIMIT\n - INVALID_CVN\n - DECLINED_CHECK\n - BLACKLISTED_CUSTOMER\n - SUSPENDED_ACCOUNT\n - PAYMENT_REFUSED\n - CV_FAILED\n - INVALID_ACCOUNT\n - GENERAL_DECLINE\n - INVALID_MERCHANT_CONFIGURATION\n - DECISION_PROFILE_REJECT\n - SCORE_EXCEEDS_THRESHOLD\n - PENDING_AUTHENTICATION\n - ACH_VERIFICATION_FAILED\n - DECISION_PROFILE_REVIEW\n - CONSUMER_AUTHENTICATION_REQUIRED\n - CONSUMER_AUTHENTICATION_FAILED\n - ALLOWABLE_PIN_RETRIES_EXCEEDED\n - PROCESSOR_ERROR\n - CUSTOMER_WATCHLIST_MATCH\n - ADDRESS_COUNTRY_WATCHLIST_MATCH\n - EMAIL_COUNTRY_WATCHLIST_MATCH\n - IP_COUNTRY_WATCHLIST_MATCH\n - INVALID_MERCHANT_CONFIGURATION\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" } } } } } }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "submitLocalDateTime": { "type": "string", "maxLength": 14, "description": "Date and time at your physical location.\n\nFormat: `YYYYMMDDhhmmss`, where YYYY = year, MM = month, DD = day, hh = hour, mm = minutes ss = seconds\n\n#### PIN Debit\nOptional field for PIN Debit purchase and credit requests.\n" }, "ownerMerchantId": { "type": "string", "description": "Merchant ID that was used to create the subscription or customer profile for which the service was requested.\n\nIf your CyberSource account is enabled for Recurring Billing, this field is returned only if you are using\nsubscription sharing and if your merchant ID is in the same merchant ID pool as the owner merchant ID.\n\nIf your CyberSource account is enabled for Payment Tokenization, this field is returned only if you are using\nprofile sharing and if your merchant ID is in the same merchant ID pool as the owner merchant ID.\n" } } }, "processingInformation": { "type": "object", "properties": { "bankTransferOptions": { "type": "object", "properties": { "settlementMethod": { "type": "string", "maxLength": 1, "description": "Method used for settlement.\n\nPossible values:\n- `A`: Automated Clearing House (default for credits and for transactions using Canadian dollars)\n- `F`: Facsimile draft (U.S. dollars only)\n- `B`: Best possible (U.S. dollars only) (default if the field has not already been configured for your\nmerchant ID)\n\nFor details, see `ecp_settlement_method` field description for credit cars and `ecp_debit_settlement_method` for debit cards in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" }, "fraudScreeningLevel": { "type": "string", "maxLength": 1, "description": "Level of fraud screening.\n\nPossible values:\n- `1`: Validation \u2014 default if the field has not already been configured for your merchant ID\n- `2`: Verification\n\nFor a description of this feature and a list of supported processors, see \"Verification and Validation\" in the [Electronic Check Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/).\n" } } }, "paymentSolution": { "type": "string", "maxLength": 12, "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/VCO_SCMP_API/html/)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. For details, see \"Masterpass\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\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" }, "enhancedDataEnabled": { "type": "boolean", "description": "The possible values for the reply field are:\n- `true` : the airline data was included in the request to the processor.\n- `false` : the airline data was not included in the request to the processor.\n\nReturned by authorization, capture, or credit services.\n" } } }, "processorInformation": { "type": "object", "properties": { "authIndicator": { "type": "string", "maxLength": 1, "description": "Flag that specifies the purpose of the authorization.\n\nPossible values:\n - `0`: Preauthorization\n - `1`: Final authorization\n" }, "approvalCode": { "type": "string", "maxLength": 6, "description": "Authorization code. Returned only when the processor returns this value.\n\nThe length of this value depends on your processor.\n\nReturned by authorization service.\n\n#### PIN debit\nAuthorization code that is returned by the processor.\n\nReturned by PIN debit credit.\n\n#### Elavon Encrypted Account Number Program\nThe returned value is OFFLINE.\n\n#### TSYS Acquiring Solutions\nThe returned value for a successful zero amount authorization is 000000.\n" }, "cardReferenceData": { "type": "string", "maxLength": 56, "description": "The Scheme reference data is a variable length data element up to a maximum of 56 characters. It may be sent by the acquirer in the\nauthorisation response message, and by the terminal (unchanged) in subsequent authorisation request messages associated with the same\ntransaction.\nThis field is used by Streamline and HSBC UK only, at present.\n" }, "transactionId": { "type": "string", "maxLength": 50, "description": "Network transaction identifier (TID). You can use this value to identify a specific transaction when you are\ndiscussing the transaction with your processor. Not all processors provide this value.\n\nReturned by the authorization service.\n\n#### PIN debit\nTransaction identifier generated by the processor.\n\nReturned by PIN debit credit.\n\n#### GPX\nProcessor transaction ID.\n\n#### Cielo\nFor Cielo, this value is the non-sequential unit (NSU) and is supported for all transactions. The value is generated by Cielo or the issuing bank.\n\n#### Comercio Latino\nFor Comercio Latino, this value is the proof of sale or non-sequential unit (NSU) number generated by the acquirers Cielo and Rede, or the issuing bank.\n\n#### CyberSource through VisaNet and GPN\nFor details about this value for CyberSource through VisaNet and GPN, see \"Network Transaction Identifiers\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Moneris\nThis value identifies the transaction on a host system. It contains the following information:\n- Terminal used to process the transaction\n- Shift during which the transaction took place\n- Batch number\n- Transaction number within the batch\nYou must store this value. If you give the customer a receipt, display this value on the receipt.\n\n**Example** For the value\n66012345001069003:\n- Terminal ID = 66012345\n- Shift number = 001\n- Batch number = 069\n- Transaction number = 003\n" }, "networkTransactionId": { "type": "string", "description": "Same value as `processorInformation.transactionId`" }, "responseCode": { "type": "string", "maxLength": 10, "description": "For most processors, this is the error message sent directly from the bank. Returned only when the processor\nreturns this value.\n\n**Important** Do not use this field to evaluate the result of the authorization.\n\n#### PIN debit\nResponse value that is returned by the processor or bank.\n**Important** Do not use this field to evaluate the results of the transaction request.\n\nReturned by PIN debit credit, PIN debit purchase, and PIN debit reversal.\n\n#### AIBMS\nIf this value is `08`, you can accept the transaction if the customer provides you with identification.\n\n#### Atos\nThis value is the response code sent from Atos and it might also include the response code from the bank.\nFormat: `aa,bb` with the two values separated by a comma and where:\n- `aa` is the two-digit error message from Atos.\n- `bb` is the optional two-digit error message from the bank.\n\n#### Comercio Latino\nThis value is the status code and the error or response code received from the processor separated by a colon.\nFormat: [status code]:E[error code] or [status code]:R[response code]\nExample `2:R06`\n\n#### JCN Gateway\nProcessor-defined detail error code. The associated response category code is in the `processorInformation.responseCategoryCode` field.\nString (3)\n" }, "responseCodeSource": { "type": "string", "maxLength": 1, "description": "Used by Visa only and contains the response source/reason code that identifies the source of the response decision.\n" }, "responseDetails": { "type": "string", "maxLength": 255, "description": "This field might contain information about a decline. This field is supported only for **CyberSource through\nVisaNet**.\n" }, "responseCategoryCode": { "type": "string", "maxLength": 36, "description": "Processor-defined response category code. The associated detail error code is in the `processorInformation.responseCode` or `issuerInformation.responseCode`\nfield of the service you requested.\n\nThis field is supported only for:\n\n - Japanese issuers\n - Domestic transactions in Japan\n - Comercio Latino\u2014processor transaction ID required for troubleshooting\n\n#### Maximum length for processors\n\n - Comercio Latino: 36\n - All other processors: 3\n" }, "forwardedAcquirerCode": { "type": "string", "maxLength": 32, "description": "Name of the Japanese acquirer that processed the transaction. Returned only for JCN Gateway.\nPlease contact the CyberSource Japan Support Group for more information.\n" }, "settlementDate": { "type": "string", "maxLength": 4, "description": "Field contains a settlement date. The date is in mmdd format, where: mm = month and dd = day.\n" }, "avs": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 1, "description": "AVS result code.\n\nReturned by authorization service.\n" }, "codeRaw": { "type": "string", "maxLength": 10, "description": "AVS result code sent directly from the processor. Returned only when the processor returns this value.\n**Important** Do not use this field to evaluate the result of AVS. Use for debugging purposes only.\n\nReturned by authorization service.\n" } } }, "cardVerification": { "type": "object", "properties": { "resultCode": { "type": "string", "maxLength": 1, "description": "CVN result code.\n\nFor details, see the `auth_cv_result` reply field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "resultCodeRaw": { "type": "string", "maxLength": 10, "description": "CVN result code sent directly from the processor. Returned only when the processor returns this value.\n\n**Important** Do not use this field to evaluate the result of card verification. Use for debugging purposes only.\n" } } }, "merchantAdvice": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 2, "description": "- Merchant should update their retry logic to ensure retry is not attempted for the cards for which Issuer won't approve the transactions and where the retry is allowed.\n- Card Processing Associations provides this data which is being passed through in the following data element irrespective of the Card Associations. Usage of this data must be always associated with the Card Associations card types for merchant processing retry logic.\n- In additions to the Merchant Advice code, Associations also provides the decline response codes which provides the reason for decline. Association response code will be a pass-through value.\n\n#### Processors supported:\n - HSBC\n - Barclays\n - FDC Nash\n - FDI Global\n - Elavon America\n - VPC\n - Rede\n - Payment tech Salem\n\n\n#### Possible values:\n| Card Type | Advice Code | Description |\n| ----------- | ------------- | ------------------------------------------- |\n| VISA | 1 | Issuer never approves |\n| VISA | 2 | Issuer cannot approve at this time |\n| VISA | 3 | Data quality/revalidate payment information |\n| MasterCard | 01 | New account information available |\n| MasterCard | 02 | Try Again Later |\n| MasterCard | 03 | Do Not Try Again |\n| MasterCard | 04 | Token not supported |\n| MasterCard | 21 | Do not honor |\n| MasterCard | 22 | Merchant does not qualify for product code |\n| MasterCard | 24 | Retry after 1 hour |\n| MasterCard | 25 | Retry after 24 hours |\n| MasterCard | 26 | Retry after 2 days |\n| MasterCard | 27 | Retry after 4 days |\n| MasterCard | 28 | Retry after 6 days |\n| MasterCard | 29 | Retry after 8 days |\n| MasterCard | 30 | Retry after 10 days |\n| MasterCard | 40 | Consumer non-reloadable prepaid card |\n| MasterCard | 41 | Consumer single-use virtual card number |\n| MasterCard | 42 | Sanctions score exceeds threshold value |\n| MasterCard | 99 | Do Not Try Again |\n\nFor processor-specific information, see the `auth_merchant_advice_code` field in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "codeRaw": { "type": "string", "maxLength": 4, "description": "Raw merchant advice code sent directly from the processor. This field is used only for Mastercard.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR7\n- Position: 96-99\n- Field: Response Data-Merchant Advice Code\n\n\nFor processor-specific information, see the `auth_merchant_advice_code_raw` field in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "nameMatch": { "type": "string", "maxLength": 2, "description": "#### Visa Platform Connect\nThe field contains will contain the Account Name Request Result for zero amount Authorization request. Valid values are:\n\n00 = Name Match Performed\n01 = Name Match not Performed\n02 = Name Match not supported\n" } } }, "electronicVerificationResults": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 1, "description": "Mapped Electronic Verification response code for the customer's name.\n\nFor details, see `auth_ev_name` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "codeRaw": { "type": "string", "maxLength": 1, "description": "Raw Electronic Verification response code from the processor for the customer's last name" }, "email": { "type": "string", "maxLength": 1, "description": "Mapped Electronic Verification response code for the customer's email address.\n\nFor details, see `auth_ev_email` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "emailRaw": { "type": "string", "maxLength": 1, "description": "Raw Electronic Verification response code from the processor for the customer's email address." }, "phoneNumber": { "type": "string", "maxLength": 1, "description": "Mapped Electronic Verification response code for the customer's phone number.\n\nFor details, see `auth_ev_phone_number` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "phoneNumberRaw": { "type": "string", "maxLength": 1, "description": "Raw Electronic Verification response code from the processor for the customer's phone number." }, "postalCode": { "type": "string", "maxLength": 1, "description": "Mapped Electronic Verification response code for the customer's postal code.\n\nFor details, see `auth_ev_postal_code` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "postalCodeRaw": { "type": "string", "maxLength": 1, "description": "Raw Electronic Verification response code from the processor for the customer's postal code." }, "street": { "type": "string", "maxLength": 1, "description": "Mapped Electronic Verification response code for the customer's street address.\n\nFor details, see `auth_ev_street` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "streetRaw": { "type": "string", "maxLength": 1, "description": "Raw Electronic Verification response code from the processor for the customer's street address." }, "name": { "type": "string", "maxLength": 30, "description": "#### Visa Platform Connect\nMapped Electronic Verification response code for the customer's name.\n\nValid values :\n\n'Y' Yes, the data Matches\n'N' No Match\n'O' Partial Match\n" }, "nameRaw": { "type": "string", "maxLength": 30, "description": "#### Visa Platform Connect\nRaw Electronic Verification response code from the processor for the customer's name.\n\nValid values :\n\n'01' Match\n'50' Partial Match\n'99' No Match\n" }, "firstNameRaw": { "type": "string", "maxLength": 2, "description": "#### Visa Platform Connect\nRaw electronic verification response code from the processor for the customer's first name.\n\nValid values :\n\n'01' Match\n'50' Partial Match\n'99' No Match\n" }, "firstName": { "type": "string", "maxLength": 1, "description": "#### Visa Platform Connect\nMapped electronic verification response code from the processor for the customer's first name.\n\nValid values :\n\n'Y' Yes, the data Matches\n'N' No Match\n'O' Partial Match\n" }, "middleNameRaw": { "type": "string", "maxLength": 2, "description": "#### Visa Platform Connect\nRaw electronic verification response code from the processor for the customer's middle name.\n\nValid values :\n\n'01' Match\n'50' Partial Match\n'99' No Match\n" }, "middleName": { "type": "string", "maxLength": 1, "description": "#### Visa Platform Connect\nMapped electronic verification response code from the processor for the customer's middle name.\n\nValid values :\n\n'Y' Yes, the data Matches\n'N' No Match\n'O' Partial Match\n" }, "lastNameRaw": { "type": "string", "maxLength": 2, "description": "#### Visa Platform Connect\nRaw electronic verification response code from the processor for the customer's last name.\n\nValid values :\n\n'01' Match\n'50' Partial Match\n'99' No Match\n" }, "lastName": { "type": "string", "maxLength": 1, "description": "#### Visa Platform Connect\nMapped electronic verification response code from the processor for the customer's last name.\n\nValid values :\n\n'Y' Yes, the data Matches\n'N' No Match\n'O' Partial Match\n" } } }, "achVerification": { "type": "object", "properties": { "resultCode": { "type": "string", "maxLength": 2, "description": "Results from the ACH verification service.\nFor details about this service and the possible values for the results, see \"ACH Verification\" and \"Verification Codes\" in the [Electronic Check Services Using the SCMP API](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/).\n" }, "resultCodeRaw": { "type": "string", "maxLength": 10, "description": "Raw results from the ACH verification service.\nFor details about this service and the possible values for the raw results, see \"ACH Verification\" and \"Verification Codes\" in the [Electronic Check Services Using the SCMP API](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/).\n" } } }, "customer": { "type": "object", "properties": { "personalIdResult": { "type": "string", "maxLength": 1, "description": "Personal identifier result. This field is supported only for Redecard in Brazil for CyberSource Latin\nAmerican Processing. If you included `buyerInformation.personalIdentification[].ID` in the request, this\nvalue indicates whether or not `buyerInformation.personalIdentification[].ID` matched a value in a record\non file. Returned only when the personal ID result is returned by the processor.\n\nPossible values:\n\n - `Y`: Match\n - `N`: No match\n - `K`: Not supported\n - `U`: Unknown\n - `Z`: No response returned\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\nconnection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n" } } }, "consumerAuthenticationResponse": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 3, "description": "Mapped response code for Visa Secure and American Express SafeKey.\n" }, "codeRaw": { "type": "string", "maxLength": 3, "description": "Raw response code sent directly from the processor for Visa Secure and American Express SafeKey:\n" } } }, "systemTraceAuditNumber": { "type": "string", "maxLength": 6, "description": "This field is returned only for **American Express Direct** and **CyberSource through VisaNet**.\nReturned by authorization and incremental authorization services.\n\n#### American Express Direct\n\nSystem trace audit number (STAN). This value identifies the transaction and is useful when investigating a\nchargeback dispute.\n\n#### CyberSource through VisaNet\n\nSystem trace number that must be printed on the customer's receipt.\n" }, "paymentAccountReferenceNumber": { "type": "string", "maxLength": 32, "description": "Visa-generated reference number that identifies a card-present transaction for which you provided one of the\nfollowing:\n\n - Visa primary account number (PAN)\n - Visa-generated token for a PAN\n\nThis reference number serves as a link to the cardholder account and to all transactions for that account.\nThis reply field is returned only for CyberSource through VisaNet.\n\n**Note** On CyberSource through VisaNet, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR8\n- Position: 79-110\n- Field: Payment Account Reference\n\nThe TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource.\nCyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer,\nwho uses this information to facilitate end-of-day clearing processing with payment networks.\n" }, "transactionIntegrityCode": { "type": "string", "maxLength": 2, "description": "Transaction integrity classification provided by Mastercard. This value specifies Mastercard's evaluation of\nthe transaction's safety and security. This field is returned only for **CyberSource through VisaNet**.\n\nFor card-present transactions, possible values:\n\n - `A1`: EMV or token in a secure, trusted environment\n - `B1`: EMV or chip equivalent\n - `C1`: Magnetic stripe\n - `E1`: Key entered\n - `U0`: Unclassified\n\nFor card-not-present transactions, possible values:\n\n - `A2`: Digital transactions\n - `B2`: Authenticated checkout\n - `C2`: Transaction validation\n - `D2`: Enhanced data\n - `E2`: Generic messaging\n - `U0`: Unclassified\n\nFor information about these values, contact Mastercard or your acquirer.\n\n#### CyberSource through VisaNet\n\nThe value for this field corresponds to the following data in the TC 33 capture file,1:\n- Record: CP01 TCR6\n- Position: 136-137\n- Field: Mastercard Transaction Integrity Classification\n\n1 The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource.\nCyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses\nthis information to facilitate end-of-day clearing processing with payment networks.\n" }, "amexVerbalAuthReferenceNumber": { "type": "string", "maxLength": 6, "description": "Referral response number for a verbal authorization with FDMS Nashville when using an American Express card.\nGive this number to American Express when you call them for the verbal authorization.\n" }, "masterCardServiceCode": { "type": "string", "maxLength": 2, "description": "Mastercard service that was used for the transaction. Mastercard provides this value to CyberSource.\n\nPossible value:\n - 53: Mastercard card-on-file token service\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 133-134\n- Field: Mastercard Merchant on-behalf service.\n**Note** This field is returned only for CyberSource through VisaNet.\n" }, "masterCardServiceReplyCode": { "type": "string", "maxLength": 1, "description": "Result of the Mastercard card-on-file token service. Mastercard provides this value to CyberSource.\n\nPossible values:\n\n - `C`: Service completed successfully.\n - `F`: One of the following:\n - Incorrect Mastercard POS entry mode. The Mastercard POS entry mode should be 81 for an authorization or\n authorization reversal.\n - Incorrect Mastercard POS entry mode. The Mastercard POS entry mode should be 01 for a tokenized request.\n - Token requestor ID is missing or formatted incorrectly.\n - `I`: One of the following:\n - Invalid token requestor ID.\n - Suspended or deactivated token.\n - Invalid token (not in mapping table).\n - `T`: Invalid combination of token requestor ID and token.\n - `U`: Expired token.\n - `W`: Primary account number (PAN) listed in electronic warning bulletin.\n\n**Note** This field is returned only for **CyberSource through VisaNet**.\n" }, "masterCardAuthenticationType": { "type": "string", "maxLength": 1, "description": "Type of authentication for which the transaction qualifies as determined by the Mastercard authentication\nservice, which confirms the identity of the cardholder. Mastercard provides this value to CyberSource.\n\nPossible values:\n\n - `1`: Transaction qualifies for Mastercard authentication type 1.\n - `2`: Transaction qualifies for Mastercard authentication type 2.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 132\n- Field: Mastercard Member Defined service.\n**Note** This field is returned only for CyberSource through VisaNet.\n" }, "name": { "type": "string", "maxLength": 30, "description": "Name of the Processor.\n" }, "routing": { "type": "object", "properties": { "network": { "type": "string", "maxLength": 4, "description": "PIN Debit Services:\nContains the ID of the debit network to which the transaction was routed.\n\n| Code | Network |\n| --- | --- |\n| 0000 | Priority Routing or Generic File Update |\n| 0002 | Visa programs, Private Label and non-Visa Authorization Gateway Services |\n| 0003 | Interlink |\n| 0004 | Plus |\n| 0008 | Star |\n| 0009 | Pulse|\n| 0010 | Star |\n| 0011 | Star |\n| 0012 | Star (primary network ID) |\n| 0013 | AFFN |\n| 0015 | Star |\n| 0016 | Maestro |\n| 0017 | Pulse (primary network ID) |\n| 0018 | NYCE (primary network ID) |\n| 0019 | Pulse |\n| 0020 | Accel |\n| 0023 | NETS |\n| 0024 | CU24 |\n| 0025 | Alaska Option |\n| 0027 | NYCE |\n| 0028 | Shazam |\n| 0029 | EBT POS |\n\nFDC Nashville Global authorization service:\n\nIndicates whether the transaction was routed to a credit network, a debit network, or the STAR signature debit\nnetwork.\n- `C`: Credit network\n- `D`: Debit network (without signature)\n- `S`: STAR signature debit network\n" }, "networkName": { "type": "string", "maxLength": 10, "description": "Name of the network to which the transaction was routed.\n" }, "customerSignatureRequired": { "type": "string", "maxLength": 1, "description": "Indicates whether you need to obtain the cardholder's signature.\n\nPossible values:\n- `Y`: You need to obtain the cardholder's signature.\n- `N`: You do not need to obtain the cardholder's signature.\n" } } }, "merchantNumber": { "type": "string", "maxLength": 15, "description": "Identifier that was assigned to you by your acquirer. This value must be printed on the receipt.\n\n#### Returned by\nAuthorizations and Credits.\n\nThis reply field is only supported by merchants who have installed client software on their POS terminals and\nuse these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n" }, "retrievalReferenceNumber": { "type": "string", "maxLength": 20, "description": "#### Ingenico ePayments\nUnique number that CyberSource generates to identify the transaction. You can use this value to identify transactions in the Ingenico ePayments Collections Report, which provides settlement information. Contact customer support for information about the report.\n\n### CyberSource through VisaNet\nRetrieval request number.\n" }, "paymentUrl": { "type": "string", "maxLength": 15, "description": "Direct the customer to this URL to complete the payment." }, "completeUrl": { "type": "string", "maxLength": 2048, "description": "The redirect URL for forwarding the consumer to complete page. This redirect needed by PSP to track browser information of consumer.\nPSP then redirect consumer to merchant success URL.\n" }, "signature": { "type": "string" }, "publicKey": { "type": "string" }, "sellerProtection": { "type": "object", "properties": { "type": { "type": "string", "description": "The kind of seller protection in force for the transaction. This field is\nreturned only when the protection eligibility value is set to\nELIGIBLE or PARTIALLY_ELIGIBLE.\nPossible values\n- ITEM_NOT_RECEIVED_ELIGIBLE: Sellers are protected\nagainst claims for items not received.\n- UNAUTHORIZED_PAYMENT_ELIGIBLE: Sellers are\nprotected against claims for unauthorized payments.\nOne or both values can be returned.\n" }, "eligibility": { "type": "string", "description": "The level of seller protection in force for the transaction.\nPossible values:\n- `ELIGIBLE`\n- `PARTIALLY_ELIGIBLE`\n- `INELIGIBLE`\n" }, "eligibilityType": { "type": "string", "maxLength": 60, "description": "The kind of seller protection in force for the transaction. This field is returned only when the protection_eligibility property is set to ELIGIBLE or PARTIALLY_ELIGIBLE.\nPossible values:\n- `ITEM_NOT_RECEIVED_ELIGIBLE: Sellers are protected against claims for items not received.`\n- `UNAUTHORIZED_PAYMENT_ELIGIBLE: Sellers are protected against claims for unauthorized payments.`\nOne or both values can be returned.\n" } } }, "transactionExpiryDate": { "type": "string", "maxLength": 8, "description": "The date on which the transaction expires and payment cannot be made.\n" }, "customUrl": { "type": "string", "description": "For merchants to declare customs\nCustoms declaration service URL.\n" }, "schemeAssignedId": { "type": "string", "maxLength": 150, "description": "Unique id assigned to a merchant by the APM and not PSP\nThe merchant ID, as boarded with Alipay\n" }, "deviceUrl": { "type": "string", "maxLength": 50, "description": "The QR code value. Convert this value into an image and send it to the POS terminal to be displayed. The terminal can also perform the conversion.\nThe value is a URL like in the example below:\nhttps://qr.alipay.com/pmxabcka1ts5grar12.\n" } } }, "issuerInformation": { "type": "object", "properties": { "country": { "type": "string", "maxLength": 3, "description": "Country in which the card was issued. This information enables you to determine whether the card was issued\ndomestically or internationally. Use the two-character [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\nThis field is supported for Visa, Mastercard, Discover, Diners Club, JCB, and Maestro (International) on Chase\nPaymentech Solutions.\n\nFor details, see `auth_card_issuer_country` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "discretionaryData": { "type": "string", "maxLength": 255, "description": "Data defined by the issuer.\n\nThe value for this reply field will probably be the same as the value that you submitted in the authorization request, but it is possible for the processor, issuer, or acquirer to modify the value.\n\nThis field is supported only for Visa transactions on **CyberSource through VisaNet**.\n\nFor details, see `issuer_additional_data` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "countrySpecificDiscretionaryData": { "type": "string", "maxLength": 140, "description": "Data defined by the issuer.\n\nThis national use field contains two subfields for information unique to the processing of Visa transactions by members in Japan.\nThis subfield contains the Katakana text to be printed on the receipt.\nFor details, see `jpo_issuer_message` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "responseCode": { "type": "string", "maxLength": 6, "description": "This is the raw Association/Issuer Response Codes. You can use 'issuer/association' response codes to identify when you can retry to authorize a declined transaction and increase successful transaction volumes. You'll receive an association/issuer response code for the majority of transactions.\n\n#### Processors supported:\n - HSBC\n - FDC Nashville Global\n - SIX\n\nCurrently SIX is not receiving Association/Issuer Response Codes here it receives the additional authorization code that must be printed on the receipt when returned by the processor.\n\n#### Possible values:\n| Card Type | Response Code | Description |\n| ----------- | ------------- | ------------------------------------------------------------------------------ |\n| VISA | 000 | Successful approval/completion or that V.I.P. PIN verification is successful |\n| VISA | 001 | Refer to card issuer |\n| VISA | 002 | Refer to card issuer, special condition |\n| VISA | 003 | Invalid merchant or service provider |\n| VISA | 004 | Pickup card | \n| MasterCard | 000 | Approved or completed successfully |\n| MasterCard | 001 | Refer to card issuer |\n| MasterCard | 003 | Invalid merchant |\n| MasterCard | 004 | Capture card |\n| MasterCard | 005 | Do not honor |\n| AMEX | 000 | Approved |\n| AMEX | 001 | Approve with ID |\n| AMEX | 002 | Partial Approval (Prepaid Cards only) |\n| AMEX | 100 | Deny |\n| AMEX | 101 | Expired Card/Invalid Expiration Date |\n| Discover | 000 | Approved or completed successfully |\n| Discover | 001 | Reserved for future USE |\n| Discover | 002 | Reserved for future USE |\n| Discover | 003 | Invalid Merchant |\n| Discover | 004 | Capture Card |\n| .... | ... | For details, see `issuerInformation. responseCode` field description in the [Credit Card Service Using the SCMP API Guide.] (https://developer.cybersource.com/content/dam/docs/cybs/en-us/api-fields/reference/all/rest/api-fields.pdf)| \n" }, "pinRequestIndicator": { "type": "string", "maxLength": 1, "description": "This field contains value '1' which is sent by Issuer in the response when PIN is requested by issuer, \n\nThis field is only supported for Visa Platform Connect.\n" } } }, "paymentAccountInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "suffix": { "type": "string", "description": "Last four digits of the cardholder's account number. This field is included in the reply message when the client software\nthat is installed on the POS terminal uses the token management service (TMS) to retrieve tokenized payment details.\n\nYou must contact customer support to have your account enabled to receive these fields in the credit reply message.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### PIN debit\nThis field is returned only for tokenized transactions. You can use this value on the receipt that you give to the cardholder.\n\nReturned by PIN debit credit and PIN debit purchase.\n\nThis field is supported only by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nValid values: `01` through `12`. Leading 0 is required.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value\n(`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is\nin the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause\nthe issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (_type_=039), if there is no expiration date on the card, use `12`.\n\n#### FDMS Nashville\nRequired field.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the payment card expires.\n\nFormat: `YYYY`.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`1900` through `3000`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (**_type_**`=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDMS Nashville\nRequired field.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. If you send in 2 digits, they must be the last 2 digits of the year.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `014`: Enroute[^1]\n- `021`: JAL[^1]\n- `024`: Maestro (UK Domestic)[^1]\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `042`: Maestro (International)[^1]\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `054`: Elo[^3]\n- `062`: China UnionPay\n- '070': EFTPOS\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "prefix": { "type": "string", "maxLength": 6, "description": "Bank Identification Number (BIN). This is the initial four to six numbers on a credit card account number.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "hashedNumber": { "type": "string", "maxLength": 60, "description": "#### Visa Platform Connect\nThis API field will contain the SHA 256 hashed value of PAN.\n" } } } } }, "paymentInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "suffix": { "type": "string", "description": "Last four digits of the cardholder's account number. This field is included in the reply message when the client software\nthat is installed on the POS terminal uses the token management service (TMS) to retrieve tokenized payment details.\n\nYou must contact customer support to have your account enabled to receive these fields in the credit reply message.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### PIN debit\nThis field is returned only for tokenized transactions. You can use this value on the receipt that you give to the cardholder.\n\nReturned by PIN debit credit and PIN debit purchase.\n\nThis field is supported only by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nValid values: `01` through `12`. Leading 0 is required.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value\n(`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is\nin the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause\nthe issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (_type_=039), if there is no expiration date on the card, use `12`.\n\n#### FDMS Nashville\nRequired field.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the payment card expires.\n\nFormat: `YYYY`.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`1900` through `3000`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (**_type_**`=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDMS Nashville\nRequired field.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. If you send in 2 digits, they must be the last 2 digits of the year.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `014`: Enroute[^1]\n- `021`: JAL[^1]\n- `024`: Maestro (UK Domestic)[^1]\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `042`: Maestro (International)[^1]\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `054`: Elo[^3]\n- `062`: China UnionPay\n- '070': EFTPOS\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "prefix": { "type": "string", "maxLength": 6, "description": "Bank Identification Number (BIN). This is the initial four to six numbers on a credit card account number.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "hashedNumber": { "type": "string", "maxLength": 60, "description": "#### Visa Platform Connect\nThis API field will contain the SHA 256 hashed value of PAN.\n" } } }, "tokenizedCard": { "type": "object", "properties": { "prefix": { "type": "string", "maxLength": 6, "description": "First six digits of token. CyberSource includes this field in the reply message when it decrypts the payment\nblob for the tokenized transaction.\n\nFor details, see `token_prefix` field description in [Google Pay Using the SCMP API.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Google_Pay_SCMP_API/html/)\n" }, "suffix": { "type": "string", "maxLength": 4, "description": "Last four digits of token. CyberSource includes this field in the reply message when it decrypts the payment\nblob for the tokenized transaction.\n\nFor details, see `token_suffix` field description in [Google Pay Using the SCMP API.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Google_Pay_SCMP_API/html/)\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `014`: Enroute[^1]\n- `021`: JAL[^1]\n- `024`: Maestro (UK Domestic)[^1]\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `042`: Maestro (International)[^1]\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `054`: Elo[^3]\n- `062`: China UnionPay\n- '070': EFTPOS\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "assuranceLevel": { "type": "string", "maxLength": 2, "description": "Confidence level of the tokenization. This value is assigned by the token service provider.\n\n**Note** This field is supported only for **CyberSource through VisaNet** and **FDC Nashville Global**.\n\nReturned by PIN debit credit or PIN debit purchase.\n\n**Note** Merchants supported for **CyberSource through VisaNet**/**Visa Platform Connect** are advised not to use this field.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "One of two possible meanings:\n- The two-digit month in which a token expires.\n- The two-digit month in which a card expires.\nFormat: `MM`\nPossible values: `01` through `12`\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_type=039`), if there is no expiration date on the card, use `12`.\\\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Samsung Pay and Apple Pay\nMonth in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\nFor processor-specific information, see the `customer_cc_expmo` field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n\nFor processor-specific information, see the `customer_cc_expyr` or `token_expiration_year` field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "requestorId": { "type": "string", "maxLength": 11, "description": "Value that identifies your business and indicates that the cardholder's account number is tokenized. This value\nis assigned by the token service provider and is unique within the token service provider's database.\n\n**Note** This field is supported only for **CyberSource through VisaNet** and **FDC Nashville Global**.\n\n#### PIN debit\nOptional field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.\n" }, "assuranceMethod": { "type": "string", "maxLength": 2, "description": "Confidence level of the tokenization. This value is assigned by the token service provider.\n\n**Note** This field is supported only for **Visa Platform Connect**\n" } } }, "accountFeatures": { "type": "object", "properties": { "accountType": { "type": "string", "maxLength": 2, "description": "Type of account. This value is returned only if you requested a balance inquiry. Possible values:\n\n - `00`: Not applicable or not specified\n - `10`: Savings account\n - `20`: Checking account\n - `30`: Credit card account\n - `40`: Universal account\n\n#### PIN debit\nType of account. This value is returned only if you requested a balance inquiry.\n\nPossible values:\n- `00`: Not applicable or not specified\n- `10`: Savings account\n- `20`: Checking account\n- `40`: Universal account\n- `96`: Cash benefits account\n- `98`: Food stamp account\n\nReturned by PIN debit purchase.\n" }, "accountStatus": { "type": "string", "maxLength": 1, "description": "Possible values:\n- `N`: Nonregulated\n- `R`: Regulated\n\nReturned by PIN debit credit or PIN debit purchase.\n\n**Note** This field is returned only for CyberSource through VisaNet.\n" }, "balances": { "type": "array", "description": "This is an array of multiple balances information an issuer can return for a given card.", "items": { "type": "object", "properties": { "accountType": { "type": "string", "maxLength": 2, "description": "Type of account.\n\nThis value is returned only if you request a balance inquiry.\n\nPossible values:\n\n - `00`: Not applicable or not specified\n - `10`: Savings account\n - `20`: Checking account\n - `30`: Credit card account\n - `40`: Universal account\n\nBalance Account Types returned on EBT Debit card transactions:\n\n - `96`: Cash Benefits Account (PIN Debit Gateway EBT only)\n - `98`: Food Stamp Account (PIN Debit Gateway EBT only)\n" }, "amount": { "type": "string", "maxLength": 13, "description": "Remaining balance on the account. If the processor returns the sign, positive or negative, this sign is prefixed\nto the amount value as (+/-).\n" }, "amountType": { "type": "string", "maxLength": 2, "description": "Type of amount. This value is returned only if you request a balance inquiry. The issuer determines the value\nthat is returned.\n\nPossible values for deposit accounts:\n\n - `01`: Current ledger (posted) balance.\n - `02`: Current available balance, which is typically the ledger balance minus outstanding authorizations. Some\n depository institutions also include pending deposits and the credit or overdraft line associated with the account.\n\nPossible values for credit card accounts:\n\n - `01`: Credit amount remaining for customer (open to buy).\n - `02`: Credit limit.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency of the remaining balance on the account.\n" } } } }, "balanceAmount": { "type": "string", "maxLength": 12, "description": "Remaining balance on the account.\n\nReturned by authorization service.\n\n#### PIN debit\nRemaining balance on the prepaid card.\n\nReturned by PIN debit purchase.\n" }, "balanceAmountType": { "type": "string", "maxLength": 2, "description": "Type of amount. This value is returned only if you requested a balance inquiry. The issuer determines the value\nthat is returned. Possible values for deposit accounts:\n\n - `01`: Current ledger (posted) balance.\n - `02`: Current available balance, which is typically the ledger balance less outstanding authorizations.\n\nSome depository institutions also include pending deposits and the credit or overdraft line associated with the\naccount. Possible values for credit card accounts:\n\n - `01`: Credit amount remaining for customer (open to buy).\n - `02`: Credit limit.\n" }, "currency": { "type": "string", "maxLength": 5, "description": "Currency of the remaining balance on the account. For the possible values, see the [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\nReturned by authorization service.\n\n#### PIN debit\nCurrency of the remaining balance on the prepaid card.\n\nReturned by PIN debit purchase.\n" }, "balanceSign": { "type": "string", "maxLength": 8, "description": "Sign for the remaining balance on the account. Returned only when the processor returns this value. Possible values:\n\nPossible values:\n- `Positive`\n- `Negative`\n\n#### PIN debit\nSign for the remaining balance on the prepaid card. Returned only when the processor returns this value.\n\nReturned by PIN debit purchase.\n" }, "affluenceIndicator": { "type": "string", "maxLength": 13, "description": "**Chase Paymentech Solutions**\n\nIndicates whether a customer has high credit limits. This information enables you to market high cost items to\nthese customers and to understand the kinds of cards that high income customers are using.\n\nThis field is supported for Visa, Mastercard, Discover, and Diners Club. Possible values:\n\n - `Y`: Yes\n - `N`: No\n - `X`: Not applicable / Unknown\n\n#### Litle\n\nFlag that indicates that a Visa cardholder or Mastercard cardholder is in one of the affluent categories.\nPossible values:\n\n - `AFFLUENT`: High income customer with high spending pattern (>100k USD annual income and >40k USD annual\n card usage).\n - `MASS AFFLUENT`: High income customer (>100k USD annual income).\n\n Maximum length is 13.\n\n#### Chase Paymentech Solutions\n Maximum length is 1.\n" }, "category": { "type": "string", "maxLength": 7, "description": "#### GPX\nMastercard product ID associated with the primary account number (PAN).\nReturned by authorization service.\n\n#### CyberSource through VisaNet\nVisa or Mastercard product ID that is associated with the primary account number (PAN).\nFor descriptions of the Visa product IDs, see the Product ID table on the [Visa\nRequest & Response Codes web page.](https://developer.visa.com/guides/request_response_codes)\n\nData Length: String (3)\n\n#### GPN\nVisa or Mastercard product ID that is associated with the primary account number (PAN).\nFor descriptions of the Visa product IDs, see the Product ID table on the\n[Visa Request & Response Codes web page.](https://developer.visa.com/guides/request_response_codes)\n\nData Length: String (3)\n\n#### Worldpay VAP\n**Important** Before using this field on Worldpay VAP,\nyou must contact CyberSource Customer Support to have\nyour account configured for this feature.\n\nType of card used in the transaction. The only possible value is:\n- `PREPAID`: Prepaid Card\n\nData Length: String (7)\n\n#### RBS WorldPay Atlanta\nType of card used in the transaction. Possible values:\n- `B`: Business Card\n- `O`: Noncommercial Card\n- `R`: Corporate Card\n- `S`: Purchase Card\n- `Blank`: Purchase card not supported\n\nData Length: String (1)\n" }, "commercial": { "type": "string", "maxLength": 1, "description": "Indicates whether the card is a commercial card, which enables you to include Level II data in your transaction\nrequests. This field is supported for Visa and Mastercard on **Chase Paymentech Solutions**. Possible values:\n\n - `Y`: Yes\n - `N`: No\n - `X`: Not applicable / Unknown\n" }, "group": { "type": "string", "maxLength": 1, "description": "Type of commercial card. This field is supported only for CyberSource through VisaNet. Possible values:\n\n - `B`: Business card\n - `R`: Corporate card\n - `S`: Purchasing card\n - `0`: Noncommercial card\n\nReturned by authorization service.\n" }, "healthCare": { "type": "string", "maxLength": 1, "description": "Indicates whether the card is a healthcare card. This field is supported for Visa and Mastercard on **Chase\nPaymentech Solutions**. Possible values:\n\n - `Y`: Yes\n - `N`: No\n - `X`: Not applicable / Unknown\n" }, "payroll": { "type": "string", "maxLength": 1, "description": "Indicates whether the card is a payroll card. This field is supported for Visa, Discover, Diners Club, and JCB\non **Chase Paymentech Solutions**. Possible values:\n\n - `Y`: Yes\n - `N`: No\n - `X`: Not applicable / Unknown\n" }, "level3Eligible": { "type": "string", "maxLength": 1, "description": "Indicates whether the card is eligible for Level III interchange fees, which enables you to include Level III\ndata in your transaction requests. This field is supported for Visa and Mastercard on **Chase Paymentech\nSolutions**. Possible values:\n\n - `Y`: Yes\n - `N`: No\n - `X`: Not applicable / Unknown\n" }, "pinlessDebit": { "type": "string", "maxLength": 1, "description": "Indicates whether the card is a PINless debit card. This field is supported for Visa and Mastercard on **Chase\nPaymentech Solutions**. Possible values:\n\n - `Y`: Yes\n - `N`: No\n - `X`: Not applicable / Unknown\n" }, "signatureDebit": { "type": "string", "maxLength": 1, "description": "Indicates whether the card is a signature debit card.\n\nThis information enables you to alter the way an order is processed. For example, you might not want to reauthorize a transaction for a signature debit card, or you might\nwant to perform reversals promptly for a signature debit card. This field is supported for Visa, Mastercard, and\nMaestro (International) on Chase Paymentech Solutions. Possible values:\n\n - `Y`: Yes\n - `N`: No\n - `X`: Not applicable / Unknown\n" }, "prepaid": { "type": "string", "maxLength": 1, "description": "Indicates whether the card is a prepaid card. This information enables you to determine when a gift card or\nprepaid card is presented for use when establishing a new recurring, installment, or deferred billing\nrelationship.\n\nThis field is supported for Visa, Mastercard, Discover, Diners Club, and JCB on Chase Paymentech Solutions.\nPossible values:\n\n - `Y`: Yes\n - `N`: No\n - `X`: Not applicable / Unknown\n" }, "regulated": { "type": "string", "maxLength": 1, "description": "Indicates whether the card is regulated according to the Durbin Amendment. If the card is regulated, the card\nissuer is subject to price caps and interchange rules. This field is supported for Visa, Mastercard, Discover,\nDiners Club, and JCB on Chase Paymentech Solutions. Possible values:\n\n - `Y`: Yes\n - `N`: No\n - `X`: Not applicable / Unknown\n" } } }, "bank": { "type": "object", "properties": { "account": { "type": "object", "properties": { "correctedAccountNumber": { "type": "string", "maxLength": 17, "description": "Corrected account number from the ACH verification service.\n\nFor details, see `ecp_debit_corrected_account_number` or `ecp_credit_corrected_account_number` field descriptions in [Electronic Check Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } }, "correctedRoutingNumber": { "type": "string", "maxLength": 9, "description": "Corrected account number from the ACH verification service.\n\nFor details, see `ecp_debit_corrected_routing_number` or `ecp_credit_corrected_routing_number` reply field descriptions in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } }, "customer": { "type": "object", "properties": { "customerId": { "type": "string", "description": "Unique identifier for the customer's card and billing information.\n\nWhen you use Payment Tokenization or Recurring Billing and you include this value in\nyour request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n\n**NOTE** When you use Payment Tokenization or Recurring Billing, the value for the Customer ID is actually the Cybersource payment token for a customer. This token stores information such as the consumer's card number so it can be applied towards bill payments, recurring payments, or one-time payments. By using this token in a payment API request, the merchant doesn't need to pass in data such as the card number or expiration date in the request itself.\n\nFor details, see the `subscription_id` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "id": { "type": "string", "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "paymentInstrument": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Payment Instrument token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Instrument Identifier token used in the transaction.\nWhen you include this value in your request, many of the fields that can be supplied for an authorization or credit\nbecome optional.\n", "minLength": 12, "maxLength": 32 }, "state": { "type": "string", "description": "Issuers state for the card number.\nValid values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" } } }, "shippingAddress": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Customers Shipping Address token used in the transaction.\nWhen you include this value in your request, many of the shipping fields that can be supplied for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "scheme": { "type": "string", "maxLength": 255, "description": "Subtype of card account. This field can contain one of the following values:\n- Maestro International\n- Maestro UK Domestic\n- MasterCard Credit\n- MasterCard Debit\n- Visa Credit\n- Visa Debit\n- Visa Electron\n\n**Note** Additional values may be present.\n\nFor all possible values, see the `score_card_scheme` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "bin": { "type": "string", "maxLength": 255, "description": "Credit card BIN (the first six digits of the credit card).Derived either from the `cc_bin` request field\nor from the first six characters of the `customer_cc_num` field.\n\nFor all possible values, see the `score_cc_bin` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "accountType": { "type": "string", "maxLength": 255, "description": "Type of payment card account. This field can refer to a credit card, debit card, or prepaid card\naccount type.\n\nFor all possible values, see the `score_card_account_type` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "issuer": { "type": "string", "maxLength": 255, "description": "Name of the bank or entity that issued the card account.\n\nFor all possible values, see the `score_card_issuer` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "binCountry": { "type": "string", "maxLength": 255, "description": "Country (two-digit country code) associated with the BIN of the customer's card used for the payment.\nReturned if the information is available. Use this field for additional information when reviewing orders.\nThis information is also displayed in the details page of the CyberSource Business Center.\n\nFor all possible values, see the `bin_country` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "eWallet": { "type": "object", "properties": { "fundingSource": { "type": "string", "maxLength": 30, "description": "Payment mode for the reference transaction.\nPossible values:\n- `INSTANT_TRANSFER`\n- `MANUAL_BANK_TRANSFER`\n- `DELAYED_TRANSFER`\n- `ECHECK`\n" }, "accountId": { "type": "string", "maxLength": 30, "description": "The ID of the customer, passed in the return_url field by PayPal after customer approval.\n" } } } } }, "paymentInsightsInformation": { "type": "object", "properties": { "responseInsights": { "type": "object", "properties": { "category": { "type": "string", "maxLength": 60, "description": "Categorization of response message from processor\n\nPossible Values:\n- `APPROVED`\n- `ISSUER_WILL_NEVER_APPROVE`\n- `ISSUER_CANT_APPROVE_AT_THIS_TIME`\n- `ISSUER_CANT_APPROVE_WITH_THESE_DETAILS`\n- `GENERIC_ERROR`\n- `OTHERS`\n- `MATCH_NOT_FOUND`\n" }, "categoryCode": { "type": "string", "maxLength": 2, "description": "Categorization Code of response message from processor\n\nPossible Values:\n- `01` : Issuer Will Never Approve\n- `02` : Issuer Can't Approve at this Time\n- `03` : Issuer Can't Approve with these Details\n- `04` : Generic Error\n- `98` : Others\n- `99` : Payment Insights Response Category Match Not Found\n" }, "processorRawName": { "type": "string", "maxLength": 40, "description": "Raw name of the processor used for the transaction processing, especially useful during acquirer swing to see\nwhich processor transaction settled with\n" } } } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 15, "description": "Amount you requested for the payment or capture.\n\nThis value is returned for partial authorizations.\nThis field is also returned on incremental authorizations will contain the aggregated amount from the original authorizations and all the incremental authorizations.\n" }, "authorizedAmount": { "type": "string", "maxLength": 15, "description": "Amount that was authorized.\n\nReturned by authorization service.\n\n#### PIN debit\nAmount of the purchase.\n\nReturned by PIN debit purchase.\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in Merchant Descriptors Using the SCMP API.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "settlementAmount": { "type": "string", "maxLength": 12, "description": "This is a multicurrency field. It contains the transaction amount (field 4), converted to the Currency used to bill the cardholder's account.\nThis field is returned for OCT transactions.\n" }, "settlementCurrency": { "type": "string", "maxLength": 3, "description": "This is a multicurrency-only field. It contains a 3-digit numeric code that identifies the currency used by the issuer to bill the cardholder's account.\nThis field is returned for OCT transactions.\n" }, "originalAmount": { "type": "string", "maxLength": 15, "description": "Amount in your original local pricing currency.\n\nThis value cannot be negative. You can include a decimal point (.) in this field to denote the currency\nexponent, but you cannot include any other special characters.\n\nIf needed, CyberSource truncates the amount to the correct number of decimal places.\n" }, "originalCurrency": { "type": "string", "maxLength": 15, "description": "Your local pricing currency code.\n\nFor the possible values, see the [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n" }, "processorTransactionFee": { "type": "string", "maxLength": 15, "description": "Amount up to N digit after the decimals separator as defined in ISO 4217 for the appropriate currency code.\n" }, "exchangeRate": { "type": "string", "maxLength": 17, "description": "The rate of conversion of the currency given in the request to CNY. The conversion happens at the time when Alipay's trade order is created\n" }, "foreignCurrency": { "type": "string", "maxLength": 3, "description": "Currency code for the transaction performed in cross border currency.\n" }, "foreignAmount": { "type": "string", "maxLength": 11, "description": "The transaction amount in CNY.\n" }, "discountAmount": { "type": "string", "maxLength": 11, "description": "If coupons/vouchers are used in the transaction, the discount amount redeemed in the settlement currency will be returned. Otherwise, no return.\n" } } }, "invoiceDetails": { "type": "object", "properties": { "level3TransmissionStatus": { "type": "boolean", "description": "Indicates whether CyberSource sent the Level III information to the processor. The possible values are:\n\nIf your account is not enabled for Level III data or if you did not include the purchasing level field in your\nrequest, CyberSource does not include the Level III data in the request sent to the processor.\n\nPossible values:\n- **true**\n- **false**\n" }, "salesSlipNumber": { "type": "integer", "maximum": 99999, "description": "Transaction identifier that is generated. You have the option of printing the sales slip number on the receipt.\nThis field is supported only on Cybersource through Visanet and JCN gateway.\n\nOptional field.\n\n#### Card Present processing message\nIf you included this field in the request, the returned value is the value that you sent in the request.\nIf you did not include this field in the request, the system generated this value for you.\n\nThe difference between this reply field and the `processorInformation.systemTraceAuditNumber` field is that the\nsystem generates the system trace audit number (STAN), and you must print the receipt number on the receipt;\nwhereas you can generate the sales slip number, and you can choose to print the sales slip number on the receipt.\n" } } }, "rewardPointsDetails": { "type": "object", "properties": { "pointsBeforeRedemption": { "type": "string", "maxLength": 10, "description": "Loyalty points total balance before redemption.\nFor Example: Points, such as 100\n" }, "pointsValueBeforeRedemption": { "type": "string", "maxLength": 12, "description": "The total value of loyalty points before redemption in the default currency. Max characters is 12 excluding the \".\" symbol\nFor Example: Points, such as 20.00\n" }, "pointsRedeemed": { "type": "string", "maxLength": 10, "description": "Number of loyalty points that were redeemed.\nFor Example: Points, such as 100\n" }, "pointsValueRedeemed": { "type": "string", "maxLength": 12, "description": "The value of the loyalty points that were redeemed in the default currency. Max characters is 12 excluding the \".\" symbol\nFor Example: Points, such as 100.00\n" }, "pointsAfterRedemption": { "type": "string", "maxLength": 10, "description": "Loyalty Points remaining total balance after redemption.\nFor Example: Points, such as 20.00\n" }, "pointsValueAfterRedemption": { "type": "string", "maxLength": 12, "description": "The value of the remaining loyalty points after redumption in the default currency. Max characters is 12 excluding the \".\" symbol\nFor Example: Points, such as 20.00\n" } } }, "billTo": { "type": "object", "properties": { "firstName": { "type": "string" }, "lastName": { "type": "string" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of the billing street address.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Second line of the billing street address.\n" }, "locality": { "type": "string", "maxLength": 60, "description": "City of the billing address.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits. \nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\nExample: 12345-6789\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space]\n[numeric][alpha][numeric]\nExample: A1B 2C3\n" }, "administrativeArea": { "type": "string", "maxLength": 60, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States and Canada.\n" }, "country": { "type": "string", "maxLength": 2, "description": "Country of the billing address. Use the two-character ISO Standard Country Codes.\n" }, "email": { "type": "string", "maxLength": 256, "description": "Email address of the customer.\n" }, "alternatePhoneNumberVerificationStatus": { "type": "string", "maxLength": 15, "description": "#### Visa Platform Connect\nContains one of the following values that will identify the phone number result code in the account verification response message:\n\n'VERIFIED' - Customer verified\n\n'UNVERIFIED' - Customer not verified\n\n'FAILED' - Customer verification failed\n" }, "alternateEmailVerificationStatus": { "type": "string", "maxLength": 15, "description": "#### Visa Platform Connect\nContains one of the following values that will identify the phone number result code in the account verification response message:\n\n'VERIFIED' - Customer verified\n\n'UNVERIFIED' - Customer not verified\n\n'FAILED' - Customer verification failed\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n\nIt is recommended that you include the country code when the order is from outside the U.S.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nOptional field.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "nameSuffix": { "type": "string", "maxLength": 60, "description": "Customer's name suffix.\n" } } }, "shipTo": { "type": "object", "properties": { "firstname": { "type": "string", "maxLength": 60, "description": "First name of the recipient.\n" }, "lastname": { "type": "string", "maxLength": 60, "description": "Last name of the recipient.\n" }, "address1": { "type": "string", "maxLength": 100, "description": "First line of the shipping address.\n" }, "address2": { "type": "string", "maxLength": 100, "description": "Second line of the shipping address.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "City of the shipping address.\n" }, "administrativeArea": { "type": "string", "maxLength": 40, "description": "State or province of shipping address. This is a State, Province, and Territory Codes for the United States and Canada.\n" }, "postalCode": { "type": "string", "maxLength": 20, "description": "Postal code of the shipping address. Consists of 5 to 9 digits.\n" }, "country": { "type": "string", "maxLength": 2, "description": "Country of shipping address. This is a two-character ISO Standard Country Codes.\n" }, "phoneNumber": { "type": "string", "maxLength": 20, "description": "Phone number of the recipient.\n" } } } } }, "pointOfSaleInformation": { "type": "object", "properties": { "emv": { "type": "object", "properties": { "tags": { "type": "string", "maxLength": 1998, "description": "EMV data that is transmitted from the chip card to the issuer, and from the issuer to the chip card. The EMV\ndata is in the tag-length-value format and includes chip card tags, terminal tags, and transaction detail tags.\n\nFor information about the individual tags, see the \"Application Specification\" section in the EMV 4.3 Specifications: http://emvco.com\n\n**Note** Card present information about EMV applies only to credit card processing and PIN debit processing.\nAll other card present information applies only to credit card processing. PIN debit processing is available only\non FDC Nashville Global.\n\n**Important** The following tags contain sensitive information and **must not** be included in this field:\n\n - `56`: Track 1 equivalent data\n - `57`: Track 2 equivalent data\n - `5A`: Application PAN\n - `5F20`: Cardholder name\n - `5F24`: Application expiration date (This sensitivity has been relaxed for Credit Mutuel-CIC, American Express Direct, FDC Nashville Global, First Data Merchant Solutions, and SIX)\n - `99`: Transaction PIN\n - `9F0B`: Cardholder name (extended)\n - `9F1F`: Track 1 discretionary data\n - `9F20`: Track 2 discretionary data\n\nFor captures, this field is required for contact EMV transactions. Otherwise, it is optional.\n\nFor credits, this field is required for contact EMV stand-alone credits and contactless EMV stand-alone credits.\nOtherwise, it is optional.\n\n**Important** For contact EMV captures, contact EMV stand-alone credits, and contactless EMV stand-alone credits,\nyou must include the following tags in this field. For all other types of EMV transactions, the following tags\nare optional.\n\n - `95`: Terminal verification results\n - `9F10`: Issuer application data\n - `9F26`: Application cryptogram\n\n\n#### CyberSource through VisaNet\n- In Japan: 199 bytes\n- In other countries: String (252)\n\nFor Mastercard Transactions, Optionally Tag 9F60 (Authenticated Application Data) and \nTag 96 (Kernel Identifier - Terminal) can be included in the Field.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n\n#### JCN Gateway\nThe following tags must be included:\n- `4F`: Application identifier\n- `84`: Dedicated file name\n\nData length: 199 bytes\n\n#### All other processors:\nString (999)\n\n#### Used by\nAuthorization: Optional\nAuthorization Reversal: Optional\nCredit: Optional\nPIN Debit processing (purchase, credit and reversal): Optional\n" }, "chipValidationType": { "type": "string", "maxLength": 2, "description": "Entity or service that provided the validation results returned in `chipValidationResult`.\n\nPossible values:\n - `02`: MasterCard on-behalf pre-validation service (The MasterCard authorization platform validated the M/Chip cryptogram before the authorization request reached the issuer.)\n - `03`: MasterCard on-behalf stand-in service (The MasterCard authorization platform validated the M/Chip cryptogram because the issuer was not available.)\n - `50`: Issuer\n - `90`: Chip fall-back transaction downgrade process (The chip could not be read.)\n\nThis field is returned only for NFC payment network tokenization transactions with MasterCard.\n\n**Note** No CyberSource through VisaNet acquirers support EMV at this time.\n" }, "chipValidationResult": { "type": "string", "maxLength": 1, "description": "Cryptogram validation results returned by the entity or service specified in `chipValidationType`.\n\nPossible values:\n- `A`: Application cryptogram is valid, but the application transaction counter (ATC) is outside allowed range. (A large jump in ATC values may indicate data copying or other fraud.)\n- `C`: Chip validation was completed successfully.\n- `E`: Application cryptogram is valid but the ATC indicates possible replay fraud.\n- `F`: Format error in the chip data.\n- `G`: Application cryptogram is valid but is not a valid authorization request cryptogram (ARQC).\n- `I`: Application cryptogram is invalid.\n- `T`: Application cryptogram is valid but terminal verification results (TVR) or card verification results (CVR) are invalid.\n- `U`: Application cryptogram could not be validated because of a technical error.\n\nThis field is returned only for NFC payment network tokenization transactions with MasterCard.\n\n**Note** No CyberSource through VisaNet acquirers support EMV at this time.\n" } } }, "amexCapnData": { "type": "string", "maxLength": 15, "description": "Point-of-sale details for the transaction. This value is returned only for **American Express Direct**.\nCyberSource generates this value, which consists of a series of codes that identify terminal capability,\nsecurity data, and specific conditions present at the time the transaction occurred. To comply with the CAPN\nrequirements, this value must be included in all subsequent follow-on requests, such as captures and follow-on\ncredits.\n\nWhen you perform authorizations, captures, and credits through CyberSource, CyberSource passes this value from\nthe authorization service to the subsequent services for you. However, when you perform authorizations through\nCyberSource and perform subsequent services through other financial institutions, you must ensure that your\nrequests for captures and credits include this value.\n\nFor details, see `auth_pos_data` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "terminalId": { "type": "string", "maxLength": 8, "description": "Identifier for the terminal at your retail location. You can define this value yourself, but consult the processor for requirements.\n\n#### CyberSource through VisaNet\nA list of all possible values is stored in your CyberSource account. If terminal ID validation is enabled for\nyour CyberSource account, the value you send for this field is validated against the list each time you include\nthe field in a request. To enable or disable terminal ID validation, contact CyberSource Customer Support.\n\nWhen you do not include this field in a request, CyberSource uses the default value that is defined in your CyberSource account.\n\n#### FDC Nashville Global\nTo have your account configured to support this field, contact CyberSource Customer Support. This value must be a value that FDC Nashville Global issued to you.\n\n#### For Payouts\nThis field is applicable for CyberSource through VisaNet.\n\n#### GPX\nIdentifier for the terminal at your retail location. A list of all possible values is stored in your account.\nIf terminal ID validation is enabled for your account, the value you send for this field is validated against\nthe list each time you include the field in a request. To enable or disable terminal ID validation, contact\ncustomer support.\n\nWhen you do not include this field in a request, the default value that is defined in your account is used.\n\nOptional for authorizations.\n\n#### Used by\n**Authorization**\nOptional for the following processors. When you do not include this field in a request, the default value that is\ndefined in your account is used.\n - American Express Direct\n - Credit Mutuel-CIC\n - FDC Nashville Global\n - SIX\n- Chase Paymentech Solutions: Optional field. If you include this field in your request, you must also include `pointOfSaleInformation.catLevel`.\n- FDMS Nashville: The default value that is defined in your account is used.\n- GPX\n- OmniPay Direct: Optional field.\n\nFor the following processors, this field is not used.\n- GPN\n- JCN Gateway\n- RBS WorldPay Atlanta\n- TSYS Acquiring Solutions\n- Worldpay VAP\n\n#### Card Present reply\nTerminal identifier assigned by the acquirer. This value must be printed on the receipt.\n" } } }, "installmentInformation": { "type": "object", "properties": { "additionalCosts": { "type": "string", "maxLength": 12, "description": "Additional costs charged by the issuer to fund the installment payments.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 128-139\n- Field: Total Other Costs\n" }, "additionalCostsPercentage": { "type": "string", "maxLength": 4, "description": "Additional costs divided by the amount funded.\n\nFor example:\n- A value of 1.0 specifies 1%.\n- A value of 4.0 specifies 4%.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 140-143\n- Field: Percent of Total Other Costs\n" }, "amount": { "type": "string", "maxLength": 12, "description": "Amount for the current installment payment.\n\nThis field is supported only for CyberSource through VisaNet.\n\nFor details, see `installment_amount` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "amountFunded": { "type": "string", "maxLength": 12, "description": "Amount funded.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 48-59\n- Field: Total Amount Funded\n" }, "amountRequestedPercentage": { "type": "string", "maxLength": 4, "description": "Amount requested divided by the amount funded.\n\nFor example:\n- A value of 90.0 specifies 90%.\n- A value of 93.7 specifies 93.7%.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 60-63\n- Field: Percent of Amount Requested\n" }, "annualFinancingCost": { "type": "string", "maxLength": 7, "description": "Annual cost of financing the installment payments.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 158-164\n- Field: Annual Total Cost of Financing\n" }, "annualInterestRate": { "type": "string", "maxLength": 7, "description": "Annual interest rate.\n\nFor example:\n- A value of 1.0 specifies 1%.\n- A value of 4.0 specifies 4%.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 151-157\n- Field: Annual Interest Rate\n" }, "expenses": { "type": "string", "maxLength": 12, "description": "Expenses charged by the issuer to fund the installment payments.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 64-75\n- Field: Total Expenses\n" }, "expensesPercentage": { "type": "string", "maxLength": 4, "description": "Expenses divided by the amount funded.\n\nFor example:\n- A value of 1.0 specifies 1%.\n- A value of 4.0 specifies 4%.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 76-79\n- Field: Percent of Total Expenses\n" }, "fees": { "type": "string", "maxLength": 12, "description": "Fees charged by the issuer to fund the installment payments.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 80-91\n- Field: Total Fees\n" }, "feesPercentage": { "type": "string", "maxLength": 4, "description": "Fees divided by the amount funded.\n\nFor example:\n- A value of 1.0 specifies 1%.\n- A value of 4.0 specifies 4%.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThis field is supported only for Crediario installment payments in Brazil on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 92-95\n- Field: Percent of Total Fees\n" }, "frequency": { "type": "string", "maxLength": 1, "description": "Frequency of the installment payments. When you do not include this field in a request for a\nCrediario installment payment, CyberSource sends a space character to the processor.\n\nFor details, see `installment_frequency` field description in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThis field is supported only for CyberSource through VisaNet. Possible values:\n- `B`: Biweekly\n- `M`: Monthly\n- `W`: Weekly\n\nFor Crediario installment payments, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR9\n- Position: 41\n- Field: Installment Frequency\n\nFor details, see \"Installment Payments\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "insurance": { "type": "string", "maxLength": 12, "description": "Insurance charged by the issuer to fund the installment payments.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 112-123\n- Field: Total Insurance\n" }, "insurancePercentage": { "type": "string", "maxLength": 4, "description": "Insurance costs divided by the amount funded.\n\nFor example:\n- A value of 1.0 specifies 1%.\n- A value of 4.0 specifies 4%.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 124-127\n- Field: Percent Of Total Insurance\n" }, "invoiceData": { "type": "string", "maxLength": 20, "description": "Invoice information that you want to provide to the issuer. This value is similar to a tracking number and is\nthe same for all installment payments for one purchase.\n\nThis field is supported only for installment payments with Mastercard on CyberSource through VisaNet in Brazil.\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR4\n- Position: 51-70\n- Field: Purchase Identification\n" }, "monthlyInterestRate": { "type": "string", "maxLength": 7, "description": "Monthly interest rate.\n\nFor example:\n- A value of 1.0 specifies 1%.\n- A value of 4.0 specifies 4%.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 144-150\n- Field: Monthly Interest Rate\n" }, "planType": { "type": "string", "maxLength": 1, "description": "#### American Express Direct, Cielo, and CyberSource Latin American Processing\nFlag that indicates the type of funding for the installment plan associated with the payment.\n\nPossible values:\n- `1`: Merchant-funded installment plan\n- `2`: Issuer-funded installment plan\nIf you do not include this field in the request, CyberSource uses the value in your CyberSource account.\n\nTo change the value in your CyberSource account, contact CyberSource Customer Service.\nFor details, see `installment_plan_type` field description in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### CyberSource through VisaNet and American Express\nDefined code that indicates the type of installment plan for this transaction.\n\nContact American Express for:\n- Information about the kinds of installment plans that American Express provides\n- Values for this field\n\nFor installment payments with American Express in Brazil, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP07 TCR3\n- Position: 5-6\n- Field: Plan Type\n\n* The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n\n#### CyberSource through VisaNet with Visa or Mastercard\nFlag indicating the type of funding for the installment plan associated with the payment.\nPossible values:\n- 1 or 01: Merchant-funded installment plan\n- 2 or 02: Issuer-funded installment plan\n- 43: Crediario installment plan\u2014only with Visa in Brazil\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nFor installment payments with Visa in Brazil, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR1\n- Position: 5-6\n- Field: Installment Type\n\nFor all other kinds of installment payments, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR5\n- Position: 39-40\n- Field: Installment Plan Type (Issuer or Merchant)\n" }, "sequence": { "type": "integer", "maximum": 99, "description": "Installment number when making payments in installments. Used along with `totalCount` to track which payment is being processed.\n\nFor example, the second of 5 payments would be passed to CyberSource as `sequence` = 2 and `totalCount` = 5.\n\nFor details, see \"Installment Payments\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Chase Paymentech Solutions and FDC Compass\nThis field is optional because this value is required in the merchant descriptors.\nFor details, see \"Chase Paymentech Solutions Merchant Descriptors\" and \"FDC Compass Merchant Descriptors\" in the [Merchant Descriptors Using the SCMP API]\n(https://apps.cybersource.com/library/documentation/dev_guides/Merchant_Descriptors_SCMP_API/html/)\n\n#### CyberSource through VisaNet\nWhen you do not include this field in a request for a Crediario installment payment, CyberSource sends a value of 0 to the processor.\n\nFor Crediario installment payments, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP01 TCR9\n- Position: 38-40\n- Field: Installment Payment Number\n\n* The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" }, "taxes": { "type": "string", "maxLength": 12, "description": "Taxes collected by the issuer to fund the installment payments.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 96-107\n- Field: Total Taxes\n" }, "taxesPercentage": { "type": "string", "maxLength": 4, "description": "Taxes divided by the amount funded.\n\nFor example:\n- A value of 1.0 specifies 1%.\n- A value of 4.0 specifies 4%.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 108-111\n- Field: Percent of Total Taxes\n" }, "totalAmount": { "type": "string", "maxLength": 12, "description": "Total amount of the loan that is being paid in installments. This field is supported only for CyberSource\nthrough VisaNet.\n\nFor details, see \"Installment Payments\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "totalCount": { "type": "integer", "maximum": 99, "description": "Total number of installments when making payments in installments.\n\nFor details, see \"Installment Payments\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Chase Paymentech Solutions and FDC Compass\nThis field is optional because this value is required in the merchant descriptors.\n\nFor details, see \"Chase Paymentech Solutions Merchant Descriptors\" and \"FDC Compass Merchant Descriptors\" in the [Merchant Descriptors Using the SCMP API.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Merchant_Descriptors_SCMP_API/html/)\n\n#### American Express Direct, Cielo, and Comercio Latino\nThis value is the total number of installments you approved.\n\n#### CyberSource Latin American Processing in Brazil\nThis value is the total number of installments that you approved. The default is 1.\n\n#### All Other Processors\nThis value is used along with _sequence_ to track which payment is being processed.\n\nFor example, the second of 5 payments would be passed to CyberSource as _sequence_ = 2 and _totalCount_ = 5.\n\n#### CyberSource through VisaNet\nFor Crediario installment payments, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP01 TCR9\n- Position: 23-25\n- Field: Number of Installments\n\nFor installment payments with American Express in Brazil, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP07 TCR3\n- Position: 7-8\n- Field: Number of Installments\n\nFor installment payments with Visa in Brazil, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP07 TCR1\n- Position: 7-8\n- Field: Number of Installments\n\nFor all other kinds of installment payments, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP01 TCR5\n- Position: 20-22\n- Field: Installment Total Count\n\n**Note** The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" }, "minimumTotalCount": { "type": "string", "maximum": 99, "description": "\"Minimum number of installments offered by the issuer for this purchase. The issuer provides this value when the first installment payment is successful.\nThis field is supported for installment payments with Mastercard on CyberSource through VisaNet in all countries except Brazil, Croatia, Georgia, and Greece.\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR5\n- Position: 75-76\n- Field: Mastercard Minimum Number Of Installments\n" }, "maximumTotalCount": { "type": "string", "maximum": 99, "description": "Maximum number of installments offered by the issuer for this purchase. The issuer provides this value when the first installment payment is successful.\nThis field is supported for installment payments with Mastercard on CyberSource through VisaNet in all countries except Brazil, Croatia, Georgia, and Greece.\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR5\n- Position: 77-78\n- Field: Mastercard Maximum Number Of Installments\n" }, "firstInstallmentAmount": { "type": "string", "maxLength": 13, "description": "Amount of the first installment payment. The issuer provides this value when the first installment payment is successful.\nThis field is supported for Mastercard installment payments on CyberSource through VisaNet in all countries except Brazil,Croatia, Georgia, and Greece.\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR5\n- Position: 23-34\n- Field: Amount of Each Installment\n" }, "firstInstallmentDate": { "type": "string", "maxLength": 6, "description": "Date of the first installment payment. Format: YYMMDD. When you do not include this field, CyberSource sends a string of six zeros (000000) to the processor.\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThis field is supported only for Crediario installment payments in Brazil on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR9\n- Position: 42-47\n- Field: Date of First Installment\n" } } }, "tokenInformation": { "type": "object", "properties": { "instrumentidentifierNew": { "type": "boolean", "description": "A value of true means the card number or bank account used to create an Instrument Identifier was new and did not already exist in the token vault.\nA value of false means the card number or bank account used to create an Instrument Identifier already existed in the token vault.\n" }, "customer": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Customer token that was created as part of a bundled TOKEN_CREATE action.\n", "minLength": 1, "maxLength": 32 } } }, "paymentInstrument": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Payment Instrument token that was created as part of a bundled TOKEN_CREATE action.\n", "minLength": 1, "maxLength": 32 } } }, "shippingAddress": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Customers Shipping Address token that was created as part of a bundled TOKEN_CREATE action.\n", "minLength": 1, "maxLength": 32 } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Instrument Identifier token that was created as part of a bundled TOKEN_CREATE action.\n", "minLength": 12, "maxLength": 32 }, "state": { "type": "string", "description": "Issuers state for the card number.\nValid values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" } } } } }, "buyerInformation": { "type": "object", "properties": { "merchantCustomerId": { "type": "string", "maxLength": 100, "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n\nFor processor-specific information, see the `customer_account_id` field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "dateOfBirth": { "type": "string", "maxLength": 8, "description": "Recipient's date of birth. **Format**: `YYYYMMDD`.\n\nThis field is a `pass-through`, which means that CyberSource ensures that the value is eight numeric characters\nbut otherwise does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n\nFor more details, see `recipient_date_of_birth` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "vatRegistrationNumber": { "type": "string", "maxLength": 20, "description": "Customer's government-assigned tax identification number.\n\n#### Tax Calculation\nOptional for international and value added taxes only. Not applicable to U.S. and Canadian taxes.\n\nFor processor-specific information, see the purchaser_vat_registration_number field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "The type of the identification.\n\nPossible values:\n - `NATIONAL`\n - `CPF`\n - `CPNJ`\n - `CURP`\n - `SSN`\n - `DRIVER_LICENSE`\n - `PASSPORT_NUMBER`\n - `PERSONAL_ID`\n - `TAX_ID`\n\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\nFor processor-specific information, see the `personal_id` field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\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.\n\nFor processor-specific information, see the `personal_id` field in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n \nIf `type = PASSPORT`, this is the cardholder's passport number.\nRecommended for Discover ProtectBuy.\n" }, "issuedBy": { "type": "string", "description": "The government agency that issued the driver's license or passport.\n\nIf **type**` = DRIVER_LICENSE`, this is the State or province where the customer's driver's license was issued.\n\nIf **type**` = PASSPORT`, this is the Issuing country for the cardholder's passport. Recommended for Discover ProtectBuy.\n\nUse the two-character [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\n#### TeleCheck\nContact your TeleCheck representative to find out whether this field is required or optional.\n\n#### All Other Processors\nNot used.\n\nFor details about the country that issued the passport, see `customer_passport_country` field description in [CyberSource Payer Authentication Using the SCMP API]\n(https://apps.cybersource.com/library/documentation/dev_guides/Payer_Authentication_SCMP_API/html/)\n\nFor details about the state or province that issued the passport, see `driver_license_state` field description in [Electronic Check Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" }, "verificationResults": { "type": "string", "description": "Verification results received from Issuer or Card Network for verification transactions. Response Only Field.\n" } } } }, "taxId": { "type": "string", "description": "The description for this field is not available." }, "loginId": { "type": "string", "maxLength": 64, "description": "The buyer's Alipay login Id, the id might be an email or mobile number. The id is partially masked for privacy. cao***@126.com or 186***22156\n" } } }, "riskInformation": { "type": "object", "description": "Contains the result of risk assessment.", "properties": { "profile": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 30, "description": "Name of the active profile chosen by the profile selector. If no profile selector exists,\nthe default active profile is chosen.\n\n**Note** By default, your default profile is the active profile, or the Profile Selector chooses the active profile. Use this field\nonly if you want to specify the name of a different profile. The passed-in profile will then become the active profile.\n" }, "desinationQueue": { "type": "string", "maxLength": 255, "description": "Name of the queue where orders that are not automatically accepted are sent.\n" }, "selectorRule": { "type": "string", "maxLength": 255, "description": "Name of the profile selector rule that chooses the profile to use for the\ntransaction. If no profile selector exists, the value is Default Active Profile.\n" } } }, "rules": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 255, "description": "Description of the rule as it appears in the Profile Editor." }, "decision": { "type": "string", "maxLength": 255, "description": "Summarizes the result for the rule according to the setting that you chose in the Profile Editor.\nThis field can contain one of the following values:\n- `IGNORE`\n- `REVIEW`\n- `REJECT`\n- `ACCEPT`\n" } } } }, "infoCodes": { "type": "object", "properties": { "velocity": { "type": "array", "description": "List of information codes triggered by the order. These information codes were generated when you created\nthe order and product velocity rules and are returned so that you can associate them with the rules.\n", "items": { "type": "string", "description": "Indicates excessive volume of transactions." } }, "address": { "type": "array", "description": "Indicates a mismatch between the customer's billing and shipping addresses.\n", "items": { "type": "string" } }, "customerList": { "type": "array", "description": "Indicates that customer information is associated with transactions that are either on the negative or\nthe positive list.\n", "items": { "type": "string" } }, "deviceBehavior": { "type": "array", "description": "Indicates the device behavior information code(s) returned from device fingerprinting.\n", "items": { "type": "string" } }, "identityChange": { "type": "array", "description": "Indicates excessive identity changes. The threshold is variable depending on the identity elements being\ncompared.\n", "items": { "type": "string" } }, "internet": { "type": "array", "description": "Indicates a problem with the customer's email address, IP address, or billing address.\n", "items": { "type": "string" } }, "phone": { "type": "array", "description": "Indicates a problem with the customer's phone number.\n", "items": { "type": "string" } }, "suspicious": { "type": "array", "description": "Indicates that the customer provided potentially suspicious information.\n", "items": { "type": "string" } }, "globalVelocity": { "type": "array", "description": "Indicates that the customer has a high purchase frequency.\n", "items": { "type": "string" } } } }, "velocity": { "type": "object", "properties": { "morphing": { "type": "array", "description": "List of information codes triggered by the order. These information codes were generated when you created the order and product velocity rules and are returned so that you can associate them with the rules.\n\nReturned by scoring service.\n", "items": { "type": "object", "properties": { "count": { "type": "integer", "maxLength": 5, "description": "Morphing count specified by the number #.\n\n**Note** The count is not returned for the initial transaction.\n" }, "fieldName": { "type": "string", "maxLength": 255, "description": "Field name of the morphing element. specified by the setting that you chose in the\nVelocity Editor.\n\nFor all possible values, see the `decisionReply_morphingElement_#_fieldName` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "informationCode": { "type": "string", "maxLength": 255, "description": "Identifier that CyberSource assigned to the velocity rule specified by the number #.\n\nFor all possible values, see the `decision_velocity_morphing_#_info_code` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > \n" } } } }, "address": { "type": "array", "items": { "type": "string", "maxLength": 255, "description": "Indicates a mismatch between the customer's billing and shipping addresses.\n\nFor all possible values, see the `score_address_info` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" } } } }, "casePriority": { "type": "integer", "maxLength": 1, "description": "You receive this field only if you subscribe to the Enhanced Case Management service. The priority level ranges from 1 (highest) to 5 (lowest); the default value is 3. If you do not assign a priority to your rules or to your profiles, the default value is given to the order.\n\nFor all possible values, see the `decision_case_priority` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "localTime": { "type": "string", "maxLength": 255, "description": "The customer's local time (`hh:mm:ss`), which is calculated from the transaction request time and the\ncustomer's billing address.\n\nFor details, see the `score_time_local` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/)\n" }, "score": { "type": "object", "properties": { "factorCodes": { "type": "array", "items": { "type": "string", "description": "This field contains information that affected the score of the order.\nThis field will contain one or more codes, separated by carets (^).\n\nFor all possible values, see the `score_factors` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" } }, "modelUsed": { "type": "string", "maxLength": 255, "description": "Name of the score model used for the transaction. If you did not include a custom model in your request,\nthis field contains the name of CyberSource's default model.\n\nFor all possible values, see the `score_model_used` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "result": { "type": "string", "maxLength": 255, "description": "Total score calculated for this order. The value cannot be negative.\n\nFor all possible values, see the `score_score_result` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" } } }, "ipAddress": { "type": "object", "description": "Contains detailed response information about the customer's IP address.", "properties": { "anonymizerStatus": { "type": "string", "maxLength": 255, "description": "Indicates whether the transaction IP address is associated with a known anonymous proxy.\n\nFor all possible values, see the `score_ip_anonymizer_status` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "locality": { "type": "string", "maxLength": 255, "description": "Name of the city decoded from the IP address used directly or indirectly by the customer to send the order.\n\nFor all possible values, see the `score_ip_city` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "country": { "type": "string", "maxLength": 255, "description": "Name of the country decoded from the IP address used directly or indirectly by the customer to send the order.\n\nFor all possible values, see the `score_ip_country` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "administrativeArea": { "type": "string", "maxLength": 255, "description": "Name of the state decoded from the IP address used directly or indirectly by the customer to send the order.\n\nFor all possible values, see the `score_ip_state` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "routingMethod": { "type": "string", "maxLength": 255, "description": "Routing method decoded from the IP address used directly or indirectly by the customer to send the order.\n\nFor all possible values, see the `score_ip_routing_method` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "carrier": { "type": "string", "maxLength": 255, "description": "Provides the name of the organization that owns the ASN. The carrier is responsible for the traffic carried on the network or set of networks designated as an Autonomous System (AS) and identified by the ASN.\nWhile there are more than 27,000 active ASNs, there are fewer carriers, because a single carrier often manages several ASNs.\n" }, "organization": { "type": "string", "maxLength": 255, "description": "The Registering Organization is the entity responsible for the actions and content associated with a given block of IP addresses. This is in contrast to the carrier, which is responsible for the routing of traffic for network blocks. Registering Organizations include many types of entities, including corporate, government, or educational entities, and ISPs managing the allocation and use of network blocks.\n" } } }, "providers": { "type": "object", "description": "Name of the 3rd party provider, for example, Emailage.\nFor all possible values, see the `decision_provider_#_name` field description in the _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).", "additionalProperties": { "type": "object", "description": "Field name, for example, email address domain name (domain_name).\n\nFor all possible values, see the `decision_provider_#_field_#_name` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n", "additionalProperties": { "type": "string" } } }, "travel": { "type": "object", "properties": { "actualFinalDestination": { "type": "object", "properties": { "country": { "type": "string", "maxLength": 90, "description": "Country of actual final destination on the route." }, "locality": { "type": "string", "maxLength": 90, "description": "City of actual final destination on the route." }, "latitude": { "type": "string", "maxLength": 10, "description": "Latitude of actual final destination on the route." }, "longitude": { "type": "string", "maxLength": 10, "description": "Longitude of actual final destination on the route." } } }, "firstDeparture": { "type": "object", "properties": { "country": { "type": "string", "maxLength": 90, "description": "Country of first departure on the route." }, "locality": { "type": "string", "maxLength": 90, "description": "City of first departure on the route." }, "latitude": { "type": "string", "maxLength": 10, "description": "Latitude of first departure on the route." }, "longitude": { "type": "string", "maxLength": 10, "description": "Longitude of first departure on the route." } } }, "firstDestination": { "type": "object", "properties": { "country": { "type": "string", "maxLength": 90, "description": "Country of first destination on the route." }, "locality": { "type": "string", "maxLength": 90, "description": "City of first destination on the route." }, "latitude": { "type": "string", "maxLength": 10, "description": "Latitude of first destination on the route." }, "longitude": { "type": "string", "maxLength": 10, "description": "Longitude of first destination on the route." } } }, "lastDestination": { "type": "object", "properties": { "country": { "type": "string", "maxLength": 90, "description": "Country of last destination on the route." }, "locality": { "type": "string", "maxLength": 90, "description": "City of last destination on the route." }, "latitude": { "type": "string", "maxLength": 10, "description": "Latitude of last destination on the route." }, "longitude": { "type": "string", "maxLength": 10, "description": "Longitude of last destination on the route." } } } } }, "processorResults": { "type": "object", "properties": { "fraudDecision": { "type": "string", "maxLength": 60, "description": "Type of filter. Possible values:\n- ACCEPT\n- PENDING\n- DENY\n- REPORT\n" }, "fraudDecisionReason": { "type": "string", "maxLength": 60, "description": "possible values\n- AVS_NO_MATCH\n- AVS_PARTIAL_MATCH\n- AVS_UNAVAILABLE_OR_UNSUPPORTED\n- CARD_SECURITY_CODE_MISMATCH\n- MAXIMUM_TRANSACTION_AMOUNT\n- UNCONFIRMED_ADDRESS\n- COUNTRY_MONITOR\n- LARGE_ORDER_NUMBER\n- BILLING_OR_SHIPPING_ADDRESS_MISMATCH\n- RISKY_ZIP_CODE\n- SUSPECTED_FREIGHT_FORWARDER_CHECK\n- TOTAL_PURCHASE_PRICE_MINIMUM\n- IP_ADDRESS_VELOCITY\n- RISKY_EMAIL_ADDRESS_DOMAIN_CHECK\n- RISKY_BANK_IDENTIFICATION_NUMBER_CHECK,\nRISKY_IP_ADDRESS_RANGE\n- PAYPAL_FRAUD_MODEL\n" } } } } }, "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.\nNote - Max Length of this field is 2048 characters.\n" }, "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.\n" }, "acsTransactionId": { "type": "string", "maxLength": 36, "description": "Unique transaction identifier assigned by the ACS to identify a single transaction.\n" }, "acsUrl": { "type": "string", "maxLength": 2048, "description": "URL for the card-issuing bank's authentication form that you receive when the card is enrolled.\nThe value can be very large.\n" }, "authenticationPath": { "type": "string", "description": "Indicates what displays to the customer during the authentication process.\nThis field can contain one of these values:\n- `ADS`: (Card not enrolled) customer prompted to activate the card during the checkout process.\n- `ATTEMPTS`: (Attempts processing) Processing briefly displays before the checkout process is completed.\n- `ENROLLED`: (Card enrolled) the card issuer's authentication window displays.\n- `UNKNOWN`: Card enrollment status cannot be determined.\n- `NOREDIRECT`: (Card not enrolled, authentication unavailable, or error occurred) nothing displays to the customer.\n\nThe following values can be returned if you are using rules-based payer authentication.\n- `RIBA`: The card-issuing bank supports risk-based authentication, but whether the cardholder is likely\nto be challenged cannot be determined.\n- `RIBA_PASS`: The card-issuing bank supports risk-based authentication and it is likely that the\ncardholder will not be challenged to provide credentials, also known as _silent authentication_.\n\nFor details about possible values, see `pa_enroll_authentication_path` field description and \"Rules-Based Payer Authentication\"\nin [CyberSource Payer Authentication Using the SCMP API.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Payer_Authentication_SCMP_API/html/)\n" }, "authorizationPayload": { "type": "string", "description": "The Base64 encoded JSON Payload of CB specific Authorization Values returned in the challenge Flow\n" }, "authenticationTransactionId": { "type": "string", "maxLength": 26, "description": "Payer authentication transaction identifier is used to link the check\nenrollment and validate authentication messages. For Rupay, this field should be passed as request only for Resend OTP use case.\n" }, "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.\nFor example, \"Additional authentication is needed for this transaction, please contact (Issuer Name) at xxx-xxx-xxxx.\".\nThe Issuing Bank can optionally support this value.\n" }, "cavv": { "type": "string", "maxLength": 255, "description": "Unique identifier generated by the card-issuing bank for Visa, American Express, JCB, Diners Club, and\nDiscover transactions after the customer is authenticated. The value is in base64. When you\nrequest the card authorization service, CyberSource automatically converts the value, not the field name,\nto the format required by your payment processor.\n" }, "cavvAlgorithm": { "type": "string", "maxLength": 1, "description": "Field that is returned only when the CAVV is generated, which occurs when paresStatus\ncontains the values Y (successful authentication) or A (attempted authentication). If\nyou use the ATOS processor, send the value of this field in the `cavv_algorithm` request field of the\nauthorization service. This field contains one of these values:\n- `2`: Visa, American Express, JCB, Diners Club, and Discover\n- `3`: Mastercard\n" }, "challengeCancelCode": { "type": "string", "maxLength": 2, "description": "An indicator as to why the transaction was canceled.\nPossible Values:\n\n- `01`: Cardholder selected Cancel.\n- `02`: Reserved for future EMVCo use (values invalid until defined by EMVCo).\n- `03`: Transaction Timed Out\u2014Decoupled Authentication\n- `04`: Transaction timed out at ACS\u2014other timeouts\n- `05`: Transaction Timed out at ACS - First CReq not received by ACS\n- `06`: Transaction Error\n- `07`: Unknown\n- `08`: Transaction Timed Out at SDK\n" }, "challengeRequired": { "type": "string", "maxLength": 1, "description": "Indicates whether a challenge is required in order to complete authentication.\n**Note** Regional mandates might determine that a challenge is required.\n\nPossible values:\n- `Y`: Challenge required\n- `N`: Challenge not required\n**Note** Used by the Hybrid integration.\n" }, "decoupledAuthenticationIndicator": { "type": "string", "maxLength": 1, "description": "Indicates whether the 3DS Requestor requests the ACS to utilize Decoupled Authentication and agrees to utilize Decoupled Authentication if the ACS confirms its use.\n\nPossible Values:\n\nY - Decoupled Authentication is supported and preferred if challenge is necessary\n\nN - Do not use Decoupled Authentication\n\n**Default Value**: N\n" }, "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.\n" }, "directoryServerErrorDescription": { "type": "string", "maxLength": 4096, "description": "Directory server text and additional detail about the error for this transaction.\n" }, "ecommerceIndicator": { "type": "string", "maxLength": 255, "description": "Commerce indicator for cards not enrolled. This field contains one of these values:\n- `internet`: Card not enrolled, or card type not supported by payer authentication. No liability shift.\n- `js_attempted`: Card not enrolled, but attempt to authenticate is recorded. Liability shift.\n- `js_failure`: J/Secure directory service is not available. No liability shift.\n- `spa`: Mastercard card not enrolled in the SecureCode program. No liability shift.\n- `vbv_attempted`: Card not enrolled, but attempt to authenticate is recorded. Liability shift.\n- `vbv_failure`: For payment processor Barclays, Streamline, AIBMS, or FDC Germany, you receive\nthis result if Visa's directory service is not available. No liability shift.\n" }, "eci": { "type": "string", "description": "Note This field applies only to non-U.S-issued cards.\n\nFor enroll, Numeric electronic commerce indicator (ECI) returned only for Visa, American Express, JCB,\nDiners Club, and Discover transactions when the card is not enrolled. For more information, see\n\"Interpreting the Reply,\" page 22.\n\nIf you are not using the CyberSource payment services, you must send this value to your payment\nprocessor in the subsequent request for card authorization. This field contains one of these values:\n- `06`: The card can be enrolled. Liability shift.\n- `07`: The card cannot be enrolled. No liability shift.\n\nFor validate, Numeric electronic commerce indicator (ECI) returned only for Visa, American Express, JCB,\nDiners Club, and Discover transactions. The field is absent when authentication fails.\nYou must send this value to your payment processor in the subsequent request for card authorization.\nThis field contains one of these values:\n- `05`: Successful authentication\n- `06`: Authentication attempted\n- `07`: Failed authentication (No response from the merchant because of a problem.)\n" }, "eciRaw": { "type": "string", "description": "ECI value that can be returned for Visa, Mastercard, American Express, JCB, Diners Club, and Discover.\nThe field is absent when authentication fails. If your payment processor is Streamline, you must pass the\nvalue of this field instead of the value of `eci` or `ucafCollectionIndicator`.\n\nThis field can contain one of these values:\n- `01`: Authentication attempted (Mastercard)\n- `02`: Successful authentication (Mastercard)\n- `05`: Successful authentication (Visa, American Express, JCB, Diners Club, and Discover)\n- `06`: Authentication attempted (Visa, American Express, JCB, Diners Club, and Discover)\n" }, "effectiveAuthenticationType": { "type": "string", "maxLength": 2, "description": "This field describes the type of 3DS transaction flow that took place. It can be one of three possible flows;\nCH - Challenge\nFR - Frictionless\nFD - Frictionless with delegation, (challenge not generated by the issuer but by the scheme on behalf of the issuer).\n" }, "ivr": { "type": "object", "properties": { "enabledMessage": { "type": "boolean", "description": "Flag to indicate if a valid IVR transaction was detected.\n" }, "encryptionKey": { "type": "string", "maxLength": 16, "description": "Encryption key to be used in the event the ACS requires encryption of the credential field.\n" }, "encryptionMandatory": { "type": "boolean", "description": "Flag to indicate if the ACS requires the credential to be encrypted.\n" }, "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.\n" }, "label": { "type": "string", "maxLength": 20, "description": "An ACS Provided label that can be presented to the Consumer. Recommended use with an application.\n" }, "prompt": { "type": "string", "maxLength": 80, "description": "An ACS provided string that can be presented to the Consumer. Recommended use with an application.\n" }, "statusMessage": { "type": "string", "maxLength": 80, "description": "An ACS provided message that can provide additional information or details.\n" } } }, "strongAuthentication": { "type": "object", "properties": { "issuerInformation": { "type": "object", "title": "paymentsStrongAuthIssuerInformation", "properties": { "riskAnalysisExemptionResult": { "type": "string", "maxLength": 80, "description": "Possible values: Visa Platform Connect\n- `8401` Merchant not participating in Visa Trusted Listing Program.\n- `8402` Issuer not participating in Visa Trusted Listing Program.\n- `8403` Cardholder has not trusted the merchant (supplied by Visa Net).\n- `8404` Indeterminate or invalid issuer response.\n- `8473` Cardholder has not trusted the merchant (issuer-supplied).\n- `8474` Did not meet the exemption criteria (issuer-supplied).\n\nUpto 20 Values may be received in a transaction.\n" }, "trustedMerchantExemptionResult": { "type": "string", "maxLength": 4, "description": "Possible values: Visa Platform Connect\n- `2` Trusted merchant exemption validated/honored.\n- `3` Trusted merchant exemption failed validation/not honored.\n" }, "lowValueExemptionResult": { "type": "string", "maxLength": 1, "description": "This will be the value returned by Visanet when low value exemption has been requested.\n\nValid values: Visa Platform Connect\n- `2` Low value exemption validated/honored\n- `3` Low value exemption failed validation/not honored\n" }, "secureCorporatePaymentResult": { "type": "string", "maxLength": 1, "description": "This will be the value returned by Visanet when secure corporate payment (scp) exemption has been requested.\n\nValid values: Visa Platform Connect\n- `2` Secure corporate payment exemption validated/honored\n- `3` Secure corporate payment exemption failed validation/not honored\n" }, "transactionRiskAnalysisExemptionResult": { "type": "string", "maxLength": 1, "description": "This will be the value returned by Visanet when transaction risk analysis (TRA) exemption has been requested.\n\n Valid values: Visa Platform Connect\n - `2` transaction risk analysis (TRA) exemption validated/honored\n - `3` transaction risk analysis (TRA) exemption failed validation/not honored\n" } } } } }, "networkScore": { "type": "string", "maxLength": 2, "description": "The global score calculated by the CB scoring platform and returned to merchants.\n" }, "pareq": { "type": "string", "description": "Payer authentication request (PAReq) message that you need to forward to the ACS.\nThe value can be very large. The value is in base64.\n" }, "paresStatus": { "type": "string", "description": "Raw result of the authentication check. If you are configured for Asia, Middle East, and Africa Gateway\nProcessing, you need to send the value of this field in your authorization request. This field can contain\none of these values:\n- `A`: Proof of authentication attempt was generated.\n- `N`: Customer failed or canceled authentication. Transaction denied.\n- `U`: Authentication not completed regardless of the reason.\n- `Y`: Customer was successfully authenticated.\n" }, "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. For details about possible values, see the `pa_enroll_proofxml` field description in\n[CyberSource Payer Authentication Using the SCMP API.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Payer_Authentication_SCMP_API/html/)\n- For cards issued in the U.S. or Canada, Visa may require this data for specific merchant category codes.\n- 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.\n" }, "sdkTransactionId": { "type": "string", "maxLength": 36, "description": "SDK unique transaction identifier that is generated on each new transaction.\n" }, "signedParesStatusReason": { "type": "string", "maxLength": 2, "description": "Provides additional information as to why the PAResStatus has a specific value.\n" }, "specificationVersion": { "type": "string", "description": "This field contains the 3D Secure version that was used to process the transaction. For example, 1.0.2 or 2.0.0.\n" }, "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.\n" }, "threeDSServerTransactionId": { "type": "string", "maxLength": 36, "description": "Unique transaction identifier assigned by the 3DS Server to identify a single transaction.\n" }, "ucafAuthenticationData": { "type": "string", "description": "AAV is a unique identifier generated by the card-issuing bank for Mastercard Identity Check\ntransactions after the customer is authenticated. The value is in base64.\nInclude the data in the card authorization request.\n" }, "ucafCollectionIndicator": { "type": "string", "description": "For enroll, Returned only for Mastercard transactions. Indicates that authentication is not required because the\ncustomer is not enrolled. Add the value of this field to the authorization field ucaf_collection_indicator.\nThis field can contain these values: 0, 1.\n\nFor validate, Numeric electronic commerce indicator (ECI) returned only for Mastercard Identity Check\ntransactions. The field is absent when authentication fails. You must send this value to your payment\nprocessor in the request for card authorization. This field contain one of these values:\n- `0`: Authentication data not collected, and customer authentication was not completed.\n- `1`: Authentication data not collected because customer authentication was not completed.\n- `2`: Authentication data collected because customer completed authentication.\n" }, "veresEnrolled": { "type": "string", "description": "Result of the enrollment check. This field can contain one of these values:\n- `Y`: Card enrolled or can be enrolled; you must authenticate. Liability shift.\n- `N`: Card not enrolled; proceed with authorization. Liability shift.\n- `U`: Unable to authenticate regardless of the reason. No liability shift.\n\n**Note** This field only applies to the Asia, Middle East, and Africa Gateway. If you are configured for\nthis processor, you must send the value of this field in your authorization request.\n\nThe following value can be returned if you are using rules-based Payer Authentication:\n- `B`: Indicates that authentication was bypassed.\n\nFor details, see `pa_enroll_veres_enrolled` field description in [CyberSource Payer Authentication Using the SCMP API.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Payer_Authentication_SCMP_API/html/)\n" }, "whiteListStatusSource": { "type": "string", "maxLength": 2, "description": "This data element will be populated by the system setting Whitelist Status. Possible Values: 01 - 3DS/ Server/ 02 \u2013 DS/03 - ACS\n" }, "xid": { "type": "string", "description": "Transaction identifier generated by CyberSource for successful enrollment or validation checks.\nUse this value, which is in base64, to match an outgoing PAReq with an incoming PARes.\nCyberSource forwards the XID with the card authorization service to these payment processors in these cases:\n- Barclays\n- Streamline (when the **ecommerceIndicator**`=spa`)\n" }, "directoryServerTransactionId": { "type": "string", "maxLength": 36, "description": "The Directory Server Transaction ID is generated by the Mastercard Directory Server during the authentication transaction and passed back to the merchant with the authentication results.\nFor Cybersource Through Visanet Gateway:\nThe value for this field corresponds to the following data in the TC 33 capture file3: Record: CP01 TCR7, Position: 114-149, Field: MC AVV Verification\u2014Directory Server Transaction ID\n" }, "authenticationResult": { "type": "string", "description": "Raw authentication data that comes from the cardissuing bank. Primary authentication field that\nindicates if authentication was successful and if liability shift occurred. You should examine first the\nresult of this field. This field contains one of these values:\n- `-1`: Invalid PARes.\n- `0`: Successful validation.\n- `1`: Cardholder is not participating, but the attempt to authenticate was recorded.\n- `6`: Issuer unable to perform authentication.\n- `9`: Cardholder did not complete authentication.\n" }, "authenticationStatusMsg": { "type": "string", "description": "Message that explains the authenticationResult reply field.\n" }, "indicator": { "type": "string", "description": "Indicator used to differentiate Internet transactions from other types. The authentication failed if this field\nis not returned. For Visa, if your payment processor is Streamline, Barclays, AIBMS, or FDC Germany,\nyou receive the value vbv_failure instead of internet when eci is 07.\nThe value of this field is passed automatically to the authorization service if you request the services\ntogether. This field contains one of these values:\n- `aesk`: American Express SafeKey authentication verified successfully.\n- `aesk_attempted`: Card not enrolled in American Express SafeKey, but the attempt to authenticate was recorded.\n- `dipb`: Discover ProtectBuy authentication verified successfully.\n- `dipb_attempted`: Card not enrolled in Discover ProtectBuy, but the attempt to authenticate was recorded.\n- `internet`: Authentication was not verified successfully.\n- `js`: J/Secure authentication verified successfully.\n- `js_attempted`: Card not enrolled in J/Secure, but the attempt to authenticate was recorded.\n- `moto`: Mail or telephone order.\n- `pb_attempted`: Card not enrolled in Diners Club ProtectBuy, but the attempt to authenticate was recorded.\n- `recurring`: Recurring transaction.\n- `spa`: Mastercard Identity Check authentication verified successfully.\n- `spa_failure`: Mastercard Identity Check failed authentication.\n- `vbv`: Visa Secure authentication verified successfully.\n- `vbv_attempted`: Card not enrolled in Visa Secure, but the attempt to authenticate was recorded.\n- `vbv_failure`: Visa Secure authentication unavailable.\n" }, "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.\nWhen 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.\nOne 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.\n" }, "whiteListStatus": { "type": "string", "maxLength": 1, "description": "Enables the communication of trusted beneficiary/whitelist status between the ACS, the DS and the 3DS Requestor.\n\nPossible Values:\n\nY - 3DS Requestor is whitelisted by cardholder\n\nN - 3DS Requestor is not whitelisted by cardholder\n" } } }, "merchantInformation": { "type": "object", "properties": { "merchantName": { "type": "string", "maxLength": 25, "description": "Use this field only if you are requesting payment with Payer Authentication serice together.\n\nYour company's name as you want it to appear to the customer in the issuing bank's authentication form.\nThis value overrides the value specified by your merchant bank.\n" }, "merchantDescriptor": { "type": "object", "properties": { "storeId": { "type": "string", "maxLength": 50, "description": "The identifier of the store.\n" }, "storeName": { "type": "string", "maxLength": 50, "description": "The name of the store.\n" } } }, "returnUrl": { "type": "string", "maxLength": 255, "minLength": 7, "description": "URL for displaying payment results to the consumer (notifications) after the transaction is processed. Usually this URL belongs to merchant and its behavior is defined by merchant\n" } } }, "embeddedActions": { "type": "object", "description": "Contains embedded actions, that includes status and response for every actions in the list.", "properties": { "CAPTURE": { "type": "object", "properties": { "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - PENDING\n - TRANSMITTED (Only for Online Capture enabled merchants)\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_MERCHANT_CONFIGURATION\n - EXCEEDS_AUTH_AMOUNT\n - AUTH_ALREADY_REVERSED\n - TRANSACTION_ALREADY_SETTLED\n - INVALID_AMOUNT\n - MISSING_AUTH\n - TRANSACTION_ALREADY_REVERSED_OR_SETTLED\n - NOT_SUPPORTED\n" }, "message": { "type": "string", "description": "The detail message related to the status and reason listed above." } } }, "DECISION": { "type": "object", "properties": { "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - `ACCEPTED`\n - `REJECTED`\n - `PENDING_REVIEW`\n - `DECLINED`\n - `PENDING_AUTHENTICATION`\n - `INVALID_REQUEST`\n - `AUTHENTICATION_FAILED`\n - `CHALLENGE`\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - `EXPIRED_CARD`\n - `SCORE_EXCEEDS_THRESHOLD`\n - `DECISION_PROFILE_REVIEW`\n - `DECISION_PROFILE_REJECT`\n - `CONSUMER_AUTHENTICATION_REQUIRED`\n - `INVALID_MERCHANT_CONFIGURATION`\n - `CONSUMER_AUTHENTICATION_FAILED`\n - `DECISION_PROFILE_CHALLENGE`\n - `CUSTOMER_WATCHLIST_MATCH`\n - `ADDRESS_COUNTRY_WATCHLIST_MATCH`\n - `EMAIL_COUNTRY_WATCHLIST_MATCH`\n - `IP_COUNTRY_WATCHLIST_MATCH`\n" }, "message": { "type": "string", "description": "The detail message related to the status and reason listed above." } } }, "CONSUMER_AUTHENTICATION": { "type": "object", "properties": { "status": { "type": "string", "description": "The status for payerAuthentication 201 enroll and validate calls. Possible values are:\n- `AUTHENTICATION_SUCCESSFUL`\n- `PENDING_AUTHENTICATION`\n- `INVALID_REQUEST`\n- `AUTHENTICATION_FAILED`\n" }, "reason": { "type": "string", "description": "The reason of the status. Possible values are:\n- `INVALID_MERCHANT_CONFIGURATION`\n- `CONSUMER_AUTHENTICATION_REQUIRED`\n- `CONSUMER_AUTHENTICATION_FAILED`\n- `AUTHENTICATION_FAILED`\n" }, "message": { "type": "string", "description": "The message describing the reason of the status. Value is:\n- Encountered a Payer Authentication problem. Payer could not be authenticated.\n" } } }, "VALIDATE_CONSUMER_AUTHENTICATION": { "type": "object", "properties": { "status": { "type": "string", "description": "The status for payerAuthentication 201 enroll and validate calls. Possible values are:\n- `AUTHENTICATION_SUCCESSFUL`\n- `PENDING_AUTHENTICATION`\n- `INVALID_REQUEST`\n- `AUTHENTICATION_FAILED`\n" }, "reason": { "type": "string", "description": "The reason of the status. Possible values are:\n- `INVALID_MERCHANT_CONFIGURATION`\n- `CONSUMER_AUTHENTICATION_REQUIRED`\n- `CONSUMER_AUTHENTICATION_FAILED`\n- `AUTHENTICATION_FAILED`\n" }, "message": { "type": "string", "description": "The message describing the reason of the status. Value is:\n- Encountered a Payer Authentication problem. Payer could not be authenticated.\n" } } }, "WATCHLIST_SCREENING": { "type": "object", "properties": { "status": { "type": "string", "description": "The status for the call can be:\n- COMPLETED\n- INVALID_REQUEST\n- DECLINED\n" }, "reason": { "type": "string", "description": "The reason of the status. Value can be\n - `CUSTOMER_WATCHLIST_MATCH`\n - `ADDRESS_COUNTRY_WATCHLIST_MATCH`\n - `EMAIL_COUNTRY_WATCHLIST_MATCH`\n - `IP_COUNTRY_WATCHLIST_MATCH`\n - `INVALID_MERCHANT_CONFIGURATION`\n" }, "message": { "type": "string", "description": "The message describing the reason of the status. Value can be\n - The customer matched the Denied Parties List\n - The Export bill_country/ship_country match\n - Export email_country match\n - Export hostname_country/ip_country match\n" } } } } }, "watchlistScreeningInformation": { "type": "object", "properties": { "ipCountryConfidence": { "type": "integer", "minimum": -1, "maximum": 100, "description": "Likelihood that the country associated with the customer's IP address was identified correctly.\nReturns a value from 1\u2013100, where 100 indicates the highest likelihood.\nIf the country cannot be determined, the value is \u20131.\n" }, "infoCodes": { "type": "array", "items": { "type": "string", "maxLength": 255 }, "description": "Returned when the Denied Parties List check (first two codes) or the export service (all others) would have\ndeclined the transaction. This field can contain one or more of these values:\n- `MATCH-DPC`: Denied Parties List match.\n- `UNV-DPC`: Denied Parties List unavailable.\n- `MATCH-BCO`: Billing country restricted.\n- `MATCH-EMCO`: Email country restricted.\n- `MATCH-HCO`: Host name country restricted.\n- `MATCH-IPCO`: IP country restricted.\n- `MATCH-SCO`: Shipping country restricted.\n" }, "watchList": { "type": "object", "properties": { "matches": { "type": "array", "items": { "type": "object", "properties": { "addresses": { "type": "array", "items": { "type": "string", "maxLength": 255 }, "description": "Address found on the list specified in export_matchN_list\nfor the entity (name and address) in the request.\n" }, "sanctionList": { "type": "string", "maxLength": 255, "description": "List on which the first Denied Parties List check match appears.\nFor a list of codes, see \"Denied Parties List Check Codes,\" page 56.\n" }, "aliases": { "type": "array", "items": { "type": "string", "maxLength": 255 }, "description": "Name found on the list specified in export_matchN_list for the entity (name and address) in the request.\n" }, "programs": { "type": "array", "items": { "type": "string", "maxLength": 255 }, "description": "Sub-lists matched by the order data. List members are separated by carets (^)." } } } } } } } } }, "example": { "_links": { "self": { "href": "/pts/v2/payments/4963015972176007901546", "method": "GET" }, "authReversal": { "href": "/pts/v2/payments/4963015972176007901546/reversals", "method": "POST" }, "capture": { "href": "/pts/v2/payments/4963015972176007901546/captures", "method": "POST" }, "refund": { "href": "/pts/v2/payments/4963015972176007901546/refunds", "method": "POST" }, "void": { "href": "/pts/v2/payments/4963015972176007901546/voids", "method": "POST" } }, "id": "4963015972176007901546", "submitTimeUtc": "2017-06-01T071957Z", "status": "200", "reconciliationId": "39570726X3E1LBQR", "statusInformation": { "reason": "SUCCESS", "message": "Successful transaction." }, "clientReferenceInformation": { "code": "TC50171_3" }, "orderInformation": { "amountDetails": { "authorizedAmount": "102.21", "currency": "USD" } }, "processorInformation": { "approvalCode": "888888", "cardVerification": { "resultCode": "" }, "avs": { "code": "X", "codeRaw": "I1" }, "responseCode": "100" } } } }, "400": { "description": "Invalid request.", "schema": { "type": "object", "title": "ptsV2PaymentsPost400Response", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_CARD\n - CARD_TYPE_NOT_ACCEPTED\n - INVALID_MERCHANT_CONFIGURATION\n - PROCESSOR_UNAVAILABLE\n - INVALID_AMOUNT\n - INVALID_CARD_TYPE\n - INVALID_PAYMENT_ID\n - NOT_SUPPORTED\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" } } } } } } }, "502": { "description": "Unexpected system error or system timeout.", "schema": { "title": "ptsV2PaymentsPost502Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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": "Simple Authorization(Internet)", "sample-name": "Process Payment", "value": { "clientReferenceInformation": { "code": "TC50171_3" }, "paymentInformation": { "card": { "number": "4111111111111111", "expirationMonth": "12", "expirationYear": "2031" } }, "orderInformation": { "amountDetails": { "totalAmount": "102.21", "currency": "USD" }, "billTo": { "firstName": "John", "lastName": "Doe", "address1": "1 Market St", "locality": "san francisco", "administrativeArea": "CA", "postalCode": "94105", "country": "US", "email": "test@cybs.com", "phoneNumber": "4158880000" } } } }, "example1": { "summary": "Authorization with Capture(Sale)", "sample-name": "Process Payment Simple Authorization with Capture(Sale)", "value": { "clientReferenceInformation": { "code": "TC50171_3" }, "processingInformation": { "capture": true }, "paymentInformation": { "card": { "number": "4111111111111111", "expirationMonth": "12", "expirationYear": "2031" } }, "orderInformation": { "amountDetails": { "totalAmount": "102.21", "currency": "USD" }, "billTo": { "firstName": "John", "lastName": "Doe", "address1": "1 Market St", "locality": "san francisco", "administrativeArea": "CA", "postalCode": "94105", "country": "US", "email": "test@cybs.com", "phoneNumber": "4158880000" } } } }, "example2": { "summary": "Payment with Flex Token", "sample-name": "Payment with Flex Token", "value": { "clientReferenceInformation": { "code": "TC50171_3" }, "tokenInformation": { "transientTokenJwt": "eyJraWQiOiIwN0JwSE9abkhJM3c3UVAycmhNZkhuWE9XQlhwa1ZHTiIsImFsZyI6IlJTMjU2In0.eyJkYXRhIjp7ImV4cGlyYXRpb25ZZWFyIjoiMjAyMCIsIm51bWJlciI6IjQxMTExMVhYWFhYWDExMTEiLCJleHBpcmF0aW9uTW9udGgiOiIxMCIsInR5cGUiOiIwMDEifSwiaXNzIjoiRmxleC8wNyIsImV4cCI6MTU5MTc0NjAyNCwidHlwZSI6Im1mLTAuMTEuMCIsImlhdCI6MTU5MTc0NTEyNCwianRpIjoiMUMzWjdUTkpaVjI4OVM5MTdQM0JHSFM1T0ZQNFNBRERCUUtKMFFKMzMzOEhRR0MwWTg0QjVFRTAxREU4NEZDQiJ9.cfwzUMJf115K2T9-wE_A_k2jZptXlovls8-fKY0muO8YzGatE5fu9r6aC4q7n0YOvEU6G7XdH4ASG32mWnYu-kKlqN4IY_cquRJeUvV89ZPZ5WTttyrgVH17LSTE2EvwMawKNYnjh0lJwqYJ51cLnJiVlyqTdEAv3DJ3vInXP1YeQjLX5_vF-OWEuZfJxahHfUdsjeGhGaaOGVMUZJSkzpTu9zDLTvpb1px3WGGPu8FcHoxrcCGGpcKk456AZgYMBSHNjr-pPkRr3Dnd7XgNF6shfzIPbcXeWDYPTpS4PNY8ZsWKx8nFQIeROMWCSxIZOmu3Wt71KN9iK6DfOPro7w" }, "orderInformation": { "billTo": { "country": "US", "lastName": "VDP", "address1": "201 S. Division St.", "postalCode": "48104-2201", "locality": "Ann Arbor", "administrativeArea": "MI", "firstName": "RTS", "phoneNumber": "999999999", "district": "MI", "buildingNumber": "123", "email": "test@cybs.com" }, "amountDetails": { "totalAmount": "102.21", "currency": "USD" } } } }, "example3": { "summary": "Payment with Flex Token(Create Permanent TMS token)", "sample-name": "Payment with Flex Token(Create Permanent TMS token)", "value": { "clientReferenceInformation": { "code": "TC50171_3" }, "processingInformation": { "actionList": [ "TOKEN_CREATE" ], "actionTokenTypes": [ "customer", "paymentInstrument", "shippingAddress" ] }, "orderInformation": { "billTo": { "firstName": "John", "lastName": "Doe", "address1": "1 Market St", "postalCode": "94105", "locality": "san francisco", "administrativeArea": "CA", "country": "US", "phoneNumber": "4158880000", "email": "test@cybs.com" }, "shipTo": { "firstName": "John", "lastName": "Doe", "address1": "1 Market St", "postalCode": "94105", "locality": "san francisco", "administrativeArea": "CA", "country": "US" }, "amountDetails": { "totalAmount": "102.21", "currency": "USD" } }, "tokenInformation": { "transientTokenJwt": "eyJraWQiOiIwODVLd3ZiZHVqZW1DZDN3UnNxVFg3RG5nZzlZVk04NiIsImFsZyI6IlJTMjU2In0.eyJkYXRhIjp7Im51bWJlciI6IjQxMTExMVhYWFhYWDExMTEiLCJ0eXBlIjoiMDAxIn0sImlzcyI6IkZsZXgvMDgiLCJleHAiOjE1OTU2MjAxNTQsInR5cGUiOiJtZi0wLjExLjAiLCJpYXQiOjE1OTU2MTkyNTQsImp0aSI6IjFFMTlWWVlBUEFEUllPSzREUUM1NFhRN1hUVTlYN01YSzBCNTc5UFhCUU1HUUExVU1MOFI1RjFCM0IzQTU4MkIifQ.NKSM8zuT9TQC2OIUxIFJQk4HKeHhj_RGWmEqOQhBi0TIynt_kCIup1UVtAlhPzUfPWLwRrUVXnA9dyjLt_Q-pFZnvZ2lVANbiOq_R0us88MkM_mqaELuInCwxFeFZKA4gl8XmDFARgX1aJttC19Le6NYOhK2gpMrV4i0yz-IkbScsk0_vCH3raayNacFU2Wy9xei6H_V0yw2GeOs7kF6wdtMvBNw_uoLXd77LGE3LmV7z1TpJcG1SXy2s0bwYhEvkQGnrq6FfY8w7-UkDBWT1GhU3ZVP4y7h0l1WEX2xqf_ze25ZiYJQfWrEWPBHXRubOpAuaf4rfeZei0mRwPU-sQ" } } }, "example4": { "summary": "Authorization with Customer Token Creation", "sample-name": "Authorization with Customer Token Creation", "value": { "clientReferenceInformation": { "code": "TC50171_3" }, "processingInformation": { "actionList": [ "TOKEN_CREATE" ], "actionTokenTypes": [ "customer", "paymentInstrument", "shippingAddress" ] }, "orderInformation": { "billTo": { "firstName": "John", "lastName": "Doe", "address1": "1 Market St", "postalCode": "94105", "locality": "san francisco", "administrativeArea": "CA", "country": "US", "phoneNumber": "4158880000", "email": "test@cybs.com" }, "shipTo": { "firstName": "John", "lastName": "Doe", "address1": "1 Market St", "postalCode": "94105", "locality": "san francisco", "administrativeArea": "CA", "country": "US" }, "amountDetails": { "totalAmount": "102.21", "currency": "USD" } }, "paymentInformation": { "card": { "expirationYear": "2031", "number": "4111111111111111", "securityCode": "123", "expirationMonth": "12" } } }, "parentTag": "Authorization with Token Create" }, "example5": { "summary": "Authorization with Customer Token Id", "sample-name": "Authorization with Customer Token Id", "value": { "clientReferenceInformation": { "code": "TC50171_3" }, "orderInformation": { "amountDetails": { "totalAmount": "102.21", "currency": "USD" } }, "paymentInformation": { "customer": { "id": "B21E6717A6F03479E05341588E0A303F" } } }, "parentTag": "Authorization using Tokens" }, "example6": { "summary": "Authorization & Create Default Payment Instrument, Shipping Address for existing Customer", "sample-name": "Authorization & Create Default Payment Instrument, Shipping Address for existing Customer", "value": { "clientReferenceInformation": { "code": "TC50171_3" }, "processingInformation": { "actionList": [ "TOKEN_CREATE" ], "actionTokenTypes": [ "paymentInstrument", "shippingAddress" ] }, "orderInformation": { "billTo": { "firstName": "John", "lastName": "Doe", "address1": "1 Market St", "postalCode": "94105", "locality": "san francisco", "administrativeArea": "CA", "country": "US", "phoneNumber": "4158880000", "email": "test@cybs.com" }, "shipTo": { "firstName": "John", "lastName": "Doe", "address1": "1 Market St", "postalCode": "94105", "locality": "san francisco", "administrativeArea": "CA", "country": "US" }, "amountDetails": { "totalAmount": "102.21", "currency": "USD" } }, "paymentInformation": { "card": { "expirationYear": "2031", "number": "4111111111111111", "securityCode": "123", "expirationMonth": "12" }, "customer": { "id": "B21E6717A6F03479E05341588E0A303F" } }, "tokenInformation": { "paymentInstrument": { "default": true }, "shippingAddress": { "default": true } } }, "parentTag": "Authorization with Token Create" }, "example7": { "summary": "Authorization with Instrument Identifier Token Id bypassing Network Token", "sample-name": "Authorization with Instrument Identifier Token Id bypassing Network Token", "value": { "clientReferenceInformation": { "code": "TC50171_3" }, "orderInformation": { "amountDetails": { "totalAmount": "102.21", "currency": "USD" } }, "tokenInformation": { "networkTokenOption": "ignore" }, "paymentInformation": { "instrumentIdentifier": { "id": "7010000000016241111" } } }, "parentTag": "Authorization using Tokens" }, "example8": { "summary": "Authorization with Customer, Payment Instrument and Shipping Address Token Id", "sample-name": "Authorization with Customer, Payment Instrument and Shipping Address Token Id", "value": { "clientReferenceInformation": { "code": "TC50171_3" }, "orderInformation": { "amountDetails": { "totalAmount": "102.21", "currency": "USD" } }, "paymentInformation": { "customer": { "id": "B21E6717A6F03479E05341588E0A303F" }, "paymentInstrument": { "id": "B21E6B7E8BB3388EE05341588E0AFC84" }, "shippingAddress": { "id": "B21E6717A6F33479E05341588E0A303F" } } }, "parentTag": "Authorization using Tokens" }, "example9": { "summary": "Authorization with Instrument Identifier Token Creation", "sample-name": "Authorization with Instrument Identifier Token Creation", "value": { "clientReferenceInformation": { "code": "TC50171_3" }, "processingInformation": { "actionList": [ "TOKEN_CREATE" ], "actionTokenTypes": [ "instrumentIdentifier" ], "commerceIndicator": "internet" }, "orderInformation": { "billTo": { "firstName": "John", "lastName": "Doe", "address1": "1 Market St", "postalCode": "94105", "locality": "san francisco", "administrativeArea": "CA", "country": "US", "phoneNumber": "4158880000", "email": "test@cybs.com" }, "shipTo": { "firstName": "John", "lastName": "Doe", "address1": "1 Market St", "postalCode": "94105", "locality": "san francisco", "administrativeArea": "CA", "country": "US" }, "amountDetails": { "totalAmount": "102.21", "currency": "USD" } }, "paymentInformation": { "card": { "expirationYear": "2031", "number": "4111111111111111", "securityCode": "123", "expirationMonth": "12" } } }, "parentTag": "Authorization with Token Create" }, "example10": { "summary": "Authorization with Decision Manager", "sample-name": "Authorization with Decision Manager", "value": { "clientReferenceInformation": { "code": "TSYS_Eh_FE_01" }, "orderInformation": { "billTo": { "firstName": "JSON", "lastName": "RTS", "address1": "201 S. Division St._1", "locality": "Foster City", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "email": "beforeauth@cybersource.com", "phoneNumber": "6504327113" }, "amountDetails": { "totalAmount": "10", "currency": "USD" } }, "paymentInformation": { "card": { "number": "4111111111111111", "expirationMonth": "11", "expirationYear": "2025" } } }, "parentTag": "Authorization with Decision Manager" }, "example11": { "summary": "Authorization - Skip DecisionManager for single transaction", "sample-name": "Authorization - Skip DecisionManager for single transaction", "value": { "processingInformation": { "actionList": [ "DECISION_SKIP" ] }, "clientReferenceInformation": { "code": "TC50171_16" }, "orderInformation": { "billTo": { "firstName": "John", "lastName": "Doe", "address1": "1 Market St", "locality": "san francisco", "administrativeArea": "CA", "postalCode": "94105", "country": "US", "email": "test@cybs.com", "phoneNumber": "4158880000" }, "amountDetails": { "totalAmount": "10", "currency": "USD" } }, "paymentInformation": { "card": { "number": "4111111111111111", "expirationMonth": "11", "expirationYear": "2025" } } }, "parentTag": "Authorization with Decision Manager" }, "example12": { "summary": "Authorization with Decision Manager (Device Information)", "value": { "clientReferenceInformation": { "code": "54323007" }, "paymentInformation": { "card": { "expirationMonth": "12", "expirationYear": "2030", "number": "4444444444444448" } }, "orderInformation": { "billTo": { "firstName": "James", "lastName": "Smith", "locality": "Clearwater milford", "address1": "96, powers street", "email": "test@visa.com", "country": "US", "administrativeArea": "NH", "postalCode": "03055", "phoneNumber": "7606160717" }, "amountDetails": { "currency": "USD", "totalAmount": "144.14" } }, "deviceInformation": { "cookiesAccepted": "yes", "hostName": "host.com", "httpBrowserEmail": "xyz@gmail.com", "userAgent": "Chrome", "ipAddress": "64.124.61.215" } }, "parentTag": "Authorization with Decision Manager" }, "example13": { "summary": "Authorization with Decision Manager (Merchant Defined Information)", "value": { "clientReferenceInformation": { "code": "54323007" }, "paymentInformation": { "card": { "expirationMonth": "12", "expirationYear": "2030", "number": "4444444444444448" } }, "orderInformation": { "billTo": { "firstName": "James", "lastName": "Smith", "locality": "Clearwater milford", "address1": "96, powers street", "email": "test@visa.com", "country": "US", "administrativeArea": "NH", "postalCode": "03055", "phoneNumber": "7606160717" }, "amountDetails": { "currency": "USD", "totalAmount": "144.14" } }, "merchantDefinedInformation": [ { "key": "1", "value": "Test" }, { "key": "2", "value": "Test2" } ] }, "parentTag": "Authorization with Decision Manager" }, "example14": { "summary": "Authorization with Decision Manager (Travel Information)", "value": { "clientReferenceInformation": { "code": "54323007" }, "paymentInformation": { "card": { "expirationMonth": "12", "expirationYear": "2030", "number": "4444444444444448" } }, "orderInformation": { "billTo": { "firstName": "James", "lastName": "Smith", "locality": "Clearwater milford", "address1": "96, powers street", "email": "test@visa.com", "country": "US", "administrativeArea": "NH", "postalCode": "03055", "phoneNumber": "7606160717" }, "amountDetails": { "currency": "USD", "totalAmount": "144.14" } }, "travelInformation": { "completeRoute": "SFO-JFK:JFK-BLR", "departureTime": "2011-03-20 11:30pm GMT", "journeyType": "One way", "legs": [ { "destination": "JFK", "origination": "SFO" }, { "destination": "BLR", "origination": "JFK" } ] } }, "parentTag": "Authorization with Decision Manager" }, "example15": { "summary": "Authorization with Decision Manager (Buyer Information)", "value": { "clientReferenceInformation": { "code": "54323007" }, "paymentInformation": { "card": { "expirationMonth": "12", "expirationYear": "2030", "number": "4444444444444448" } }, "orderInformation": { "billTo": { "firstName": "James", "lastName": "Smith", "locality": "Clearwater milford", "address1": "96, powers street", "email": "test@visa.com", "country": "US", "administrativeArea": "NH", "postalCode": "03055", "phoneNumber": "7606160717" }, "amountDetails": { "currency": "USD", "totalAmount": "144.14" } }, "buyerInformation": { "hashedPassword": "", "dateOfBirth": "19980505", "personalIdentification": [ { "id": "1a23apwe98", "type": "CPF" } ] } }, "parentTag": "Authorization with Decision Manager" }, "example16": { "summary": "Authorization with Decision Manager (Shipping Information)", "value": { "clientReferenceInformation": { "code": "54323007" }, "paymentInformation": { "card": { "expirationMonth": "12", "expirationYear": "2030", "number": "4444444444444448" } }, "orderInformation": { "billTo": { "firstName": "James", "lastName": "Smith", "locality": "Clearwater milford", "address1": "96, powers street", "email": "test@visa.com", "country": "US", "administrativeArea": "NH", "postalCode": "03055", "phoneNumber": "7606160717" }, "amountDetails": { "currency": "USD", "totalAmount": "144.14" }, "shipTo": { "address1": "96, powers street", "locality": "Clearwater milford", "country": "IN", "firstName": "James", "lastName": "Smith", "phoneNumber": "7606160717", "administrativeArea": "KA", "postalCode": "560056" } } }, "parentTag": "Authorization with Decision Manager" }, "example17": { "summary": "Authorization with Decision Manager (custom setup)", "sample-name": "Authorization with Decision Manager (custom setup)", "value": { "processingInformation": { "actionList": [ "DECISION" ] }, "clientReferenceInformation": { "code": "TC50171_16" }, "orderInformation": { "billTo": { "firstName": "John", "lastName": "Doe", "address1": "1 Market St", "locality": "san francisco", "administrativeArea": "CA", "postalCode": "94105", "country": "US", "email": "test@cybs.com", "phoneNumber": "4158880000" }, "amountDetails": { "totalAmount": "10", "currency": "USD" } }, "paymentInformation": { "card": { "number": "4111111111111111", "expirationMonth": "11", "expirationYear": "2025" } } }, "parentTag": "Authorization with Decision Manager" }, "example18": { "summary": "Authorization with PA Enroll (Authentication Needed)", "sample-name": "Authorization with PA Enroll (Authentication Needed)", "value": { "clientReferenceInformation": { "code": "TC50171_3" }, "processingInformation": { "actionList": [ "CONSUMER_AUTHENTICATION" ] }, "consumerAuthenticationInformation": { "referenceId": "CybsCruiseTester-8ac0b02f", "requestorId": "123123197675" }, "orderInformation": { "billTo": { "firstName": "John", "lastName": "Smith", "address1": "201 S. Division St._1", "address2": "Suite 500", "locality": "Foster City", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "phoneNumber": "6504327113", "email": "accept@cybersource.com" }, "amountDetails": { "totalAmount": "100.00", "currency": "usd" } }, "paymentInformation": { "card": { "expirationYear": "2030", "number": "4000000000001091", "expirationMonth": "12" } } }, "parentTag": "Authorization with Payer Authentication" }, "example19": { "summary": "Authorization with Payer Auth Validation", "sample-name": "Authorization with Payer Auth Validation", "value": { "clientReferenceInformation": { "code": "TC50171_3" }, "processingInformation": { "actionList": [ "VALIDATE_CONSUMER_AUTHENTICATION" ] }, "consumerAuthenticationInformation": { "authenticationTransactionId": "OiCtXA1j1AxtSNDh5lt1" }, "orderInformation": { "billTo": { "firstName": "John", "lastName": "Smith", "address1": "201 S. Division St._1", "address2": "Suite 500", "locality": "Foster City", "administrativeArea": "CA", "postalCode": "94404", "country": "US", "phoneNumber": "6504327113", "email": "accept@cybs.com" } }, "amountDetails": { "amount": "100.00", "currency": "USD" }, "paymentInformation": { "card": { "expirationYear": "2030", "number": "4000000000001091", "expirationMonth": "01" } } }, "parentTag": "Authorization with Payer Authentication" }, "example20": { "summary": "Authorization with DM(Accept) + PA Enroll", "sample-name": "Authorization with DM(Accept) + PA Enroll", "value": { "clientReferenceInformation": { "code": "cbys_test" }, "processingInformation": { "actionList": [ "CONSUMER_AUTHENTICATION" ] }, "orderInformation": { "billTo": { "firstName": "John", "lastName": "Doe", "address1": "1 Market St", "locality": "san francisco", "administrativeArea": "CA", "postalCode": "94105", "country": "US", "phoneNumber": "4158880000", "email": "accept@cybersource.com" }, "amountDetails": { "totalAmount": "1.00", "currency": "usd" } }, "paymentInformation": { "card": { "expirationYear": "2031", "number": "340000000001007", "securityCode": "1234", "expirationMonth": "12" } } }, "parentTag": "Authorization with Payer Authentication" }, "example21": { "summary": "Authorization with DM(Review) + PA Enroll", "sample-name": "Authorization with DM(Review) + PA Enroll", "value": { "clientReferenceInformation": { "code": "TC50171_3" }, "processingInformation": { "actionList": [ "CONSUMER_AUTHENTICATION" ] }, "paymentInformation": { "card": { "expirationYear": "2031", "number": "372425119311008", "securityCode": "1234", "expirationMonth": "12" } }, "orderInformation": { "amountDetails": { "totalAmount": "102.21", "currency": "USD" }, "billTo": { "firstName": "John", "lastName": "Doe", "address1": "1 Market St", "locality": "san francisco", "administrativeArea": "CA", "postalCode": "94105", "country": "US", "email": "review@domain.com", "phoneNumber": "4158880000" } } }, "parentTag": "Authorization with Payer Authentication" }, "example22": { "summary": "Authorization with DM(Reject) + PA Enroll", "sample-name": "Authorization with DM(Reject) + PA Enroll", "value": { "clientReferenceInformation": { "code": "TC50171_3" }, "processingInformation": { "actionList": [ "CONSUMER_AUTHENTICATION" ] }, "paymentInformation": { "card": { "expirationYear": "2031", "number": "372425119311008", "securityCode": "1234", "expirationMonth": "12" } }, "orderInformation": { "amountDetails": { "totalAmount": "102.21", "currency": "USD" }, "billTo": { "firstName": "John", "lastName": "Doe", "address1": "1 Market St", "locality": "san francisco", "administrativeArea": "CA", "postalCode": "94105", "country": "US", "email": "reject@domain.com", "phoneNumber": "4158880000" } } }, "parentTag": "Authorization with Payer Authentication" }, "example23": { "summary": "Payment Network Tokenization", "sample-name": "Process Payment with Network Tokenization", "value": { "clientReferenceInformation": { "code": "TC_123122" }, "processingInformation": { "commerceIndicator": "vbv" }, "orderInformation": { "billTo": { "firstName": "John", "lastName": "Doe", "address1": "1 Market St", "postalCode": "94105", "locality": "san francisco", "administrativeArea": "CA", "country": "US", "phoneNumber": "4158880000", "email": "test@cybs.com" }, "amountDetails": { "totalAmount": "100", "currency": "USD" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "number": "4111111111111111", "expirationMonth": "12", "transactionType": "1" } }, "consumerAuthenticationInformation": { "cavv": "AAABCSIIAAAAAAACcwgAEMCoNh+=", "xid": "T1Y0OVcxMVJJdkI0WFlBcXptUzE=" } } }, "example24": { "summary": "Digital Payment - GooglePay", "sample-name": "Process Payment with GooglePay", "value": { "clientReferenceInformation": { "code": "TC_1231223" }, "processingInformation": { "paymentSolution": "012" }, "orderInformation": { "billTo": { "country": "US", "firstName": "John", "lastName": "Deo", "phoneNumber": "6504327113", "address1": "901 Metro Center Blvd", "postalCode": "94404", "locality": "Foster City", "administrativeArea": "CA", "email": "test@cybs.com" }, "amountDetails": { "totalAmount": "20", "currency": "USD" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2030", "number": "4111111111111111", "expirationMonth": "12", "transactionType": "1", "cryptogram": "EHuWW9PiBkWvqE5juRwDzAUFBAk=" } } } }, "example25": { "summary": "Digital Payments - ApplePay", "sample-name": "Process Payment with ApplePay", "value": { "clientReferenceInformation": { "code": "TC_1231223" }, "processingInformation": { "paymentSolution": "001" }, "orderInformation": { "billTo": { "country": "US", "firstName": "John", "lastName": "Deo", "phoneNumber": "6504327113", "address1": "901 Metro Center Blvd", "postalCode": "94404", "locality": "Foster City", "administrativeArea": "CA", "email": "test@cybs.com" }, "amountDetails": { "totalAmount": "10", "currency": "USD" } }, "paymentInformation": { "tokenizedCard": { "expirationYear": "2031", "number": "4111111111111111", "expirationMonth": "12", "transactionType": "1", "cryptogram": "AceY+igABPs3jdwNaDg3MAACAAA=" } } } }, "example26": { "summary": "Zero Dollar Authorization", "sample-name": "Process Payment for Zero Dollar Authorization", "value": { "clientReferenceInformation": { "code": "1234567890" }, "orderInformation": { "billTo": { "firstName": "John", "lastName": "Doe", "address1": "1 Market St", "postalCode": "94105", "locality": "san francisco", "administrativeArea": "CA", "country": "US", "phoneNumber": "4158880000", "email": "test@cybs.com" }, "amountDetails": { "totalAmount": 0, "currency": "USD" } }, "paymentInformation": { "card": { "expirationYear": "2031", "number": "5555555555554444", "securityCode": "123", "expirationMonth": "12" } } } }, "example27": { "summary": "Level II Data", "sample-name": "Process Payment with Level II Data", "value": { "clientReferenceInformation": { "code": "TC50171_12" }, "orderInformation": { "billTo": { "firstName": "John", "lastName": "Doe", "address1": "1 Market St", "postalCode": "94105", "locality": "san francisco", "administrativeArea": "CA", "country": "US", "phoneNumber": "4158880000", "email": "test@cybs.com" }, "invoiceDetails": { "purchaseOrderNumber": "LevelII Auth Po" }, "amountDetails": { "totalAmount": "112.00", "currency": "USD" } }, "paymentInformation": { "card": { "expirationYear": "2031", "number": "4111111111111111", "securityCode": "123", "expirationMonth": "12", "type": "001" } } } }, "example28": { "summary": "Level III Data", "sample-name": "Process Payment with Level III Data", "value": { "clientReferenceInformation": { "code": "TC50171_14" }, "processingInformation": { "purchaseLevel": "3" }, "orderInformation": { "billTo": { "firstName": "John", "lastName": "Doe", "address1": "1 Market St", "postalCode": "94105", "locality": "san francisco", "administrativeArea": "CA", "country": "US", "phoneNumber": "4158880000", "email": "test@cybs.com" }, "invoiceDetails": { "purchaseOrderNumber": "LevelIII Auth Po" }, "lineItems": [ { "discountApplied": "false", "quantity": "10", "unitPrice": "10.00", "totalAmount": "100", "productCode": "default", "amountIncludesTax": "false" } ], "amountDetails": { "totalAmount": "100.00", "currency": "USD" } }, "paymentInformation": { "card": { "expirationYear": "2031", "number": "4111111111111111", "securityCode": "123", "expirationMonth": "12", "type": "001" } } } }, "example29": { "summary": "Partial Authorization", "sample-name": "Process Payment with Partial Authorization", "value": { "clientReferenceInformation": { "code": "1234567890" }, "pointOfSaleInformation": { "cardPresent": "true", "catLevel": "6", "emv": { "fallbackCondition": "1", "fallback": "false" }, "terminalCapability": "4" }, "orderInformation": { "billTo": { "firstName": "John", "lastName": "Doe", "address1": "1 Market St", "postalCode": "94105", "locality": "san francisco", "administrativeArea": "CA", "country": "US", "phoneNumber": "4158880000", "email": "test@cybs.com" }, "amountDetails": { "totalAmount": "7012.00", "currency": "USD" } }, "paymentInformation": { "card": { "expirationYear": "2031", "number": "4111111111111111", "securityCode": "123", "expirationMonth": "12" } } } }, "example30": { "summary": "Electronic Check Debits", "sample-name": "Process Payment ECheck Debits", "value": { "clientReferenceInformation": { "code": "TC50171_3" }, "paymentInformation": { "paymentType": { "name": "CHECK" }, "bank": { "account": { "type": "C", "number": "4100" }, "routingNumber": "071923284" } }, "orderInformation": { "amountDetails": { "totalAmount": "100", "currency": "USD" }, "billTo": { "firstName": "John", "lastName": "Doe", "address1": "1 Market St", "locality": "san francisco", "administrativeArea": "CA", "postalCode": "94105", "country": "US", "email": "test@cybs.com" } } }, "parentTag": "Electronic Check(eCheck) and ServiceFees" }, "example31": { "summary": "Electronic Check Debits with Legacy Token", "sample-name": "Process Payment ECheck Debits with Legacy Token", "value": { "clientReferenceInformation": { "code": "TC50171_3" }, "paymentInformation": { "paymentType": { "name": "CHECK" }, "legacyToken": { "id": "7500BB199B4270EFE05340588D0AFCAD" } }, "orderInformation": { "amountDetails": { "totalAmount": "100", "currency": "USD" }, "billTo": { "firstName": "John", "lastName": "Doe", "address1": "1 Market St", "locality": "san francisco", "administrativeArea": "CA", "postalCode": "94105", "country": "US", "email": "test@cybs.com" } } }, "parentTag": "Electronic Check(eCheck) and ServiceFees" }, "example32": { "summary": "Service Fees with Credit Card transaction", "sample-name": "Process Payment Service Fees with Credit Card transaction", "value": { "clientReferenceInformation": { "code": "TC50171_3" }, "orderInformation": { "billTo": { "firstName": "John", "lastName": "Doe", "address1": "1 Market St", "postalCode": "94105", "locality": "san francisco", "administrativeArea": "CA", "country": "US", "phoneNumber": "4158880000", "email": "test@cybs.com" }, "amountDetails": { "totalAmount": "2325.00", "currency": "USD", "serviceFeeAmount": "30.0" } }, "paymentInformation": { "card": { "expirationYear": "2031", "number": "4111111111111111", "securityCode": "123", "expirationMonth": "12" } }, "merchantInformation": { "serviceFeeDescriptor": { "name": "Vacations Service Fee", "contact": "8009999999", "state": "CA" } } }, "parentTag": "Electronic Check(eCheck) and ServiceFees" }, "example33": { "summary": "Authorization Using Swiped Track Data", "sample-name": "Authorization Using Swiped Track Data", "value": { "clientReferenceInformation": { "code": "ABC123", "partner": { "thirdPartyCertificationNumber": "123456789012" } }, "processingInformation": { "commerceIndicator": "retail", "authorizationOptions": { "partialAuthIndicator": "true" } }, "pointOfSaleInformation": { "trackData": "%B38000000000006^TEST/CYBS ^2412121019761100 00868000000?", "cardPresent": "Y", "entryMode": "swiped", "terminalCapability": "4" }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" } } }, "parentTag": "Card Present with Visa Platform Connect" }, "example34": { "summary": "Sale Using Swiped Track Data with Visa Platform Connect", "sample-name": "Sale Using Swiped Track Data with Visa Platform Connect", "value": { "clientReferenceInformation": { "code": "123456" }, "processingInformation": { "commerceIndicator": "retail", "capture": "true", "authorizationOptions": { "partialAuthIndicator": "true" } }, "pointOfSaleInformation": { "trackData": "%B38000000000006^TEST/CYBS ^2412121019761100 00868000000?;38000000000006=20121210197611868000?", "cardPresent": "Y", "entryMode": "swiped", "terminalCapability": "4" }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" } } }, "parentTag": "Card Present with Visa Platform Connect" }, "example35": { "summary": "Sale Using Keyed Data with Visa Platform Connect", "sample-name": "Sale Using Keyed Data with Visa Platform Connect", "value": { "clientReferenceInformation": { "code": 123456 }, "processingInformation": { "commerceIndicator": "retail", "capture": true, "authorizationOptions": { "partialAuthIndicator": true, "ignoreAvsResult": true, "ignoreCvResult": true } }, "pointOfSaleInformation": { "cardPresent": "Y", "entryMode": "keyed", "terminalCapability": 4 }, "paymentInformation": { "card": { "number": 4111111111111111, "securityCode": 123, "expirationMonth": 12, "expirationYear": 2031 } }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" } } }, "parentTag": "Card Present with Visa Platform Connect" }, "example36": { "summary": "Sale Using Keyed Data with Balance Inquiry", "sample-name": "Sale Using Keyed Data with Balance Inquiry", "value": { "clientReferenceInformation": { "code": 123456, "partner": { "thirdPartyCertificationNumber": 123456789012 } }, "processingInformation": { "commerceIndicator": "retail", "capture": true, "authorizationOptions": { "partialAuthIndicator": true, "ignoreAvsResult": true, "ignoreCvResult": true } }, "pointOfSaleInformation": { "cardPresent": "Y", "entryMode": "keyed", "terminalCapability": 4 }, "paymentInformation": { "card": { "number": 4111111111111111, "securityCode": 123, "expirationMonth": 12, "expirationYear": 2031 } }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" } } }, "parentTag": "Card Present with Visa Platform Connect" }, "example37": { "summary": "Sale Using EMV Technology with Contact Read with Visa Platform Connect", "sample-name": "Sale Using EMV Technology with Contact Read with Visa Platform Connect", "value": { "clientReferenceInformation": { "code": 123456 }, "processingInformation": { "commerceIndicator": "retail", "authorizationOptions": { "partialAuthIndicator": true } }, "pointOfSaleInformation": { "trackData": "%B4111111111111111^TEST/CYBS ^2412121019761100 00868000000?;", "cardPresent": "Y", "catLevel": 7, "emv": { "cardSequenceNumber": 1, "tags": "9F3303204000950500000000009F3704518823719F100706011103A000009F26081E1756ED0E2134E29F36020015820200009C01009F1A0208409A030006219F02060000000020005F2A0208409F0306000000000000" }, "entryMode": "contact", "terminalCapability": 4 }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" } } }, "parentTag": "Card Present with Visa Platform Connect" }, "example38": { "summary": "Sale Using EMV Technology with Contactless Read with Visa Platform Connect", "sample-name": "Sale Using EMV Technology with Contactless Read with Visa Platform Connect", "value": { "clientReferenceInformation": { "code": 123456 }, "processingInformation": { "commerceIndicator": "retail", "authorizationOptions": { "partialAuthIndicator": true } }, "pointOfSaleInformation": { "trackData": "%B38000000000006^TEST/CYBS ^2412121019761100 00868000000?;38000000000006=20121210197611868000?", "cardPresent": "Y", "catLevel": 2, "entryMode": "contactless", "emv": { "cardSequenceNumber": 1, "tags": "9F3303204000950500000000009F3704518823719F100706011103A000009F26081E1756ED0E2134E29F36020015820200009C01009F1A0208409A030006219F02060000000020005F2A0208409F0306000000000000" }, "terminalCapability": 5 }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" } } }, "parentTag": "Card Present with Visa Platform Connect" }, "example39": { "summary": "Authorization Using Bluefin PCI P2PE with Visa Platform Connect", "sample-name": "Authorization Using Bluefin PCI P2PE with Visa Platform Connect", "value": { "clientReferenceInformation": { "code": "demomerchant" }, "pointOfSaleInformation": { "cardPresent": "Y", "catLevel": 1, "entryMode": "keyed", "terminalCapability": 2 }, "processingInformation": { "commerceIndicator": "retail", "authorizationOptions": { "partialAuthIndicator": true, "ignoreAvsResult": true, "ignoreCvResult": true } }, "orderInformation": { "billTo": { "country": "US", "lastName": "Deo", "address1": "201 S. Division St.", "postalCode": "48104-2201", "locality": "Ann Arbor", "administrativeArea": "MI", "firstName": "John", "phoneNumber": 999999999, "district": "MI", "email": "test@cybs.com" }, "amountDetails": { "totalAmount": "100.00", "currency": "USD" } }, "paymentInformation": { "card": { "expirationYear": 2050, "expirationMonth": 12 }, "fluidData": { "descriptor": "Ymx1ZWZpbg==", "value": "02d700801f3c20008383252a363031312a2a2a2a2a2a2a2a303030395e46444d53202020202020202020202020202020202020202020205e323231322a2a2a2a2a2a2a2a3f2a3b363031312a2a2a2a2a2a2a2a303030393d323231322a2a2a2a2a2a2a2a3f2a7a75ad15d25217290c54b3d9d1c3868602136c68d339d52d98423391f3e631511d548fff08b414feac9ff6c6dede8fb09bae870e4e32f6f462d6a75fa0a178c3bd18d0d3ade21bc7a0ea687a2eef64551751e502d97cb98dc53ea55162cdfa395431323439323830303762994901000001a000731a8003" } } }, "parentTag": "Card Present with Visa Platform Connect" }, "example40": { "summary": "Restaurant Authorization", "sample-name": "Restaurant Authorization", "value": { "clientReferenceInformation": { "code": "demomerchant", "partner": { "thirdPartyCertificationNumber": 123456789012 } }, "pointOfSaleInformation": { "trackData": "%B38000000000006^TEST/CYBS ^2412121019761100 00868000000?", "cardPresent": "Y", "entryMode": "swiped", "terminalCapability": 4 }, "processingInformation": { "commerceIndicator": "retail", "authorizationOptions": { "partialAuthIndicator": true } }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" } } }, "parentTag": "Card Present with Visa Platform Connect" }, "example41": { "summary": "Sale Using EMV Technology with a Contactless", "sample-name": "Sale Using EMV Technology with a Contactless", "value": { "clientReferenceInformation": { "code": 123456 }, "processingInformation": { "commerceIndicator": "retail" }, "pointOfSaleInformation": { "trackData": "%B38000000000006^TEST/CYBS ^2412121019761100 00868000000?;38000000000006=20121210197611868000?", "cardPresent": "Y", "catLevel": 2, "entryMode": "contactless", "emv": { "cardSequenceNumber": 999 }, "terminalCapability": 4 }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" } } }, "parentTag": "Card Present Enabled Acquirer" }, "example42": { "summary": "Sale Using EMV Technology with Contact Read (One) for Card Present Enabled Acquirer", "sample-name": "Sale Using EMV Technology with Contact Read (One) for Card Present Enabled Acquirer", "value": { "clientReferenceInformation": { "code": 123456 }, "processingInformation": { "commerceIndicator": "retail" }, "pointOfSaleInformation": { "trackData": "%B4111111111111111^TEST/CYBS ^2412121019761100 00868000000?;", "cardPresent": "Y", "catLevel": 7, "emv": { "tags": "9F3303204000950500000000009F3704518823719F100706011103A000009F26081E1756ED0E2134E29F36020015820200009C01009F1A0208409A030006219F02060000000020005F2A0208409F0306000000000000", "cardSequenceNumber": 0 }, "entryMode": "contact", "terminalCapability": 4 }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" } } }, "parentTag": "Card Present Enabled Acquirer" }, "example43": { "summary": "Swiped", "sample-name": "Swiped", "value": { "clientReferenceInformation": { "code": 123456 }, "processingInformation": { "commerceIndicator": "retail" }, "pointOfSaleInformation": { "trackData": "%B38000000000006^TEST/CYBS ^2412121019761100 00868000000?;38000000000006=20121210197611868000?", "cardPresent": "Y", "entryMode": "swiped", "terminalCapability": 4 }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" } } }, "parentTag": "Card Present Enabled Acquirer" }, "example44": { "summary": "Sale Using Swiped Track Data for Card Present Enabled Acquirer", "sample-name": "Sale Using Swiped Track Data for Card Present Enabled Acquirer", "value": { "clientReferenceInformation": { "code": 123456 }, "processingInformation": { "commerceIndicator": "retail", "capture": true }, "pointOfSaleInformation": { "trackData": "%B38000000000006^TEST/CYBS ^2412121019761100 00868000000?;38000000000006=20121210197611868000?", "cardPresent": "Y", "entryMode": "swiped", "terminalCapability": 4 }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" } } }, "parentTag": "Card Present Enabled Acquirer" }, "example45": { "summary": "Sale Using Keyed Data for Card Present Enabled Acquirer", "sample-name": "Sale Using Keyed Data for Card Present Enabled Acquirer", "value": { "clientReferenceInformation": { "code": 123456 }, "processingInformation": { "commerceIndicator": "retail", "capture": true }, "pointOfSaleInformation": { "cardPresent": "Y", "entryMode": "keyed", "terminalCapability": 4 }, "paymentInformation": { "card": { "number": 4111111111111111, "securityCode": 123, "expirationMonth": 12, "expirationYear": 2031 } }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" } } }, "parentTag": "Card Present Enabled Acquirer" }, "example46": { "summary": "American Express Direct - EMV with Contact Read", "sample-name": "American Express Direct - EMV with Contact Read", "value": { "clientReferenceInformation": { "code": 123456, "partner": { "originalTransactionId": "510be4aef90711e6acbc7d88388d803d" } }, "processingInformation": { "commerceIndicator": "retail" }, "pointOfSaleInformation": { "trackData": "%B4111111111111111^TEST/CYBS ^2412121019761100 00868000000?;", "cardPresent": "Y", "catLevel": 1, "emv": { "cardSequenceNumber": 1, "cardholderVerificationMethodUsed": 2, "tags": "9F3303204000950500000000009F3704518823719F100706011103A000009F26081E1756ED0E2134E29F36020015820200009C01009F1A0208409A030006219F02060000000020005F2A0208409F0306000000000000" }, "entryMode": "contact", "terminalCapability": 4, "encryptedKeySerialNumber": "01043191", "cardholderVerificationMethod": [ "pin", "signature" ], "terminalInputCapability": [ "contact", "contactless", "keyed", "swiped" ], "terminalCardCaptureCapability": 1, "deviceId": "123lkjdIOBK34981slviLI39bj" }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" } } }, "parentTag": "Card Present Enabled Acquirer" }, "example47": { "summary": "Sale Using EMV Technology with Contact Read (Two) for Card Present Enabled Acquirer", "sample-name": "Sale Using EMV Technology with Contact Read (Two) for Card Present Enabled Acquirer", "value": { "clientReferenceInformation": { "code": 123456, "partner": { "originalTransactionId": "510be4aef90711e6acbc7d88388d803d" } }, "processingInformation": { "commerceIndicator": "retail", "capture": true }, "pointOfSaleInformation": { "trackData": "%B4111111111111111^TEST/CYBS ^2412121019761100 00868000000?;", "cardPresent": "Y", "catLevel": 1, "emv": { "cardSequenceNumber": 1, "cardholderVerificationMethodUsed": 2, "tags": "9F3303204000950500000000009F3704518823719F100706011103A000009F26081E1756ED0E2134E29F36020015820200009C01009F1A0208409A030006219F02060000000020005F2A0208409F0306000000000000" }, "entryMode": "contact", "terminalCapability": 4, "encryptedKeySerialNumber": "01043191", "cardholderVerificationMethod": [ "pin", "signature" ], "terminalInputCapability": [ "contact", "contactless", "keyed", "swiped" ], "terminalCardCaptureCapability": 1, "deviceId": "123lkjdIOBK34981slviLI39bj" }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" } } }, "parentTag": "Card Present Enabled Acquirer" }, "example48": { "summary": "Sale Using EMV Technology with Contactless Read for Card Present Enabled Acquirer", "sample-name": "Sale Using EMV Technology with Contactless Read for Card Present Enabled Acquirer", "value": { "clientReferenceInformation": { "code": 123456, "partner": { "originalTransactionId": "510be4aef90711e6acbc7d88388d803d" } }, "processingInformation": { "commerceIndicator": "retail", "capture": true }, "pointOfSaleInformation": { "trackData": "%B4111111111111111^TEST/CYBS ^2412121019761100 00868000000?;", "cardPresent": "Y", "catLevel": 1, "emv": { "cardSequenceNumber": 1, "cardholderVerificationMethodUsed": 2, "tags": "9F3303204000950500000000009F3704518823719F100706011103A000009F26081E1756ED0E2134E29F36020015820200009C01009F1A0208409A030006219F02060000000020005F2A0208409F0306000000000000" }, "entryMode": "contactless", "terminalCapability": 5, "encryptedKeySerialNumber": "01043191", "cardholderVerificationMethod": [ "pin", "signature" ], "terminalInputCapability": [ "contact", "contactless", "keyed", "swiped" ], "terminalCardCaptureCapability": 1, "deviceId": "123lkjdIOBK34981slviLI39bj" }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" } } }, "parentTag": "Card Present Enabled Acquirer" }, "example49": { "summary": "Authorization Using Bluefin PCI P2PE for Card Present Enabled Acquirer", "sample-name": "Authorization Using Bluefin PCI P2PE for Card Present Enabled Acquirer", "value": { "clientReferenceInformation": { "code": "demomerchant" }, "pointOfSaleInformation": { "cardPresent": "Y", "catLevel": 1, "entryMode": "keyed", "terminalCapability": 2 }, "processingInformation": { "commerceIndicator": "retail" }, "orderInformation": { "billTo": { "country": "US", "lastName": "Deo", "address1": "201 S. Division St.", "postalCode": "48104-2201", "locality": "Ann Arbor", "administrativeArea": "MI", "firstName": "John", "phoneNumber": 999999999, "district": "MI", "email": "test@cybs.com" }, "amountDetails": { "totalAmount": "100.00", "currency": "USD" } }, "paymentInformation": { "card": { "expirationYear": 2050, "expirationMonth": 12 }, "fluidData": { "descriptor": "Ymx1ZWZpbg==", "value": "02d700801f3c20008383252a363031312a2a2a2a2a2a2a2a303030395e46444d53202020202020202020202020202020202020202020205e323231322a2a2a2a2a2a2a2a3f2a3b363031312a2a2a2a2a2a2a2a303030393d323231322a2a2a2a2a2a2a2a3f2a7a75ad15d25217290c54b3d9d1c3868602136c68d339d52d98423391f3e631511d548fff08b414feac9ff6c6dede8fb09bae870e4e32f6f462d6a75fa0a178c3bd18d0d3ade21bc7a0ea687a2eef64551751e502d97cb98dc53ea55162cdfa395431323439323830303762994901000001a000731a8003" } } }, "parentTag": "Card Present Enabled Acquirer" }, "example50": { "summary": "Authorization with Instrument Identifier Token Id", "sample-name": "Authorization with Instrument Identifier Token Id", "value": { "clientReferenceInformation": { "code": "TC50171_3" }, "processingInformation": { "commerceIndicator": "internet" }, "orderInformation": { "billTo": { "country": "US", "firstName": "John", "lastName": "Deo", "phoneNumber": "9321499232", "address1": "900 Metro Center Blvd", "postalCode": "48104-2201", "locality": "Foster City", "administrativeArea": "CA", "email": "test@cybs.com" }, "amountDetails": { "totalAmount": "200", "currency": "usd" } }, "paymentInformation": { "card": { "expirationYear": "2031", "expirationMonth": "03", "type": "001" }, "instrumentIdentifier": { "id": "7010000000016241111" } } }, "parentTag": "Authorization using Tokens" }, "example51": { "summary": "Authorization with Legacy Token", "sample-name": "Authorization with Legacy Token", "value": { "clientReferenceInformation": { "code": "TC50171_3" }, "paymentInformation": { "legacyToken": { "id": "B21E6717A6F03479E05341588E0A303F" } }, "orderInformation": { "amountDetails": { "totalAmount": "22", "currency": "USD" }, "billTo": { "firstName": "John", "lastName": "Doe", "address1": "1 Market St", "locality": "san francisco", "administrativeArea": "CA", "postalCode": "94105", "country": "US", "email": "test@cybs.com", "phoneNumber": "4158880000" } } }, "parentTag": "Authorization using Tokens" }, "example52": { "summary": "Authorization with PA Enroll (Authentication Needed) & Customer Token Creation", "sample-name": "Authorization with PA Enroll (Authentication Needed) & Customer Token Creation", "value": { "clientReferenceInformation": { "code": "TC50171_3" }, "processingInformation": { "actionList": [ "TOKEN_CREATE", "CONSUMER_AUTHENTICATION" ], "actionTokenTypes": [ "customer", "paymentInstrument", "shippingAddress" ] }, "consumerAuthenticationInformation": { "challengeCode": 4, "requestorId": 123123197675, "referenceId": "CybsCruiseTester-8ac0b02f" }, "orderInformation": { "billTo": { "firstName": "John", "lastName": "Doe", "address1": "1 Market St", "postalCode": "94105", "locality": "san francisco", "administrativeArea": "CA", "country": "US", "phoneNumber": "4158880000", "email": "test@cybs.com" }, "shipTo": { "firstName": "John", "lastName": "Doe", "address1": "1 Market St", "postalCode": "94105", "locality": "san francisco", "administrativeArea": "CA", "country": "US" }, "amountDetails": { "totalAmount": "102.21", "currency": "USD" } }, "paymentInformation": { "card": { "expirationYear": "2031", "number": "4111111111111111", "securityCode": "123", "expirationMonth": "12" } } }, "parentTag": "Authorization with Token Create" }, "example53": { "summary": "Authorization with Transit Tap Id", "sample-name": "Authorization with Transit Tap Id", "value": { "clientReferenceInformation": { "code": "TC50171_3" }, "processingInformation": { "commerceIndicator": "retail", "industryDataType": "transit", "authorizationOptions": { "transportationMode": 4, "aggregatedAuthIndicator": true, "deferredAuthIndicator": true } }, "orderInformation": { "amountDetails": { "totalAmount": 4.21, "currency": "USD" } }, "pointOfSaleInformation": { "catLevel": 2, "entryMode": "contactless", "terminalCapability": 5 }, "tokenInformation": { "jti": "a96392f4-cde4-11eb-b8bc-0242ac130002" } }, "parentTag": "Authorization using Tokens" }, "example54": { "summary": "Pin Debit Purchase Using Swiped Track Data with Visa Platform Connect", "sample-name": "Pin Debit Purchase Using Swiped Track Data with Visa Platform Connect", "value": { "clientReferenceInformation": { "code": "Pin Debit Purchase Using Swiped Track Data", "partner": { "thirdPartyCertificationNumber": "PTP1234" } }, "pointOfSaleInformation": { "trackData": "%B4111111111111111^JONES/JONES ^3312101976110000868000000?;4111111111111111=33121019761186800000?", "entryMode": "swiped", "terminalCapability": 4, "pinBlockEncodingFormat": 1, "encryptedPin": "52F20658C04DB351", "encryptedKeySerialNumber": "FFFF1B1D140000000005" }, "processingInformation": { "commerceIndicator": "retail", "networkRoutingOrder": "VMHF" }, "orderInformation": { "amountDetails": { "totalAmount": "202.00", "currency": "USD" } }, "paymentInformation": { "paymentType": { "name": "CARD", "subTypeName": "DEBIT" }, "card": { "useAs": "", "sourceAccountType": "UA" } } }, "parentTag": "Card Present with Visa Platform Connect" }, "example55": { "summary": "Pin Debit Purchase Using EMV Contact with Visa Platform Connect", "sample-name": "Pin Debit Purchase Using EMV Contact with Visa Platform Connect", "value": { "clientReferenceInformation": { "code": "Pin Debit Purchase Using EMV Contact", "partner": { "thirdPartyCertificationNumber": "PTP1234" } }, "pointOfSaleInformation": { "entryMode": "contact", "terminalCapability": 4, "emv": { "tags": "9F3303204000950500000000009F3704518823719F100706011103A000009F26081E1756ED0E2134E29F36020015820200009C01009F1A0208409A030006219F02060000000020005F2A0208409F0306000000000000", "cardSequenceNumber": 1 }, "trackData": "%B4111111111111111^JONES/JONES ^3312101976110000868000000?;4111111111111111=33121019761186800000?", "pinBlockEncodingFormat": 1, "encryptedPin": "52F20658C04DB351", "encryptedKeySerialNumber": "FFFF1B1D140000000005" }, "processingInformation": { "commerceIndicator": "retail", "networkRoutingOrder": "VMHF" }, "orderInformation": { "amountDetails": { "totalAmount": "202.00", "currency": "USD" } }, "paymentInformation": { "paymentType": { "name": "CARD", "subTypeName": "DEBIT" }, "card": { "useAs": "", "sourceAccountType": "UA" } } }, "parentTag": "Card Present with Visa Platform Connect" }, "example56": { "summary": "Pin Debit Purchase Using EMV Technology with Contactless Read with Visa Platform Connect", "sample-name": "Pin Debit Purchase Using EMV Technology with Contactless Read with Visa Platform Connect", "value": { "clientReferenceInformation": { "code": "Pin Debit Purchase Using EMV Contactless", "partner": { "thirdPartyCertificationNumber": "PTP1234" } }, "pointOfSaleInformation": { "trackData": ";4111111111111111=33121019761186800000?", "entryMode": "contactless", "terminalCapability": 4, "emv": { "tags": "9F3303204000950500000000009F3704518823719F100706011103A000009F26081E1756ED0E2134E29F36020015820200009C01009F1A0208409A030006219F02060000000020005F2A0208409F0306000000000000", "cardSequenceNumber": 1 } }, "processingInformation": { "commerceIndicator": "retail", "networkRoutingOrder": "VMHF" }, "orderInformation": { "amountDetails": { "totalAmount": "202.00", "currency": "USD" } }, "paymentInformation": { "paymentType": { "name": "CARD", "subTypeName": "DEBIT" }, "card": { "useAs": "", "sourceAccountType": "UA" } } }, "parentTag": "Card Present with Visa Platform Connect" }, "example57": { "summary": "Pin Debit Purchase with Cashback Request with Visa Platform Connect", "sample-name": "Pin Debit Purchase with Cashback Request with Visa Platform Connect", "value": { "clientReferenceInformation": { "code": "Pin Debit Purchase With Cashback", "partner": { "thirdPartyCertificationNumber": "PTP1234" } }, "pointOfSaleInformation": { "trackData": ";4111111111111111=33121019761186800000?", "entryMode": "contactless", "terminalCapability": 4, "emv": { "tags": "9F3303204000950500000000009F3704518823719F100706011103A000009F26081E1756ED0E2134E29F36020015820200009C01009F1A0208409A030006219F02060000000020005F2A0208409F0306000000000000", "cardSequenceNumber": 1 } }, "processingInformation": { "commerceIndicator": "retail", "networkRoutingOrder": "VMHF" }, "orderInformation": { "amountDetails": { "totalAmount": "204.00", "currency": "USD", "cashbackAmount": "45.00" } }, "paymentInformation": { "paymentType": { "name": "CARD", "subTypeName": "DEBIT" }, "card": { "useAs": "", "sourceAccountType": "UA" } } }, "parentTag": "Card Present with Visa Platform Connect" }, "example58": { "summary": "Pin Debit Purchase Using EMV Contactless Balance Inquiry with Visa Platform Connect", "sample-name": "Pin Debit Purchase Using EMV Contactless Balance Inquiry with Visa Platform Connect", "value": { "clientReferenceInformation": { "code": "Pin Debit Purchase - Balance Inquiry", "partner": { "thirdPartyCertificationNumber": "PTP1234" } }, "pointOfSaleInformation": { "trackData": ";4111111111111111=33121019761186800000?", "entryMode": "contactless", "terminalCapability": 4, "emv": { "tags": "9F3303204000950500000000009F3704518823719F100706011103A000009F26081E1756ED0E2134E29F36020015820200009C01009F1A0208409A030006219F02060000000020005F2A0208409F0306000000000000", "cardSequenceNumber": 1 } }, "processingInformation": { "commerceIndicator": "retail", "authorizationOptions": { "balanceInquiry": "true" }, "networkRoutingOrder": "VMHF" }, "orderInformation": { "amountDetails": { "totalAmount": "0.00", "currency": "USD" } }, "paymentInformation": { "paymentType": { "name": "CARD", "subTypeName": "DEBIT" }, "card": { "useAs": "", "sourceAccountType": "UA" } } }, "parentTag": "Card Present with Visa Platform Connect" }, "example59": { "summary": "EBT - Purchase from SNAP Account with Visa Platform Connect", "sample-name": "EBT - Purchase from SNAP Account with Visa Platform Connect", "value": { "clientReferenceInformation": { "code": "EBT - Purchase From SNAP Account", "partner": { "thirdPartyCertificationNumber": "PTP1234" } }, "pointOfSaleInformation": { "trackData": "%B4111111111111111^JONES/JONES ^3312101976110000868000000?;4111111111111111=33121019761186800000?", "entryMode": "swiped", "terminalCapability": 4, "pinBlockEncodingFormat": 1, "encryptedPin": "52F20658C04DB351", "encryptedKeySerialNumber": "FFFF1B1D140000000005" }, "processingInformation": { "commerceIndicator": "retail", "networkRoutingOrder": "K", "purchaseOptions": { "isElectronicBenefitsTransfer": true }, "electronicBenefitsTransfer": { "category": "FOOD" } }, "orderInformation": { "amountDetails": { "totalAmount": "101.00", "currency": "USD" }, "merchantInformation": { "categoryCode": "5499" } }, "paymentInformation": { "paymentType": { "name": "CARD", "subTypeName": "DEBIT" } } }, "parentTag": "Card Present with Visa Platform Connect" }, "example60": { "summary": "EBT - Purchase from SNAP Account with Available Balance In Response with Visa Platform Connect", "sample-name": "EBT - Purchase from SNAP Account with Available Balance In Response with Visa Platform Connect", "value": { "clientReferenceInformation": { "code": "EBT - Purchase From SNAP Account (Available Balance)", "partner": { "thirdPartyCertificationNumber": "PTP1234" } }, "pointOfSaleInformation": { "trackData": "%B4111111111111111^JONES/JONES ^3312101976110000868000000?;4111111111111111=33121019761186800000?", "entryMode": "swiped", "terminalCapability": 4, "pinBlockEncodingFormat": 1, "encryptedPin": "52F20658C04DB351", "encryptedKeySerialNumber": "FFFF1B1D140000000005" }, "processingInformation": { "commerceIndicator": "retail", "networkRoutingOrder": "K", "purchaseOptions": { "isElectronicBenefitsTransfer": true }, "electronicBenefitsTransfer": { "category": "FOOD" } }, "orderInformation": { "amountDetails": { "totalAmount": "6022.00", "currency": "USD" }, "merchantInformation": { "categoryCode": "5499" } }, "paymentInformation": { "paymentType": { "name": "CARD", "subTypeName": "DEBIT" } } }, "parentTag": "Card Present with Visa Platform Connect" }, "example61": { "summary": "EBT - Electronic Voucher Purchase from SNAP Account with Visa Platform Connect", "sample-name": "EBT - Electronic Voucher Purchase from SNAP Account with Visa Platform Connect", "value": { "clientReferenceInformation": { "code": "EBT - Voucher Purchase From SNAP Account", "partner": { "thirdPartyCertificationNumber": "PTP1234" } }, "pointOfSaleInformation": { "trackData": "%B4111111111111111^JONES/JONES ^3312101976110000868000000?;4111111111111111=33121019761186800000?", "entryMode": "keyed", "terminalCapability": 4 }, "processingInformation": { "commerceIndicator": "retail", "networkRoutingOrder": "K", "purchaseOptions": { "isElectronicBenefitsTransfer": true }, "electronicBenefitsTransfer": { "voucherSerialNumber": "123451234512345", "category": "FOOD" } }, "orderInformation": { "amountDetails": { "totalAmount": "103.00", "currency": "USD" }, "merchantInformation": { "categoryCode": "5999" } }, "paymentInformation": { "card": { "number": "4012002000013007", "expirationMonth": "12", "expirationYear": "25" }, "paymentType": { "name": "CARD", "subTypeName": "DEBIT" } } }, "parentTag": "Card Present with Visa Platform Connect" }, "example62": { "summary": "EBT - Purchase from Cash Benefits Account with Cashback", "sample-name": "EBT - Purchase from Cash Benefits Account with Cashback", "value": { "clientReferenceInformation": { "code": "EBT - Purchase from Cash Benefits Account with CB", "partner": { "thirdPartyCertificationNumber": "PTP1234" } }, "pointOfSaleInformation": { "trackData": "%B4111111111111111^JONES/JONES ^3312101976110000868000000?;4111111111111111=33121019761186800000?", "entryMode": "swiped", "terminalCapability": 4, "pinBlockEncodingFormat": 1, "encryptedPin": "52F20658C04DB351", "encryptedKeySerialNumber": "FFFF1B1D140000000005" }, "processingInformation": { "commerceIndicator": "retail", "networkRoutingOrder": "K", "purchaseOptions": { "isElectronicBenefitsTransfer": true }, "electronicBenefitsTransfer": { "category": "CASH" } }, "orderInformation": { "amountDetails": { "totalAmount": "702.00", "currency": "USD", "cashbackAmount": "45.00" }, "merchantInformation": { "categoryCode": "5411" } }, "paymentInformation": { "card": { "type": "001" }, "paymentType": { "name": "CARD", "subTypeName": "DEBIT" } } }, "parentTag": "Card Present with Visa Platform Connect" }, "example63": { "summary": "SI Completion Amount>0", "sample-name": "SI Completion", "value": { "deviceInformation": { "httpAcceptBrowserValue": "http", "userAgentBrowserValue": "safari", "ipAddress": "10.10.10.10" }, "consumerAuthenticationInformation": { "authenticationTransactionContextId": "100000000000000000000000025253", "transactionToken": "AxjzbwSTcz9aHyOIL490/949UafAxfvksgAxHXa2/+xcVZ0CtA+AbkvF" }, "processingInformation": { "commerceIndicator": "rpy", "actionList": [ "BILLING_AGREEMENT_CREATE" ] }, "aggregatorInformation": { "subMerchant": { "name": "rupay" }, "name": "aggregatorname" }, "orderInformation": { "billTo": { "country": "SG", "lastName": "VDP", "address2": "test", "address1": "201 S. Division St.", "postalCode": "48104-2201", "locality": "Ann Arbor", "administrativeArea": "MI", "firstName": "RTS", "phoneNumber": "999999999", "district": "MI", "buildingNumber": "123", "company": { "name": "Visa" }, "email": "test@cybs.com" }, "amountDetails": { "totalAmount": "100.0", "currency": "INR" } }, "paymentInformation": { "card": { "expirationYear": "2031", "number": "5082794233463", "securityCode": "123", "expirationMonth": "12", "type": "061" } }, "installmentInformation": { "paymentType": "1" } } }, "example64": { "summary": "Redirectional SI Completion Amount > 0", "sample-name": "S2S SI Completion", "value": { "deviceInformation": { "httpAcceptBrowserValue": "http", "userAgentBrowserValue": "safari", "ipAddress": "10.10.10.10" }, "consumerAuthenticationInformation": { "cavv": "MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI1MjM2", "xid": "OTE0OTE2MzI5MzE1MDUyOTU4Mjc=" }, "processingInformation": { "commerceIndicator": "rpy", "actionList": [ "BILLING_AGREEMENT_CREATE" ] }, "aggregatorInformation": { "subMerchant": { "name": "rupay" }, "name": "aggregatorname" }, "orderInformation": { "billTo": { "country": "IN", "firstName": "Krishna", "lastName": "CYBS", "phoneNumber": "9999999999", "address1": "201 S. Division St.", "district": "BLR", "postalCode": "560048", "locality": "NPCI", "company": { "name": "Visa" }, "administrativeArea": "MI", "email": "test@cybs.com" }, "amountDetails": { "totalAmount": "00.00", "currency": "INR" } }, "paymentInformation": { "card": { "expirationYear": "2026", "number": "50823043205909", "securityCode": "123", "expirationMonth": "08", "type": "061" } }, "installmentInformation": { "paymentType": "1" } } }, "example65": { "summary": "PIN-less Debit Purchase Using EMV Technology with Contactless Less Than or Equal to $50", "sample-name": "PIN-less Debit Purchase Using EMV Technology with Contactless Less Than or Equal to $50", "value": { "clientReferenceInformation": { "code": "PIN-less Debit Purchase Using EMV Contactless", "partner": { "thirdPartyCertificationNumber": "PTP1234" } }, "pointOfSaleInformation": { "trackData": ";4111111111111111=33121019761186800000?", "entryMode": "contactless", "terminalCapability": 4, "terminalPinCapability": 0, "emv": { "tags": "9F3303204000950500000000009F3704518823719F100706011103A000009F26081E1756ED0E2134E29F36020015820200009C01009F1A0208409A030006219F02060000000020005F2A0208409F0306000000000000", "cardSequenceNumber": 1 } }, "processingInformation": { "commerceIndicator": "retail", "networkRoutingOrder": "VMHF" }, "orderInformation": { "amountDetails": { "totalAmount": "10.00", "currency": "USD" } }, "paymentInformation": { "paymentType": { "name": "CARD", "subTypeName": "DEBIT" }, "card": { "useAs": "", "sourceAccountType": "UA" } } }, "parentTag": "Card Present with Visa Platform Connect" } } } }, "/pts/v2/payments/{id}": { "patch": { "summary": "Increment an Authorization", "description": "Use this service to authorize additional charges in a lodging or autorental transaction. Include the ID returned from the original authorization in the PATCH request to add additional charges to that authorization.\n", "tags": [ "payments" ], "operationId": "incrementAuth", "x-devcenter-metaData": { "categoryTag": "Payments", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/payments/developer/ctv/rest/payments/payments-intro.html" }, "parameters": [ { "name": "id", "in": "path", "description": "The ID returned from the original authorization request.", "required": true, "type": "string" }, { "name": "incrementAuthRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "partner": { "type": "object", "properties": { "originalTransactionId": { "type": "string", "maxLength": 32, "description": "Value that links the previous transaction to the current follow-on request. This value is assigned by the client\nsoftware that is installed on the POS terminal, which makes it available to the terminal's software and to\nCyberSource. Therefore, you can use this value to reconcile transactions between CyberSource and the terminal's\nsoftware.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" }, "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } }, "applicationName": { "type": "string", "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" }, "applicationVersion": { "type": "string", "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "applicationUser": { "type": "string", "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" } } }, "processingInformation": { "type": "object", "properties": { "authorizationOptions": { "type": "object", "properties": { "initiator": { "type": "object", "properties": { "storedCredentialUsed": { "type": "boolean", "description": "Indicates to an issuing bank whether a merchant-initiated transaction came from a card that was already stored on file.\n\nPossible values:\n- **true** means the merchant-initiated transaction came from a card that was already stored on file.\n- **false** means the merchant-initiated transaction came from a card that was not stored on file.\n" } } } } } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "additionalAmount": { "type": "string", "maxLength": 19, "description": "Additional charges that have to be authorized against a lodging or auto-rental order.\nThis value cannot be negative. You can include a decimal point (.), but no other special characters.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" } } } } }, "merchantInformation": { "type": "object", "properties": { "transactionLocalDateTime": { "type": "string", "maxLength": 14, "description": "Date and time at your physical location.\n\nFormat: `YYYYMMDDhhmmss`, where:\n - `YYYY` = year\n - `MM` = month\n - `DD` = day\n - `hh` = hour\n - `mm` = minutes\n - `ss` = seconds\n\n#### Used by\n**Authorization**\nRequired for these processors:\n- American Express Direct - American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- SIX\n\nOptional for all other processors.\n" } } }, "travelInformation": { "type": "object", "properties": { "duration": { "type": "string", "maxLength": 2, "description": "Duration for which the vehicle was rented or lodge/hotel was booked.\n" } } } }, "example": { "clientReferenceInformation": { "code": "TC50171_3" }, "processingInformation": { "authorizationOptions": { "initiator": { "storedCredentialUsed": true } } }, "orderInformation": { "amountDetails": { "additionalAmount": "22.49", "currency": "USD" } }, "merchantInformation": { "transactionLocalDateTime": 20191002080000 }, "travelInformation": { "duration": "4" } } } } ], "responses": { "201": { "description": "Successful response.", "schema": { "title": "ptsV2IncrementalAuthorizationPatch201Response", "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.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - AUTHORIZED\n - AUTHORIZED_PENDING_REVIEW\n - DECLINED\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" }, "errorInformation": { "type": "object", "properties": { "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - AVS_FAILED\n - CONTACT_PROCESSOR\n - EXPIRED_CARD\n - PROCESSOR_DECLINED\n - INSUFFICIENT_FUND\n - STOLEN_LOST_CARD\n - ISSUER_UNAVAILABLE\n - UNAUTHORIZED_CARD\n - CVN_NOT_MATCH\n - EXCEEDS_CREDIT_LIMIT\n - INVALID_CVN\n - BLACKLISTED_CUSTOMER\n - SUSPENDED_ACCOUNT\n - PAYMENT_REFUSED\n - CV_FAILED\n - INVALID_ACCOUNT\n - GENERAL_DECLINE\n - INVALID_MERCHANT_CONFIGURATION\n - DECISION_PROFILE_REJECT\n - SCORE_EXCEEDS_THRESHOLD\n - CONSUMER_AUTHENTICATION_REQUIRED\n - ALLOWABLE_PIN_RETRIES_EXCEEDED\n - PROCESSOR_ERROR\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" } } } } } }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" } } }, "processorInformation": { "type": "object", "properties": { "approvalCode": { "type": "string", "maxLength": 6, "description": "Authorization code. Returned only when the processor returns this value.\n\nThe length of this value depends on your processor.\n\nReturned by authorization service.\n\n#### PIN debit\nAuthorization code that is returned by the processor.\n\nReturned by PIN debit credit.\n\n#### Elavon Encrypted Account Number Program\nThe returned value is OFFLINE.\n\n#### TSYS Acquiring Solutions\nThe returned value for a successful zero amount authorization is 000000.\n" }, "transactionId": { "type": "string", "maxLength": 50, "description": "Network transaction identifier (TID). You can use this value to identify a specific transaction when you are\ndiscussing the transaction with your processor. Not all processors provide this value.\n\nReturned by the authorization service.\n\n#### PIN debit\nTransaction identifier generated by the processor.\n\nReturned by PIN debit credit.\n\n#### GPX\nProcessor transaction ID.\n\n#### Cielo\nFor Cielo, this value is the non-sequential unit (NSU) and is supported for all transactions. The value is generated by Cielo or the issuing bank.\n\n#### Comercio Latino\nFor Comercio Latino, this value is the proof of sale or non-sequential unit (NSU) number generated by the acquirers Cielo and Rede, or the issuing bank.\n\n#### CyberSource through VisaNet and GPN\nFor details about this value for CyberSource through VisaNet and GPN, see \"Network Transaction Identifiers\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Moneris\nThis value identifies the transaction on a host system. It contains the following information:\n- Terminal used to process the transaction\n- Shift during which the transaction took place\n- Batch number\n- Transaction number within the batch\nYou must store this value. If you give the customer a receipt, display this value on the receipt.\n\n**Example** For the value\n66012345001069003:\n- Terminal ID = 66012345\n- Shift number = 001\n- Batch number = 069\n- Transaction number = 003\n" }, "responseCode": { "type": "string", "maxLength": 10, "description": "For most processors, this is the error message sent directly from the bank. Returned only when the processor\nreturns this value.\n\n**Important** Do not use this field to evaluate the result of the authorization.\n\n#### PIN debit\nResponse value that is returned by the processor or bank.\n**Important** Do not use this field to evaluate the results of the transaction request.\n\nReturned by PIN debit credit, PIN debit purchase, and PIN debit reversal.\n\n#### AIBMS\nIf this value is `08`, you can accept the transaction if the customer provides you with identification.\n\n#### Atos\nThis value is the response code sent from Atos and it might also include the response code from the bank.\nFormat: `aa,bb` with the two values separated by a comma and where:\n- `aa` is the two-digit error message from Atos.\n- `bb` is the optional two-digit error message from the bank.\n\n#### Comercio Latino\nThis value is the status code and the error or response code received from the processor separated by a colon.\nFormat: [status code]:E[error code] or [status code]:R[response code]\nExample `2:R06`\n\n#### JCN Gateway\nProcessor-defined detail error code. The associated response category code is in the `processorInformation.responseCategoryCode` field.\nString (3)\n" }, "systemTraceAuditNumber": { "type": "string", "maxLength": 6, "description": "This field is returned only for **American Express Direct** and **CyberSource through VisaNet**.\nReturned by authorization and incremental authorization services.\n\n#### American Express Direct\n\nSystem trace audit number (STAN). This value identifies the transaction and is useful when investigating a\nchargeback dispute.\n\n#### CyberSource through VisaNet\n\nSystem trace number that must be printed on the customer's receipt.\n" }, "responseDetails": { "type": "string", "maxLength": 255, "description": "This field might contain information about a decline. This field is supported only for **CyberSource through\nVisaNet**.\n" }, "merchantAdvice": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 2, "description": "- Merchant should update their retry logic to ensure retry is not attempted for the cards for which Issuer won't approve the transactions and where the retry is allowed.\n- Card Processing Associations provides this data which is being passed through in the following data element irrespective of the Card Associations. Usage of this data must be always associated with the Card Associations card types for merchant processing retry logic.\n- In additions to the Merchant Advice code, Associations also provides the decline response codes which provides the reason for decline. Association response code will be a pass-through value.\n\n#### Processors supported:\n - HSBC\n - Barclays\n - FDC Nash\n - FDI Global\n - Elavon America\n - VPC\n - Rede\n - Payment tech Salem\n\n\n#### Possible values:\n| Card Type | Advice Code | Description |\n| ----------- | ------------- | ------------------------------------------- |\n| VISA | 1 | Issuer never approves |\n| VISA | 2 | Issuer cannot approve at this time |\n| VISA | 3 | Data quality/revalidate payment information |\n| MasterCard | 01 | New account information available |\n| MasterCard | 02 | Try Again Later |\n| MasterCard | 03 | Do Not Try Again |\n| MasterCard | 04 | Token not supported |\n| MasterCard | 21 | Do not honor |\n| MasterCard | 22 | Merchant does not qualify for product code |\n| MasterCard | 24 | Retry after 1 hour |\n| MasterCard | 25 | Retry after 24 hours |\n| MasterCard | 26 | Retry after 2 days |\n| MasterCard | 27 | Retry after 4 days |\n| MasterCard | 28 | Retry after 6 days |\n| MasterCard | 29 | Retry after 8 days |\n| MasterCard | 30 | Retry after 10 days |\n| MasterCard | 40 | Consumer non-reloadable prepaid card |\n| MasterCard | 41 | Consumer single-use virtual card number |\n| MasterCard | 42 | Sanctions score exceeds threshold value |\n| MasterCard | 99 | Do Not Try Again |\n\nFor processor-specific information, see the `auth_merchant_advice_code` field in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "codeRaw": { "type": "string", "maxLength": 4, "description": "Raw merchant advice code sent directly from the processor. This field is used only for Mastercard.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR7\n- Position: 96-99\n- Field: Response Data-Merchant Advice Code\n\n\nFor processor-specific information, see the `auth_merchant_advice_code_raw` field in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "nameMatch": { "type": "string", "maxLength": 2, "description": "#### Visa Platform Connect\nThe field contains will contain the Account Name Request Result for zero amount Authorization request. Valid values are:\n\n00 = Name Match Performed\n01 = Name Match not Performed\n02 = Name Match not supported\n" } } }, "sellerProtection": { "type": "object", "properties": { "type": { "type": "string", "description": "The kind of seller protection in force for the transaction. This field is\nreturned only when the protection eligibility value is set to\nELIGIBLE or PARTIALLY_ELIGIBLE.\nPossible values\n- ITEM_NOT_RECEIVED_ELIGIBLE: Sellers are protected\nagainst claims for items not received.\n- UNAUTHORIZED_PAYMENT_ELIGIBLE: Sellers are\nprotected against claims for unauthorized payments.\nOne or both values can be returned.\n" }, "eligibility": { "type": "string", "description": "The level of seller protection in force for the transaction.\nPossible values:\n- `ELIGIBLE`\n- `PARTIALLY_ELIGIBLE`\n- `INELIGIBLE`\n" }, "eligibilityType": { "type": "string", "maxLength": 60, "description": "The kind of seller protection in force for the transaction. This field is returned only when the protection_eligibility property is set to ELIGIBLE or PARTIALLY_ELIGIBLE.\nPossible values:\n- `ITEM_NOT_RECEIVED_ELIGIBLE: Sellers are protected against claims for items not received.`\n- `UNAUTHORIZED_PAYMENT_ELIGIBLE: Sellers are protected against claims for unauthorized payments.`\nOne or both values can be returned.\n" } } } } }, "paymentInformation": { "type": "object", "properties": { "accountFeatures": { "type": "object", "properties": { "category": { "type": "string", "maxLength": 7, "description": "#### GPX\nMastercard product ID associated with the primary account number (PAN).\nReturned by authorization service.\n\n#### CyberSource through VisaNet\nVisa or Mastercard product ID that is associated with the primary account number (PAN).\nFor descriptions of the Visa product IDs, see the Product ID table on the [Visa\nRequest & Response Codes web page.](https://developer.visa.com/guides/request_response_codes)\n\nData Length: String (3)\n\n#### GPN\nVisa or Mastercard product ID that is associated with the primary account number (PAN).\nFor descriptions of the Visa product IDs, see the Product ID table on the\n[Visa Request & Response Codes web page.](https://developer.visa.com/guides/request_response_codes)\n\nData Length: String (3)\n\n#### Worldpay VAP\n**Important** Before using this field on Worldpay VAP,\nyou must contact CyberSource Customer Support to have\nyour account configured for this feature.\n\nType of card used in the transaction. The only possible value is:\n- `PREPAID`: Prepaid Card\n\nData Length: String (7)\n\n#### RBS WorldPay Atlanta\nType of card used in the transaction. Possible values:\n- `B`: Business Card\n- `O`: Noncommercial Card\n- `R`: Corporate Card\n- `S`: Purchase Card\n- `Blank`: Purchase card not supported\n\nData Length: String (1)\n" } } } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 15, "description": "Amount you requested for the payment or capture.\n\nThis value is returned for partial authorizations.\nThis field is also returned on incremental authorizations will contain the aggregated amount from the original authorizations and all the incremental authorizations.\n" }, "authorizedAmount": { "type": "string", "maxLength": 15, "description": "Amount that was authorized.\n\nReturned by authorization service.\n\n#### PIN debit\nAmount of the purchase.\n\nReturned by PIN debit purchase.\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in Merchant Descriptors Using the SCMP API.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "settlementAmount": { "type": "string", "maxLength": 12, "description": "This is a multicurrency field. It contains the transaction amount (field 4), converted to the Currency used to bill the cardholder's account.\nThis field is returned for OCT transactions.\n" }, "settlementCurrency": { "type": "string", "maxLength": 3, "description": "This is a multicurrency-only field. It contains a 3-digit numeric code that identifies the currency used by the issuer to bill the cardholder's account.\nThis field is returned for OCT transactions.\n" }, "originalAmount": { "type": "string", "maxLength": 15, "description": "Amount in your original local pricing currency.\n\nThis value cannot be negative. You can include a decimal point (.) in this field to denote the currency\nexponent, but you cannot include any other special characters.\n\nIf needed, CyberSource truncates the amount to the correct number of decimal places.\n" }, "originalCurrency": { "type": "string", "maxLength": 15, "description": "Your local pricing currency code.\n\nFor the possible values, see the [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n" }, "processorTransactionFee": { "type": "string", "maxLength": 15, "description": "Amount up to N digit after the decimals separator as defined in ISO 4217 for the appropriate currency code.\n" }, "exchangeRate": { "type": "string", "maxLength": 17, "description": "The rate of conversion of the currency given in the request to CNY. The conversion happens at the time when Alipay's trade order is created\n" }, "foreignCurrency": { "type": "string", "maxLength": 3, "description": "Currency code for the transaction performed in cross border currency.\n" }, "foreignAmount": { "type": "string", "maxLength": 11, "description": "The transaction amount in CNY.\n" }, "discountAmount": { "type": "string", "maxLength": 11, "description": "If coupons/vouchers are used in the transaction, the discount amount redeemed in the settlement currency will be returned. Otherwise, no return.\n" } } }, "invoiceDetails": { "type": "object", "properties": { "productId": { "type": "string", "maxLength": 35, "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n" } } } } } }, "example": { "_links": { "self": { "href": "/pts/v2/payments/4963015972176007901546", "method": "GET" } }, "id": "4963015972176007901546", "submitTimeUtc": "2017-06-01T071957Z", "status": "200", "reconciliationId": "39570726X3E1LBQR", "clientReferenceInformation": { "code": "TC50171_3" }, "orderInformation": { "amountDetails": { "authorizedAmount": "22.49", "currency": "USD" } }, "processorInformation": { "approvalCode": "888888", "responseCode": "100" } } } }, "400": { "description": "Invalid request.", "schema": { "type": "object", "title": "ptsV2IncrementalAuthorizationPatch400Response", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_CARD\n - CARD_TYPE_NOT_ACCEPTED\n - INVALID_MERCHANT_CONFIGURATION\n - PROCESSOR_UNAVAILABLE\n - INVALID_PAYMENT_ID\n - NOT_SUPPORTED\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" } } } } } } }, "502": { "description": "Unexpected system error or system timeout.", "schema": { "title": "ptsV2IncrementalAuthorizationPatch502Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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": "Incremental Authorization", "sample-name": "Incremental Authorization", "value": { "clientReferenceInformation": { "code": "TC50171_3" }, "processingInformation": { "authorizationOptions": { "initiator": { "storedCredentialUsed": true } } }, "orderInformation": { "amountDetails": { "additionalAmount": "22.49", "currency": "USD" } }, "merchantInformation": { "transactionLocalDateTime": 20191002080000 }, "travelInformation": { "duration": "4" } } } } } }, "/pts/v2/payments/{id}/reversals": { "post": { "summary": "Process an Authorization Reversal", "description": "Include the payment ID in the POST request to reverse the payment amount.", "tags": [ "reversal" ], "operationId": "authReversal", "x-devcenter-metaData": { "categoryTag": "Payments", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/payments/developer/ctv/rest/payments/payments-intro.html" }, "parameters": [ { "name": "id", "in": "path", "description": "The payment ID returned from a previous payment request.", "required": true, "type": "string" }, { "name": "authReversalRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "pausedRequestId": { "type": "string", "maxLength": 26, "description": "Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call.\n" }, "comments": { "type": "string", "description": "Comments" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" }, "thirdPartyCertificationNumber": { "type": "string", "maxLength": 12, "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" } } }, "applicationName": { "type": "string", "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" }, "applicationVersion": { "type": "string", "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "applicationUser": { "type": "string", "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" }, "transactionId": { "type": "string", "maxLength": 30, "description": "Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request.\n\n**Note** Use this field only if you want to support merchant-initiated reversal and void operations.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, and Void**\nOptional field.\n\n#### PIN Debit\nFor a PIN debit reversal, your request must include a request ID or a merchant transaction identifier.\nOptional field for PIN debit purchase or credit requests.\n" } } }, "reversalInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. For details, see:\n- \"Authorization Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Capture Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Credit Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\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. For details, see \"Zero Amount Authorizations,\" \"Credit Information for Specific Processors\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\nRequired for creating a new invoice.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. For details, see `grand_total_amount` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in \"Authorization Information for Specific Processors\" of the [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" } } }, "reason": { "type": "string", "description": "Reason for the authorization reversal. Possible value:\n\n - `34`: Suspected fraud\n\nThis field is ignored for processors that do not support this value.\n\nReturned by authorization reversal.\n" } } }, "processingInformation": { "type": "object", "properties": { "paymentSolution": { "type": "string", "maxLength": 12, "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/VCO_SCMP_API/html/)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. For details, see \"Masterpass\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Please check with Cybersource customer support to see if your merchant account is configured correctly so you\ncan include this field in your request.\n* For Payouts: max length for FDCCompass is String (22).\n" }, "linkId": { "type": "string", "maxLength": 26, "description": "Value that links the current authorization request to the original authorization request. Set this value\nto the ID that was returned in the reply message from the original authorization request.\n\nThis value is used for:\n\n- Partial authorizations\n- Split shipments\n\nFor details, see `link_to_request` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "reportGroup": { "type": "string", "maxLength": 25, "description": "Attribute that lets you define custom grouping for your processor reports. This field is supported only for **Worldpay VAP**.\n\nFor details, see `report_group` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "visaCheckoutId": { "type": "string", "maxLength": 48, "description": "Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in\nthe Visa Checkout **callID** field.\n" }, "issuer": { "type": "object", "properties": { "discretionaryData": { "type": "string", "maxLength": 255, "description": "Data defined by the issuer.\n\nThe value for this reply field will probably be the same as the value that you submitted in the authorization request, but it is possible for the processor, issuer, or acquirer to modify the value.\n\nThis field is supported only for Visa transactions on **CyberSource through VisaNet**.\n\nFor details, see `issuer_additional_data` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" } } }, "actionList": { "type": "array", "description": "Array of actions (one or more) to be included in the reversal\nPossible value:\n- `AP_AUTH_REVERSAL`: Use this when you want to reverse an Alternative Payment Authorization.\n", "items": { "type": "string" } } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "serviceFeeAmount": { "type": "string", "maxLength": 15, "description": "Service fee. Required for service fee transactions.\n" } } }, "lineItems": { "type": "array", "items": { "type": "object", "properties": { "quantity": { "type": "integer", "minimum": 1, "maximum": 999999999, "default": 1, "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "unitPrice": { "type": "string", "maxLength": 15, "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in the [Merchant Descriptors Using the SCMP API Guide.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Merchant_Descriptors_SCMP_API/html/)\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" } } } } } }, "pointOfSaleInformation": { "type": "object", "properties": { "emv": { "type": "object", "properties": { "tags": { "type": "string", "maxLength": 1998, "description": "EMV data that is transmitted from the chip card to the issuer, and from the issuer to the chip card. The EMV\ndata is in the tag-length-value format and includes chip card tags, terminal tags, and transaction detail tags.\n\nFor information about the individual tags, see the \"Application Specification\" section in the EMV 4.3 Specifications: http://emvco.com\n\n**Note** Card present information about EMV applies only to credit card processing and PIN debit processing.\nAll other card present information applies only to credit card processing. PIN debit processing is available only\non FDC Nashville Global.\n\n**Important** The following tags contain sensitive information and **must not** be included in this field:\n\n - `56`: Track 1 equivalent data\n - `57`: Track 2 equivalent data\n - `5A`: Application PAN\n - `5F20`: Cardholder name\n - `5F24`: Application expiration date (This sensitivity has been relaxed for Credit Mutuel-CIC, American Express Direct, FDC Nashville Global, First Data Merchant Solutions, and SIX)\n - `99`: Transaction PIN\n - `9F0B`: Cardholder name (extended)\n - `9F1F`: Track 1 discretionary data\n - `9F20`: Track 2 discretionary data\n\nFor captures, this field is required for contact EMV transactions. Otherwise, it is optional.\n\nFor credits, this field is required for contact EMV stand-alone credits and contactless EMV stand-alone credits.\nOtherwise, it is optional.\n\n**Important** For contact EMV captures, contact EMV stand-alone credits, and contactless EMV stand-alone credits,\nyou must include the following tags in this field. For all other types of EMV transactions, the following tags\nare optional.\n\n - `95`: Terminal verification results\n - `9F10`: Issuer application data\n - `9F26`: Application cryptogram\n\n\n#### CyberSource through VisaNet\n- In Japan: 199 bytes\n- In other countries: String (252)\n\nFor Mastercard Transactions, Optionally Tag 9F60 (Authenticated Application Data) and \nTag 96 (Kernel Identifier - Terminal) can be included in the Field.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n\n#### JCN Gateway\nThe following tags must be included:\n- `4F`: Application identifier\n- `84`: Dedicated file name\n\nData length: 199 bytes\n\n#### All other processors:\nString (999)\n\n#### Used by\nAuthorization: Optional\nAuthorization Reversal: Optional\nCredit: Optional\nPIN Debit processing (purchase, credit and reversal): Optional\n" } } } } }, "paymentInformation": { "type": "object", "properties": { "paymentType": { "type": "object", "properties": { "method": { "type": "object", "properties": { "name": { "type": "string", "description": "Identifier for the payment type\n" } } } } } } }, "processorInformation": { "type": "object", "properties": { "preApprovalToken": { "type": "string", "maxLength": 60, "description": "This is a token generated by PSP, which is received in response to the Sessions service. This token should be sent in the following transactions." } } } }, "example": { "clientReferenceInformation": { "code": "TC50171_3", "transactionId": "code" }, "reversalInformation": { "reason": "testing", "amountDetails": { "totalAmount": "102.21" } } } } } ], "responses": { "201": { "description": "Successful response.", "schema": { "title": "ptsV2PaymentsReversalsPost201Response", "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.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - REVERSED\n - PARTIALLY_REVERSED\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "submitLocalDateTime": { "type": "string", "maxLength": 14, "description": "Date and time at your physical location.\n\nFormat: `YYYYMMDDhhmmss`, where YYYY = year, MM = month, DD = day, hh = hour, mm = minutes ss = seconds\n\n#### PIN Debit\nOptional field for PIN Debit purchase and credit requests.\n" }, "ownerMerchantId": { "type": "string", "description": "Merchant ID that was used to create the subscription or customer profile for which the service was requested.\n\nIf your CyberSource account is enabled for Recurring Billing, this field is returned only if you are using\nsubscription sharing and if your merchant ID is in the same merchant ID pool as the owner merchant ID.\n\nIf your CyberSource account is enabled for Payment Tokenization, this field is returned only if you are using\nprofile sharing and if your merchant ID is in the same merchant ID pool as the owner merchant ID.\n" } } }, "reversalAmountDetails": { "type": "object", "properties": { "reversedAmount": { "type": "string", "maxLength": 15, "description": "Total reversed amount.\n\nReturned by authorization reversal.\n" }, "originalTransactionAmount": { "type": "string", "maxLength": 15, "description": "Amount of the original transaction.\n\nReturned by authorization reversal and void.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" } } }, "processorInformation": { "type": "object", "properties": { "transactionId": { "type": "string", "maxLength": 18, "description": "Processor transaction ID.\n\nThis value identifies the transaction on a host system. This value is supported only for Moneris. It contains\nthis information:\n\n - Terminal used to process the transaction\n - Shift during which the transaction took place\n - Batch number\n - Transaction number within the batch\n\nYou must store this value. If you give the customer a receipt, display this value on the receipt.\n\nExample For the value 66012345001069003:\n\n - Terminal ID = 66012345\n - Shift number = 001\n - Batch number = 069\n - Transaction number = 003\n" }, "responseCode": { "type": "string", "maxLength": 10, "description": "For most processors, this is the error message sent directly from the bank. Returned only when the processor\nreturns this value.\n\n**Important** Do not use this field to evaluate the result of the authorization.\n\n#### PIN debit\nResponse value that is returned by the processor or bank.\n**Important** Do not use this field to evaluate the results of the transaction request.\n\nReturned by PIN debit credit, PIN debit purchase, and PIN debit reversal.\n\n#### AIBMS\nIf this value is `08`, you can accept the transaction if the customer provides you with identification.\n\n#### Atos\nThis value is the response code sent from Atos and it might also include the response code from the bank.\nFormat: `aa,bb` with the two values separated by a comma and where:\n- `aa` is the two-digit error message from Atos.\n- `bb` is the optional two-digit error message from the bank.\n\n#### Comercio Latino\nThis value is the status code and the error or response code received from the processor separated by a colon.\nFormat: [status code]:E[error code] or [status code]:R[response code]\nExample `2:R06`\n\n#### JCN Gateway\nProcessor-defined detail error code. The associated response category code is in the `processorInformation.responseCategoryCode` field.\nString (3)\n" }, "responseCategoryCode": { "type": "string", "maxLength": 36, "description": "Processor-defined response category code. The associated detail error code is in the `processorInformation.responseCode` or `issuerInformation.responseCode`\nfield of the service you requested.\n\nThis field is supported only for:\n\n - Japanese issuers\n - Domestic transactions in Japan\n - Comercio Latino\u2014processor transaction ID required for troubleshooting\n\n#### Maximum length for processors\n\n - Comercio Latino: 36\n - All other processors: 3\n" }, "forwardedAcquirerCode": { "type": "string", "maxLength": 32, "description": "Name of the Japanese acquirer that processed the transaction. Returned only for JCN Gateway.\nPlease contact the CyberSource Japan Support Group for more information.\n" }, "masterCardServiceCode": { "type": "string", "maxLength": 2, "description": "Mastercard service that was used for the transaction. Mastercard provides this value to CyberSource.\n\nPossible value:\n - 53: Mastercard card-on-file token service\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 133-134\n- Field: Mastercard Merchant on-behalf service.\n**Note** This field is returned only for CyberSource through VisaNet.\n" }, "masterCardServiceReplyCode": { "type": "string", "maxLength": 1, "description": "Result of the Mastercard card-on-file token service. Mastercard provides this value to CyberSource.\n\nPossible values:\n\n - `C`: Service completed successfully.\n - `F`: One of the following:\n - Incorrect Mastercard POS entry mode. The Mastercard POS entry mode should be 81 for an authorization or\n authorization reversal.\n - Incorrect Mastercard POS entry mode. The Mastercard POS entry mode should be 01 for a tokenized request.\n - Token requestor ID is missing or formatted incorrectly.\n - `I`: One of the following:\n - Invalid token requestor ID.\n - Suspended or deactivated token.\n - Invalid token (not in mapping table).\n - `T`: Invalid combination of token requestor ID and token.\n - `U`: Expired token.\n - `W`: Primary account number (PAN) listed in electronic warning bulletin.\n\n**Note** This field is returned only for **CyberSource through VisaNet**.\n" }, "responseDetails": { "type": "string", "maxLength": 255, "description": "This field might contain information about a decline. This field is supported only for **CyberSource through\nVisaNet**.\n" }, "providerResponse": { "type": "string", "description": "Processor response to the API request.\n" } } }, "issuerInformation": { "type": "object", "properties": { "responseCode": { "type": "string", "maxLength": 6, "description": "This is the raw Association/Issuer Response Codes. You can use 'issuer/association' response codes to identify when you can retry to authorize a declined transaction and increase successful transaction volumes. You'll receive an association/issuer response code for the majority of transactions.\n\n#### Processors supported:\n - HSBC\n - FDC Nashville Global\n - SIX\n\nCurrently SIX is not receiving Association/Issuer Response Codes here it receives the additional authorization code that must be printed on the receipt when returned by the processor.\n\n#### Possible values:\n| Card Type | Response Code | Description |\n| ----------- | ------------- | ------------------------------------------------------------------------------ |\n| VISA | 000 | Successful approval/completion or that V.I.P. PIN verification is successful |\n| VISA | 001 | Refer to card issuer |\n| VISA | 002 | Refer to card issuer, special condition |\n| VISA | 003 | Invalid merchant or service provider |\n| VISA | 004 | Pickup card | \n| MasterCard | 000 | Approved or completed successfully |\n| MasterCard | 001 | Refer to card issuer |\n| MasterCard | 003 | Invalid merchant |\n| MasterCard | 004 | Capture card |\n| MasterCard | 005 | Do not honor |\n| AMEX | 000 | Approved |\n| AMEX | 001 | Approve with ID |\n| AMEX | 002 | Partial Approval (Prepaid Cards only) |\n| AMEX | 100 | Deny |\n| AMEX | 101 | Expired Card/Invalid Expiration Date |\n| Discover | 000 | Approved or completed successfully |\n| Discover | 001 | Reserved for future USE |\n| Discover | 002 | Reserved for future USE |\n| Discover | 003 | Invalid Merchant |\n| Discover | 004 | Capture Card |\n| .... | ... | For details, see `issuerInformation. responseCode` field description in the [Credit Card Service Using the SCMP API Guide.] (https://developer.cybersource.com/content/dam/docs/cybs/en-us/api-fields/reference/all/rest/api-fields.pdf)| \n" } } }, "authorizationInformation": { "type": "object", "properties": { "approvalCode": { "type": "string", "maxLength": 6, "description": "The authorization code returned by the processor." }, "reasonCode": { "type": "string", "maxLength": 50, "description": "Reply flag for the original transaction." }, "reversalSubmitted": { "type": "string", "maxLength": 1, "description": "Flag indicating whether a full authorization reversal was successfully submitted.\n\nPossible values:\n- Y: The authorization reversal was successfully submitted.\n- N: The authorization reversal was not successfully submitted. You must send a credit request for a refund.\n\nThis field is supported only for **FDC Nashville Global**.\n" } } }, "pointOfSaleInformation": { "type": "object", "properties": { "emv": { "type": "object", "properties": { "tags": { "type": "string", "maxLength": 1998, "description": "EMV data that is transmitted from the chip card to the issuer, and from the issuer to the chip card. The EMV\ndata is in the tag-length-value format and includes chip card tags, terminal tags, and transaction detail tags.\n\nFor information about the individual tags, see the \"Application Specification\" section in the EMV 4.3 Specifications: http://emvco.com\n\n**Note** Card present information about EMV applies only to credit card processing and PIN debit processing.\nAll other card present information applies only to credit card processing. PIN debit processing is available only\non FDC Nashville Global.\n\n**Important** The following tags contain sensitive information and **must not** be included in this field:\n\n - `56`: Track 1 equivalent data\n - `57`: Track 2 equivalent data\n - `5A`: Application PAN\n - `5F20`: Cardholder name\n - `5F24`: Application expiration date (This sensitivity has been relaxed for Credit Mutuel-CIC, American Express Direct, FDC Nashville Global, First Data Merchant Solutions, and SIX)\n - `99`: Transaction PIN\n - `9F0B`: Cardholder name (extended)\n - `9F1F`: Track 1 discretionary data\n - `9F20`: Track 2 discretionary data\n\nFor captures, this field is required for contact EMV transactions. Otherwise, it is optional.\n\nFor credits, this field is required for contact EMV stand-alone credits and contactless EMV stand-alone credits.\nOtherwise, it is optional.\n\n**Important** For contact EMV captures, contact EMV stand-alone credits, and contactless EMV stand-alone credits,\nyou must include the following tags in this field. For all other types of EMV transactions, the following tags\nare optional.\n\n - `95`: Terminal verification results\n - `9F10`: Issuer application data\n - `9F26`: Application cryptogram\n\n\n#### CyberSource through VisaNet\n- In Japan: 199 bytes\n- In other countries: String (252)\n\nFor Mastercard Transactions, Optionally Tag 9F60 (Authenticated Application Data) and \nTag 96 (Kernel Identifier - Terminal) can be included in the Field.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n\n#### JCN Gateway\nThe following tags must be included:\n- `4F`: Application identifier\n- `84`: Dedicated file name\n\nData length: 199 bytes\n\n#### All other processors:\nString (999)\n\n#### Used by\nAuthorization: Optional\nAuthorization Reversal: Optional\nCredit: Optional\nPIN Debit processing (purchase, credit and reversal): Optional\n" } } } } } }, "example": { "_links": { "self": { "href": "/pts/v2/reversals/4963015523026180001545", "method": "GET" } }, "id": "4963015523026180001545", "submitTimeUtc": "2017-06-01T071912Z", "status": "200", "statusInformation": { "reason": "SUCCESS", "message": "Successful transaction." }, "clientReferenceInformation": { "code": "TC50171_3" }, "orderInformation": { "amountDetails": { "currency": "USD" } }, "processorInformation": { "responseCode": "100" }, "reversalAmountDetails": { "reversedAmount": "102.21", "currency": "USD" } } } }, "400": { "description": "Invalid request.", "schema": { "type": "object", "title": "ptsV2PaymentsReversalsPost400Response", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_MERCHANT_CONFIGURATION\n - PROCESSOR_UNAVAILABLE\n - AUTH_ALREADY_REVERSED\n - TRANSACTION_ALREADY_SETTLED\n - INVALID_AMOUNT\n - MISSING_AUTH\n - TRANSACTION_ALREADY_REVERSED_OR_SETTLED\n - NOT_SUPPORTED\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" } } } } } } }, "502": { "description": "Unexpected system error or system timeout.", "schema": { "title": "ptsV2PaymentsReversalsPost502Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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": "Process an Authorization Reversal", "value": { "clientReferenceInformation": { "code": "TC50171_3" }, "reversalInformation": { "reason": "testing", "amountDetails": { "totalAmount": "102.21" } } }, "depends": { "example": { "path": "/pts/v2/payments", "verb": "post", "exampleId": "example0" }, "fieldMapping": [ { "sourceField": "id", "destinationField": "id", "fieldTypeInDestination": "path" } ] } }, "example1": { "summary": "Service Fees Authorization Reversal", "value": { "clientReferenceInformation": { "code": "TC50171_3" }, "reversalInformation": { "reason": "34", "amountDetails": { "totalAmount": "2325.00", "serviceFeeAmount": "30.0" } } }, "depends": { "example": { "path": "/pts/v2/payments", "verb": "post", "exampleId": "example14" }, "fieldMapping": [ { "sourceField": "id", "destinationField": "id", "fieldTypeInDestination": "path" } ] } } } } }, "/pts/v2/reversals": { "post": { "summary": "Timeout Reversal", "description": "This is to reverse a previous payment that merchant does not receive a reply(Mostly due to Timeout). To use this feature/API, make sure to pass unique value to field - clientReferenceInformation -> transactionId in [/pts/v2/payments](https://developer.cybersource.com/api-reference-assets/index.html#payments_payments) API call and use same transactionId in this API request payload to reverse the payment.", "tags": [ "reversal" ], "operationId": "mitReversal", "x-devcenter-metaData": { "categoryTag": "Payments", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/payments/developer/ctv/rest/payments/payments-intro.html", "isClientSideApi": true }, "parameters": [ { "name": "mitReversalRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" }, "pausedRequestId": { "type": "string", "maxLength": 26, "description": "Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call.\n" }, "transactionId": { "type": "string", "maxLength": 30, "description": "Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request.\n\n**Note** Use this field only if you want to support merchant-initiated reversal and void operations.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, and Void**\nOptional field.\n\n#### PIN Debit\nFor a PIN debit reversal, your request must include a request ID or a merchant transaction identifier.\nOptional field for PIN debit purchase or credit requests.\n" }, "comments": { "type": "string", "description": "Comments" }, "partner": { "type": "object", "properties": { "originalTransactionId": { "type": "string", "maxLength": 32, "description": "Value that links the previous transaction to the current follow-on request. This value is assigned by the client\nsoftware that is installed on the POS terminal, which makes it available to the terminal's software and to\nCyberSource. Therefore, you can use this value to reconcile transactions between CyberSource and the terminal's\nsoftware.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" }, "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" }, "thirdPartyCertificationNumber": { "type": "string", "maxLength": 12, "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" } } }, "applicationName": { "type": "string", "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" }, "applicationVersion": { "type": "string", "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "applicationUser": { "type": "string", "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" } } }, "reversalInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. For details, see:\n- \"Authorization Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Capture Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Credit Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\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. For details, see \"Zero Amount Authorizations,\" \"Credit Information for Specific Processors\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\nRequired for creating a new invoice.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. For details, see `grand_total_amount` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in \"Authorization Information for Specific Processors\" of the [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" } } }, "reason": { "type": "string", "description": "Reason for the authorization reversal. Possible value:\n\n - `34`: Suspected fraud\n\nThis field is ignored for processors that do not support this value.\n\nReturned by authorization reversal.\n" } } }, "processingInformation": { "type": "object", "properties": { "paymentSolution": { "type": "string", "maxLength": 12, "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/VCO_SCMP_API/html/)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. For details, see \"Masterpass\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Please check with Cybersource customer support to see if your merchant account is configured correctly so you\ncan include this field in your request.\n* For Payouts: max length for FDCCompass is String (22).\n" }, "linkId": { "type": "string", "maxLength": 26, "description": "Value that links the current authorization request to the original authorization request. Set this value\nto the ID that was returned in the reply message from the original authorization request.\n\nThis value is used for:\n\n- Partial authorizations\n- Split shipments\n\nFor details, see `link_to_request` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "reportGroup": { "type": "string", "maxLength": 25, "description": "Attribute that lets you define custom grouping for your processor reports. This field is supported only for **Worldpay VAP**.\n\nFor details, see `report_group` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "visaCheckoutId": { "type": "string", "maxLength": 48, "description": "Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in\nthe Visa Checkout **callID** field.\n" }, "issuer": { "type": "object", "properties": { "discretionaryData": { "type": "string", "maxLength": 255, "description": "Data defined by the issuer.\n\nThe value for this reply field will probably be the same as the value that you submitted in the authorization request, but it is possible for the processor, issuer, or acquirer to modify the value.\n\nThis field is supported only for Visa transactions on **CyberSource through VisaNet**.\n\nFor details, see `issuer_additional_data` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" } } }, "actionList": { "type": "array", "description": "Array of actions (one or more) to be included in the reversal\nPossible value:\n- `AP_AUTH_REVERSAL`: Use this when you want to reverse an Alternative Payment Authorization.\n", "items": { "type": "string" } } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "serviceFeeAmount": { "type": "string", "maxLength": 15, "description": "Service fee. Required for service fee transactions.\n" } } }, "lineItems": { "type": "array", "items": { "type": "object", "properties": { "quantity": { "type": "integer", "minimum": 1, "maximum": 999999999, "default": 1, "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "unitPrice": { "type": "string", "maxLength": 15, "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in the [Merchant Descriptors Using the SCMP API Guide.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Merchant_Descriptors_SCMP_API/html/)\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" } } } } } }, "pointOfSaleInformation": { "type": "object", "properties": { "emv": { "type": "object", "properties": { "tags": { "type": "string", "maxLength": 1998, "description": "EMV data that is transmitted from the chip card to the issuer, and from the issuer to the chip card. The EMV\ndata is in the tag-length-value format and includes chip card tags, terminal tags, and transaction detail tags.\n\nFor information about the individual tags, see the \"Application Specification\" section in the EMV 4.3 Specifications: http://emvco.com\n\n**Note** Card present information about EMV applies only to credit card processing and PIN debit processing.\nAll other card present information applies only to credit card processing. PIN debit processing is available only\non FDC Nashville Global.\n\n**Important** The following tags contain sensitive information and **must not** be included in this field:\n\n - `56`: Track 1 equivalent data\n - `57`: Track 2 equivalent data\n - `5A`: Application PAN\n - `5F20`: Cardholder name\n - `5F24`: Application expiration date (This sensitivity has been relaxed for Credit Mutuel-CIC, American Express Direct, FDC Nashville Global, First Data Merchant Solutions, and SIX)\n - `99`: Transaction PIN\n - `9F0B`: Cardholder name (extended)\n - `9F1F`: Track 1 discretionary data\n - `9F20`: Track 2 discretionary data\n\nFor captures, this field is required for contact EMV transactions. Otherwise, it is optional.\n\nFor credits, this field is required for contact EMV stand-alone credits and contactless EMV stand-alone credits.\nOtherwise, it is optional.\n\n**Important** For contact EMV captures, contact EMV stand-alone credits, and contactless EMV stand-alone credits,\nyou must include the following tags in this field. For all other types of EMV transactions, the following tags\nare optional.\n\n - `95`: Terminal verification results\n - `9F10`: Issuer application data\n - `9F26`: Application cryptogram\n\n\n#### CyberSource through VisaNet\n- In Japan: 199 bytes\n- In other countries: String (252)\n\nFor Mastercard Transactions, Optionally Tag 9F60 (Authenticated Application Data) and \nTag 96 (Kernel Identifier - Terminal) can be included in the Field.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n\n#### JCN Gateway\nThe following tags must be included:\n- `4F`: Application identifier\n- `84`: Dedicated file name\n\nData length: 199 bytes\n\n#### All other processors:\nString (999)\n\n#### Used by\nAuthorization: Optional\nAuthorization Reversal: Optional\nCredit: Optional\nPIN Debit processing (purchase, credit and reversal): Optional\n" } } } } } }, "example": { "clientReferenceInformation": { "transactionId": "" }, "reversalInformation": { "reason": "testing", "amountDetails": { "totalAmount": "102.21" } } } } } ], "x-example": { "example0": { "summary": "Timeout Reversal", "value": { "clientReferenceInformation": { "transactionId": "" }, "reversalInformation": { "reason": "testing", "amountDetails": { "totalAmount": "102.21" } } } } }, "responses": { "201": { "description": "Successful response.", "schema": { "title": "ptsV2ReversalsPost201Response", "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.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - REVERSED\n - PARTIALLY_REVERSED\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "submitLocalDateTime": { "type": "string", "maxLength": 14, "description": "Date and time at your physical location.\n\nFormat: `YYYYMMDDhhmmss`, where YYYY = year, MM = month, DD = day, hh = hour, mm = minutes ss = seconds\n\n#### PIN Debit\nOptional field for PIN Debit purchase and credit requests.\n" }, "ownerMerchantId": { "type": "string", "description": "Merchant ID that was used to create the subscription or customer profile for which the service was requested.\n\nIf your CyberSource account is enabled for Recurring Billing, this field is returned only if you are using\nsubscription sharing and if your merchant ID is in the same merchant ID pool as the owner merchant ID.\n\nIf your CyberSource account is enabled for Payment Tokenization, this field is returned only if you are using\nprofile sharing and if your merchant ID is in the same merchant ID pool as the owner merchant ID.\n" } } }, "reversalAmountDetails": { "type": "object", "properties": { "reversedAmount": { "type": "string", "maxLength": 15, "description": "Total reversed amount.\n\nReturned by authorization reversal.\n" }, "originalTransactionAmount": { "type": "string", "maxLength": 15, "description": "Amount of the original transaction.\n\nReturned by authorization reversal and void.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" } } }, "processorInformation": { "type": "object", "properties": { "transactionId": { "type": "string", "maxLength": 18, "description": "Processor transaction ID.\n\nThis value identifies the transaction on a host system. This value is supported only for Moneris. It contains\nthis information:\n\n - Terminal used to process the transaction\n - Shift during which the transaction took place\n - Batch number\n - Transaction number within the batch\n\nYou must store this value. If you give the customer a receipt, display this value on the receipt.\n\nExample For the value 66012345001069003:\n\n - Terminal ID = 66012345\n - Shift number = 001\n - Batch number = 069\n - Transaction number = 003\n" }, "responseCode": { "type": "string", "maxLength": 10, "description": "For most processors, this is the error message sent directly from the bank. Returned only when the processor\nreturns this value.\n\n**Important** Do not use this field to evaluate the result of the authorization.\n\n#### PIN debit\nResponse value that is returned by the processor or bank.\n**Important** Do not use this field to evaluate the results of the transaction request.\n\nReturned by PIN debit credit, PIN debit purchase, and PIN debit reversal.\n\n#### AIBMS\nIf this value is `08`, you can accept the transaction if the customer provides you with identification.\n\n#### Atos\nThis value is the response code sent from Atos and it might also include the response code from the bank.\nFormat: `aa,bb` with the two values separated by a comma and where:\n- `aa` is the two-digit error message from Atos.\n- `bb` is the optional two-digit error message from the bank.\n\n#### Comercio Latino\nThis value is the status code and the error or response code received from the processor separated by a colon.\nFormat: [status code]:E[error code] or [status code]:R[response code]\nExample `2:R06`\n\n#### JCN Gateway\nProcessor-defined detail error code. The associated response category code is in the `processorInformation.responseCategoryCode` field.\nString (3)\n" }, "responseCategoryCode": { "type": "string", "maxLength": 36, "description": "Processor-defined response category code. The associated detail error code is in the `processorInformation.responseCode` or `issuerInformation.responseCode`\nfield of the service you requested.\n\nThis field is supported only for:\n\n - Japanese issuers\n - Domestic transactions in Japan\n - Comercio Latino\u2014processor transaction ID required for troubleshooting\n\n#### Maximum length for processors\n\n - Comercio Latino: 36\n - All other processors: 3\n" }, "forwardedAcquirerCode": { "type": "string", "maxLength": 32, "description": "Name of the Japanese acquirer that processed the transaction. Returned only for JCN Gateway.\nPlease contact the CyberSource Japan Support Group for more information.\n" }, "masterCardServiceCode": { "type": "string", "maxLength": 2, "description": "Mastercard service that was used for the transaction. Mastercard provides this value to CyberSource.\n\nPossible value:\n - 53: Mastercard card-on-file token service\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 133-134\n- Field: Mastercard Merchant on-behalf service.\n**Note** This field is returned only for CyberSource through VisaNet.\n" }, "masterCardServiceReplyCode": { "type": "string", "maxLength": 1, "description": "Result of the Mastercard card-on-file token service. Mastercard provides this value to CyberSource.\n\nPossible values:\n\n - `C`: Service completed successfully.\n - `F`: One of the following:\n - Incorrect Mastercard POS entry mode. The Mastercard POS entry mode should be 81 for an authorization or\n authorization reversal.\n - Incorrect Mastercard POS entry mode. The Mastercard POS entry mode should be 01 for a tokenized request.\n - Token requestor ID is missing or formatted incorrectly.\n - `I`: One of the following:\n - Invalid token requestor ID.\n - Suspended or deactivated token.\n - Invalid token (not in mapping table).\n - `T`: Invalid combination of token requestor ID and token.\n - `U`: Expired token.\n - `W`: Primary account number (PAN) listed in electronic warning bulletin.\n\n**Note** This field is returned only for **CyberSource through VisaNet**.\n" }, "responseDetails": { "type": "string", "maxLength": 255, "description": "This field might contain information about a decline. This field is supported only for **CyberSource through\nVisaNet**.\n" }, "providerResponse": { "type": "string", "description": "Processor response to the API request.\n" } } }, "issuerInformation": { "type": "object", "properties": { "responseCode": { "type": "string", "maxLength": 6, "description": "This is the raw Association/Issuer Response Codes. You can use 'issuer/association' response codes to identify when you can retry to authorize a declined transaction and increase successful transaction volumes. You'll receive an association/issuer response code for the majority of transactions.\n\n#### Processors supported:\n - HSBC\n - FDC Nashville Global\n - SIX\n\nCurrently SIX is not receiving Association/Issuer Response Codes here it receives the additional authorization code that must be printed on the receipt when returned by the processor.\n\n#### Possible values:\n| Card Type | Response Code | Description |\n| ----------- | ------------- | ------------------------------------------------------------------------------ |\n| VISA | 000 | Successful approval/completion or that V.I.P. PIN verification is successful |\n| VISA | 001 | Refer to card issuer |\n| VISA | 002 | Refer to card issuer, special condition |\n| VISA | 003 | Invalid merchant or service provider |\n| VISA | 004 | Pickup card | \n| MasterCard | 000 | Approved or completed successfully |\n| MasterCard | 001 | Refer to card issuer |\n| MasterCard | 003 | Invalid merchant |\n| MasterCard | 004 | Capture card |\n| MasterCard | 005 | Do not honor |\n| AMEX | 000 | Approved |\n| AMEX | 001 | Approve with ID |\n| AMEX | 002 | Partial Approval (Prepaid Cards only) |\n| AMEX | 100 | Deny |\n| AMEX | 101 | Expired Card/Invalid Expiration Date |\n| Discover | 000 | Approved or completed successfully |\n| Discover | 001 | Reserved for future USE |\n| Discover | 002 | Reserved for future USE |\n| Discover | 003 | Invalid Merchant |\n| Discover | 004 | Capture Card |\n| .... | ... | For details, see `issuerInformation. responseCode` field description in the [Credit Card Service Using the SCMP API Guide.] (https://developer.cybersource.com/content/dam/docs/cybs/en-us/api-fields/reference/all/rest/api-fields.pdf)| \n" } } }, "authorizationInformation": { "type": "object", "properties": { "approvalCode": { "type": "string", "maxLength": 6, "description": "The authorization code returned by the processor." }, "reasonCode": { "type": "string", "maxLength": 50, "description": "Reply flag for the original transaction." }, "reversalSubmitted": { "type": "string", "maxLength": 1, "description": "Flag indicating whether a full authorization reversal was successfully submitted.\n\nPossible values:\n- Y: The authorization reversal was successfully submitted.\n- N: The authorization reversal was not successfully submitted. You must send a credit request for a refund.\n\nThis field is supported only for **FDC Nashville Global**.\n" } } }, "pointOfSaleInformation": { "type": "object", "properties": { "emv": { "type": "object", "properties": { "tags": { "type": "string", "maxLength": 1998, "description": "EMV data that is transmitted from the chip card to the issuer, and from the issuer to the chip card. The EMV\ndata is in the tag-length-value format and includes chip card tags, terminal tags, and transaction detail tags.\n\nFor information about the individual tags, see the \"Application Specification\" section in the EMV 4.3 Specifications: http://emvco.com\n\n**Note** Card present information about EMV applies only to credit card processing and PIN debit processing.\nAll other card present information applies only to credit card processing. PIN debit processing is available only\non FDC Nashville Global.\n\n**Important** The following tags contain sensitive information and **must not** be included in this field:\n\n - `56`: Track 1 equivalent data\n - `57`: Track 2 equivalent data\n - `5A`: Application PAN\n - `5F20`: Cardholder name\n - `5F24`: Application expiration date (This sensitivity has been relaxed for Credit Mutuel-CIC, American Express Direct, FDC Nashville Global, First Data Merchant Solutions, and SIX)\n - `99`: Transaction PIN\n - `9F0B`: Cardholder name (extended)\n - `9F1F`: Track 1 discretionary data\n - `9F20`: Track 2 discretionary data\n\nFor captures, this field is required for contact EMV transactions. Otherwise, it is optional.\n\nFor credits, this field is required for contact EMV stand-alone credits and contactless EMV stand-alone credits.\nOtherwise, it is optional.\n\n**Important** For contact EMV captures, contact EMV stand-alone credits, and contactless EMV stand-alone credits,\nyou must include the following tags in this field. For all other types of EMV transactions, the following tags\nare optional.\n\n - `95`: Terminal verification results\n - `9F10`: Issuer application data\n - `9F26`: Application cryptogram\n\n\n#### CyberSource through VisaNet\n- In Japan: 199 bytes\n- In other countries: String (252)\n\nFor Mastercard Transactions, Optionally Tag 9F60 (Authenticated Application Data) and \nTag 96 (Kernel Identifier - Terminal) can be included in the Field.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n\n#### JCN Gateway\nThe following tags must be included:\n- `4F`: Application identifier\n- `84`: Dedicated file name\n\nData length: 199 bytes\n\n#### All other processors:\nString (999)\n\n#### Used by\nAuthorization: Optional\nAuthorization Reversal: Optional\nCredit: Optional\nPIN Debit processing (purchase, credit and reversal): Optional\n" } } } } } }, "example": { "_links": { "self": { "href": "/pts/v2/reversals/4963015523026180001545", "method": "GET" } }, "id": "4963015523026180001545", "submitTimeUtc": "2017-06-01T071912Z", "status": "200", "statusInformation": { "reason": "SUCCESS", "message": "Successful transaction." }, "clientReferenceInformation": { "code": "TC50171_3" }, "orderInformation": { "amountDetails": { "currency": "USD" } }, "processorInformation": { "responseCode": "100" }, "reversalAmountDetails": { "reversedAmount": "102.21", "currency": "USD" } } } }, "400": { "description": "Invalid request.", "schema": { "title": "ptsV2ReversalsPost400Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_MERCHANT_CONFIGURATION\n - PROCESSOR_UNAVAILABLE\n - AUTH_ALREADY_REVERSED\n - TRANSACTION_ALREADY_SETTLED\n - INVALID_AMOUNT\n - MISSING_AUTH\n - TRANSACTION_ALREADY_REVERSED_OR_SETTLED\n - NOT_SUPPORTED\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" } } } } } } }, "502": { "description": "Unexpected system error or system timeout.", "schema": { "title": "ptsV2ReversalsPost502Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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." } } } } } } }, "/pts/v2/payments/{id}/captures": { "post": { "summary": "Capture a Payment", "description": "Include the payment ID in the POST request to capture the payment amount.", "tags": [ "capture" ], "operationId": "capturePayment", "x-devcenter-metaData": { "categoryTag": "Payments", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/payments/developer/ctv/rest/payments/payments-intro.html" }, "parameters": [ { "name": "capturePaymentRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" }, "pausedRequestId": { "type": "string", "maxLength": 26, "description": "Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call.\n" }, "transactionId": { "type": "string", "maxLength": 30, "description": "Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request.\n\n**Note** Use this field only if you want to support merchant-initiated reversal and void operations.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, and Void**\nOptional field.\n\n#### PIN Debit\nFor a PIN debit reversal, your request must include a request ID or a merchant transaction identifier.\nOptional field for PIN debit purchase or credit requests.\n" }, "comments": { "type": "string", "description": "Comments" }, "partner": { "type": "object", "properties": { "originalTransactionId": { "type": "string", "maxLength": 32, "description": "Value that links the previous transaction to the current follow-on request. This value is assigned by the client\nsoftware that is installed on the POS terminal, which makes it available to the terminal's software and to\nCyberSource. Therefore, you can use this value to reconcile transactions between CyberSource and the terminal's\nsoftware.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" }, "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" }, "thirdPartyCertificationNumber": { "type": "string", "maxLength": 12, "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" } } }, "applicationName": { "type": "string", "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" }, "applicationVersion": { "type": "string", "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "applicationUser": { "type": "string", "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" } } }, "processingInformation": { "type": "object", "properties": { "paymentSolution": { "type": "string", "maxLength": 12, "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/VCO_SCMP_API/html/)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. For details, see \"Masterpass\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Please check with Cybersource customer support to see if your merchant account is configured correctly so you\ncan include this field in your request.\n* For Payouts: max length for FDCCompass is String (22).\n" }, "linkId": { "type": "string", "maxLength": 26, "description": "Value that links the current authorization request to the original authorization request. Set this value\nto the ID that was returned in the reply message from the original authorization request.\n\nThis value is used for:\n\n- Partial authorizations\n- Split shipments\n\nFor details, see `link_to_request` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "reportGroup": { "type": "string", "maxLength": 25, "description": "Attribute that lets you define custom grouping for your processor reports. This field is supported only for **Worldpay VAP**.\n\nFor details, see `report_group` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "visaCheckoutId": { "type": "string", "maxLength": 48, "description": "Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in\nthe Visa Checkout **callID** field.\n" }, "purchaseLevel": { "type": "string", "maxLength": 1, "description": "Set this field to 3 to indicate that the request includes Level III data." }, "industryDataType": { "type": "string", "maxLength": 20, "description": "Indicates that the transaction includes industry-specific data.\n\nPossible Values:\n- `airline`\n- `restaurant`\n- `lodging`\n- `auto_rental`\n- `transit`\n- `healthcare_medical`\n- `healthcare_transit`\n- `transit`\n\n#### Card Present, Airlines and Auto Rental\nYou must set this field to `airline` in order for airline data to be sent to the processor. For example, if this\nfield is not set to `airline` or is not included in the request, no airline data is sent to the processor.\n\nYou must set this field to `restaurant` in order for restaurant data to be sent to the processor. When this field\nis not set to `restaurant` or is not included in the request, no restaurant data is sent to the processor.\n\nYou must set this field to `auto_rental` in order for auto rental data to be sent to the processor. For example, if this\nfield is not set to `auto_rental` or is not included in the request, no auto rental data is sent to the processor.\n\nRestaurant data is supported only on CyberSource through VisaNet.\n" }, "issuer": { "type": "object", "properties": { "discretionaryData": { "type": "string", "maxLength": 255, "description": "Data defined by the issuer.\n\nThe value for this reply field will probably be the same as the value that you submitted in the authorization request, but it is possible for the processor, issuer, or acquirer to modify the value.\n\nThis field is supported only for Visa transactions on **CyberSource through VisaNet**.\n\nFor details, see `issuer_additional_data` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" } } }, "authorizationOptions": { "type": "object", "properties": { "authType": { "type": "string", "maxLength": 15, "description": "Authorization type. Possible values:\n\n - `AUTOCAPTURE`: automatic capture.\n - `STANDARDCAPTURE`: standard capture.\n - `VERBAL`: forced capture. Include it in the payment request for a forced capture. Include it in the capture request for a verbal payment.\n\n#### Asia, Middle East, and Africa Gateway; Cielo; Comercio Latino; and CyberSource Latin American Processing\nSet this field to `AUTOCAPTURE` and include it in a bundled request to indicate that you are requesting an automatic capture. If your account is configured to enable automatic captures, set this field to `STANDARDCAPTURE` and include it in a standard authorization or bundled request to indicate that you are overriding an automatic capture. For more information, see the `auth_type` field description in [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Forced Capture\nSet this field to `VERBAL` and include it in the authorization request to indicate that you are performing a forced capture; therefore, you receive the authorization code outside the CyberSource system.\n\n#### Verbal Authorization\nSet this field to `VERBAL` and include it in the capture request to indicate that the request is for a verbal authorization. For more information, see \"Verbal Authorizations\" in [Credit Card Services Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html).\n" }, "verbalAuthCode": { "type": "string", "maxLength": 7, "description": "Authorization code.\n\n#### Forced Capture\nUse this field to send the authorization code you received from a payment that you authorized\noutside the CyberSource system.\n\n#### PIN debit\nAuthorization code that is returned by the processor.\n\nReturned by PIN debit purchase.\n\n#### Verbal Authorization\nUse this field in CAPTURE API to send the verbally received authorization code.\n\nFor processor-specific information, see the `auth_code` field description in [Credit Card Services Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html).\n" }, "verbalAuthTransactionId": { "type": "string", "maxLength": 15, "description": "Transaction ID (TID).\n\n#### FDMS South\nThis field is required for verbal authorizations and forced captures with the American Express card type to comply\nwith the CAPN requirements:\n- Forced capture: Obtain the value for this field from the authorization response.\n- Verbal authorization: You cannot obtain a value for this field so CyberSource uses the default value of `000000000000000` (15\nzeros).\n" } } }, "captureOptions": { "type": "object", "properties": { "captureSequenceNumber": { "type": "integer", "minimum": 1, "maximum": 99, "description": "Capture number when requesting multiple partial captures for one authorization.\nUsed along with `totalCaptureCount` to track which capture is being processed.\n\nFor example, the second of five captures would be passed to CyberSource as:\n - `captureSequenceNumber_ = 2`, and\n - `totalCaptureCount = 5`\n" }, "totalCaptureCount": { "type": "integer", "minimum": 1, "maximum": 99, "description": "Total number of captures when requesting multiple partial captures for one payment.\nUsed along with `captureSequenceNumber` field to track which capture is being processed.\n\nFor example, the second of five captures would be passed to CyberSource as:\n - `captureSequenceNumber = 2`, and\n - `totalCaptureCount = 5`\n" }, "isFinal": { "type": "string", "maxLength": 5, "description": "Indicates whether to release the authorization hold on the remaining funds. \nPossible Values:\n- `true`\n- `false`\n" } } }, "loanOptions": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 20, "description": "Type of loan based on an agreement between you and the issuer.\nExamples: AGROCUSTEIO, AGRO-INVEST, BNDES-Type1, CBN, FINAME.\nThis field is supported only for these kinds of payments:\n- BNDES transactions on CyberSource through VisaNet.\n- Installment payments with Mastercard on CyberSource through VisaNet in Brazil.\n\nSee \"\"Installment Payments on CyberSource through VisaNet,\"\" in the SCMP/SO guide\n\nFor BNDES transactions, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP07 TCR2, Position: 27-46, Field: Loan Type\n\nFor installment payments with Mastercard in Brazil, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP07 TCR4, Position: 5-24,Field: Financing Type\n" }, "assetType": { "type": "string", "maxLength": 1, "description": "Indicates whether a loan is for a recoverable item or a non-recoverable item.\nPossible values:\n- `N`: non-recoverable item\n- `R`: recoverable item\nThis field is supported only for BNDES transactions on CyberSource through VisaNet.\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n Record: CP07 TCR2, Position: 26, Field: Asset Indicator\n" } } }, "payByPointsIndicator": { "type": "boolean", "description": "Flag that indicates if the transaction is pay by points transaction\ntrue: Transaction uses loyalty points\nfalse: Transaction does not use loyalty points\nDefault: false\n" }, "actionList": { "type": "array", "description": "Array of actions (one or more) to be included in the capture to invoke bundled services along with capture.\n\nPossible values :\n\n - `AP_CAPTURE`: Use this when Alternative Payment Capture service is requested.\n", "items": { "type": "string" } } } }, "paymentInformation": { "type": "object", "properties": { "customer": { "type": "object", "properties": { "customerId": { "type": "string", "description": "Unique identifier for the customer's card and billing information.\n\nWhen you use Payment Tokenization or Recurring Billing and you include this value in\nyour request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n\n**NOTE** When you use Payment Tokenization or Recurring Billing, the value for the Customer ID is actually the Cybersource payment token for a customer. This token stores information such as the consumer's card number so it can be applied towards bill payments, recurring payments, or one-time payments. By using this token in a payment API request, the merchant doesn't need to pass in data such as the card number or expiration date in the request itself.\n\nFor details, see the `subscription_id` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "id": { "type": "string", "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "card": { "type": "object", "properties": { "sourceAccountType": { "type": "string", "maxLength": 20, "description": "Flag that specifies the type of account associated with the card. \nThe cardholder provides this information during the payment process.\n\nThis field is required in the following cases:\n - Debit transactions on Cielo and Comercio Latino.\n - Transactions with Brazilian-issued cards on CyberSource through VisaNet.\n - Applicable only for CyberSource through VisaNet (CtV).\n\n**Note** Combo cards in Brazil contain credit and debit functionality in a single card. Visa systems use a credit bank\nidentification number (BIN) for this type of card. Using the BIN to determine whether a card is debit or\ncredit can cause transactions with these cards to be processed incorrectly. CyberSource strongly recommends\nthat you include this field for combo card transactions.\n\nPossible values include the following.\n\n - `CH`: Checking account\n - `CR`: Credit card account\n - `SA`: Saving account\n - `LI`: Line of credit or credit portion of combo card\n - `PP`: Prepaid card account or prepaid portion of combo card\n - `UA`: Universal account\n\nIf useAs is set to credit/debit and there is a value in SourceAccountType, the value in the SourceAccountType field will take precedence.\nIf useAs is set to CR/DB and there is a value in SourceAccountType, the value in the useAs field will take precedence.\n" }, "sourceAccountTypeDetails": { "type": "string", "maxLength": 4, "description": "Type of account that is being used when the value for the override_payment_method field is line of credit (LI) or prepaid card (PP).\nPossible values for line of credit:\n- `AGRC`: Visa Agro Custeio\n- `AGRE`: Visa Agro Electron\n- `AGRI`: Visa Agro Investimento\n- `AGRO`: Visa Agro\nPossible values for prepaid card:\n- `VVA`: Visa Vale Alimentacao\n- `VVF`: Visa Vale Flex\n- `VVR`: Visa Vale Refeicao\nThis field is supported only for combo card transactions in Brazil on CyberSource through VisaNet.\n" } } }, "paymentType": { "type": "object", "properties": { "method": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n" } } } } } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. For details, see:\n- \"Authorization Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Capture Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Credit Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\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. For details, see \"Zero Amount Authorizations,\" \"Credit Information for Specific Processors\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\nRequired for creating a new invoice.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. For details, see `grand_total_amount` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in \"Authorization Information for Specific Processors\" of the [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "discountAmount": { "type": "string", "maxLength": 15, "description": "Total discount amount applied to the order.\n" }, "dutyAmount": { "type": "string", "maxLength": 15, "description": "Total charges for any import or export duties included in the order.\n" }, "gratuityAmount": { "type": "string", "maxLength": 13, "description": "Gratuity or tip amount for restaurants. Allowed only when industryDatatype=restaurant.\nWhen your customer uses a debit card or prepaid card, and you receive a partial authorization, the payment networks recommend that you do not\nsubmit a capture amount that is higher than the authorized amount. When the capture amount exceeds the partial amount that was approved, the\nissuer has chargeback rights for the excess amount.\n\nUsed by **Capture**\nOptional field.\n\n#### CyberSource through VisaNet\nRestaurant data is supported only on CyberSource through VisaNet when card is present.\n" }, "taxAmount": { "type": "string", "maxLength": 12, "description": "Total tax amount for all the items in the order.\n" }, "nationalTaxIncluded": { "type": "string", "maxLength": 1, "description": "Flag that indicates whether a national tax is included in the order total.\n\nPossible values:\n\n - **0**: national tax not included\n - **1**: national tax included\n" }, "taxAppliedAfterDiscount": { "type": "string", "maxLength": 1, "description": "Flag that indicates how the merchant manages discounts.\n\nPossible values:\n\n - **0**: no invoice level discount included\n - **1**: tax calculated on the postdiscount invoice total\n - **2**: tax calculated on the prediscount invoice total\n" }, "taxAppliedLevel": { "type": "string", "maxLength": 1, "description": "Flag that indicates how you calculate tax.\n\nPossible values:\n\n - **0**: net prices with tax calculated at line item level\n - **1**: net prices with tax calculated at invoice level\n - **2**: gross prices with tax provided at line item level\n - **3**: gross prices with tax provided at invoice level\n - **4**: no tax applies on the invoice for the transaction\n" }, "taxTypeCode": { "type": "string", "maxLength": 3, "description": "For tax amounts that can be categorized as one tax type.\n\nThis field contains the tax type code that corresponds to the entry in the _lineItems.taxAmount_ field.\n\nPossible values:\n\n - **056**: sales tax (U.S only)\n - **TX~**: all taxes (Canada only) Note ~ = space.\n" }, "freightAmount": { "type": "string", "maxLength": 13, "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n\nFor processor-specific information, see the freight_amount field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "foreignAmount": { "type": "string", "maxLength": 15, "description": "Set this field to the converted amount that was returned by the DCC provider.\nFor processor-specific information, see the `foreign_amount` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "foreignCurrency": { "type": "string", "maxLength": 5, "description": "Set this field to the converted amount that was returned by the DCC provider.\n" }, "exchangeRate": { "type": "string", "maxLength": 13, "description": "Exchange rate returned by the DCC service. Includes a decimal point and a maximum of 4 decimal places.\n\nFor details, see `exchange_rate` request-level field description in the [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf)\n" }, "exchangeRateTimeStamp": { "type": "string", "maxLength": 14, "description": "Time stamp for the exchange rate. This value is returned by the DCC service.\n\nFormat: `YYYYMMDD~HH:MM` where ~ denotes a space.\n" }, "amexAdditionalAmounts": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 3, "description": "Additional amount type. This field is supported only for **American Express Direct**.\n\nFor processor-specific information, see the `additional_amount_type0` request-level field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "amount": { "type": "string", "maxLength": 12, "description": "Additional amount. This field is supported only for **American Express Direct**.\n" } } } }, "taxDetails": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n\nFor processor-specific details, see the `alternate_tax_amount`, `local_tax`, `national_tax` or `vat_tax_amount` field\ndescriptions in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "amount": { "type": "string", "maxLength": 13, "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" }, "rate": { "type": "string", "maxLength": 6, "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n\nFor processor-specific details, see the `alternate_tax_amount`, `vat_rate`, `vat_tax_rate`, `local_tax`, `national_tax`, `vat_tax_amount` or `other_tax#_rate` field descriptions in the [Level II and Level III Processing Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "code": { "type": "string", "maxLength": 4, "description": "Type of tax being applied to the item.\n\nFor possible values, see the processor-specific field descriptions in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/):\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" }, "taxId": { "type": "string", "maxLength": 15, "description": "Your tax ID number to use for the alternate tax amount. Required if you set alternate tax amount to any value,\nincluding zero. You may send this field without sending alternate tax amount.\n\nFor processor-specific details, see `alternate_tax_id` field description in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "applied": { "type": "boolean", "description": "Flag that indicates whether the alternate tax amount (`orderInformation.amountDetails.taxDetails[].amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: alternate tax amount is not included in the request.\n- `true`: alternate tax amount is included in the request.\n\nFor processor-specific details, see `alternate_tax_amount_indicator` field description in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "exemptionCode": { "type": "string", "maxLength": 1, "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n\nFor possible values and important information for using this field, see _Appendix B, \"Exemption\nStatus Values_ and _Offer-Level Tax Fields_ in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" } } } }, "serviceFeeAmount": { "type": "string", "maxLength": 15, "description": "Service fee. Required for service fee transactions.\n" }, "originalCurrency": { "type": "string", "maxLength": 15, "description": "Your local pricing currency code.\n\nFor the possible values, see the [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n" }, "cashbackAmount": { "type": "string", "maxLength": 13, "description": "Cashback amount in the acquirer's currency. If a cashback amount is included in the request, it must be included\nin the `orderInformation.amountDetails.totalAmount` value.\n\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization**\nOptional.\n**Authorization Reversal**\nOptional.\n\n#### PIN debit\nOptional field for PIN debit purchase, PIN debit credit or PIN debit reversal.\n" } } }, "billTo": { "type": "object", "properties": { "title": { "type": "string", "maxLength": 60, "description": "Title.\n" }, "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called _CyberSource Latin American Processing_. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "middleName": { "type": "string", "maxLength": 60, "description": "Customer's middle name.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### RBS WorldPay Atlanta\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "company": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n\n**CyberSource through VisaNet**\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\nFor processor-specific information, see the `company_name` field in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "address1": { "type": "string", "maxLength": 40, "description": "First line in the street address of the company purchasing the product." }, "address2": { "type": "string", "maxLength": 40, "description": "Additional address information for the company purchasing the product." }, "locality": { "type": "string", "maxLength": 30, "description": "City in the address of the company purchasing the product." }, "administrativeArea": { "type": "string", "maxLength": 2, "description": "State or province in the address of the company purchasing the product. Use the State, Province, and Territory\nCodes for the United States and Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code in the address of the company purchasing the product. The postal code must consist of 5 to 9 digits.\n\nWhen the company country is the U.S., the 9-digit postal code must follow this format:\n**[5 digits][dash][4 digits]**\n#### Example\n`12345-6789`\n\nWhen the company country is Canada, the 6-digit postal code must follow this format:\n**[alpha][numeric][alpha][space][numeric][alpha][numeric]**\n#### Example\n`A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Country in the address of the company purchasing the product. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" } } }, "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "district": { "type": "string", "maxLength": 50, "description": "Customer's neighborhood, community, or region (a barrio in Brazil) within the city or municipality. This\nfield is available only on **Cielo**.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" }, "county": { "type": "string", "maxLength": 50, "description": "U.S. county if available." }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### SEPA/BACS\nRequired for Create Mandate and Import Mandate\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\nFor processor-specific information, see the `customer_email` request-level field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n\nIt is recommended that you include the country code when the order is from outside the U.S.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nOptional field.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" } } }, "shipTo": { "type": "object", "properties": { "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", "maxLength": 2 }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "email": { "type": "string", "description": "Email of the recipient.", "maxLength": 255 }, "county": { "type": "string", "description": "U.S. county if available.", "maxLength": 50 } } }, "lineItems": { "type": "array", "items": { "type": "object", "properties": { "productCode": { "type": "string", "maxLength": 255, "description": "Type of product. The value for this field is used to identify the product category (electronic, handling, physical,\nservice, or shipping). The default value is `default`.\n\nIf you are performing an authorization transaction (`processingOptions.capture` is set to `false`), and you set\nthis field to a value other than `default` or one of the values related to shipping and/or handling, then\n`orderInformation.lineItems[].quantity`, `orderInformation.lineItems[].productName`, and\n`orderInformation.lineItems[].productSku` fields are required.\n\nOptional field.\n\nFor details, see the `product_code` field description in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nThe Product Codes for the tax service are located in the Cybersource Tax Codes guide. Contact Customer Support to request the guide. If you don't send a tax service Product Code in your tax request, product-based rules or exemptions will not be applied and the transaction will default to fully taxable in the locations where you've indicated you need to collect tax [by way of nexus, no nexus, or seller registration number fields].\n" }, "productName": { "type": "string", "maxLength": 255, "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "productSku": { "type": "string", "maxLength": 255, "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" }, "quantity": { "type": "integer", "minimum": 1, "maximum": 999999999, "default": 1, "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "unitPrice": { "type": "string", "maxLength": 15, "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in the [Merchant Descriptors Using the SCMP API Guide.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Merchant_Descriptors_SCMP_API/html/)\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" }, "unitOfMeasure": { "type": "string", "maxLength": 12, "description": "Unit of measure, or unit of measure code, for the item.\n" }, "totalAmount": { "type": "string", "maxLength": 13, "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" }, "taxAmount": { "type": "string", "maxLength": 15, "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" }, "taxRate": { "type": "string", "maxLength": 7, "description": "Tax rate applied to the item.\n\nFor details, see `tax_rate` field description in the [Level II and Level III Processing Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" }, "taxAppliedAfterDiscount": { "type": "string", "maxLength": 1, "description": "Flag to indicate how you handle discount at the line item level.\n\n - 0: no line level discount provided\n - 1: tax was calculated on the post-discount line item total\n - 2: tax was calculated on the pre-discount line item total\n\n`Note` Visa will inset 0 (zero) if an invalid value is included in this field.\n\nThis field relates to the value in the _lineItems[].discountAmount_ field.\n" }, "taxStatusIndicator": { "type": "string", "maxLength": 1, "description": "Flag to indicate whether tax is exempted or not included.\n\n - 0: tax not included\n - 1: tax included\n - 2: transaction is not subject to tax\n" }, "taxTypeCode": { "type": "string", "maxLength": 4, "description": "Type of tax being applied to the item.\n\nFor possible values, see the processor-specific field descriptions in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/):\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" }, "amountIncludesTax": { "type": "boolean", "description": "Flag that indicates whether the tax amount is included in the Line Item Total.\n\nPossible values:\n - **true**\n - **false**\n" }, "typeOfSupply": { "type": "string", "maxLength": 2, "description": "Flag to indicate whether the purchase is categorized as goods or services.\nPossible values:\n\n - 00: goods\n - 01: services\n" }, "commodityCode": { "type": "string", "maxLength": 15, "description": "Commodity code or International description code used to classify the item. Contact your acquirer for a list of\ncodes.\n" }, "discountAmount": { "type": "string", "maxLength": 13, "description": "Discount applied to the item." }, "discountApplied": { "type": "boolean", "description": "Flag that indicates whether the amount is discounted.\n\nIf you do not provide a value but you set Discount Amount to a value greater than zero, then CyberSource sets\nthis field to **true**.\n\nPossible values:\n - **true**\n - **false**\n" }, "discountRate": { "type": "string", "maxLength": 6, "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" }, "invoiceNumber": { "type": "string", "maxLength": 23, "description": "Field to support an invoice number for a transaction. You must specify the number of line items that will\ninclude an invoice number. By default, the first line item will include an invoice number field. The invoice\nnumber field can be included for up to 10 line items.\n" }, "taxDetails": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n\nFor processor-specific details, see the `alternate_tax_amount`, `local_tax`, `national_tax` or `vat_tax_amount` field\ndescriptions in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "amount": { "type": "string", "maxLength": 13, "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" }, "rate": { "type": "string", "maxLength": 6, "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n\nFor processor-specific details, see the `alternate_tax_amount`, `vat_rate`, `vat_tax_rate`, `local_tax`, `national_tax`, `vat_tax_amount` or `other_tax#_rate` field descriptions in the [Level II and Level III Processing Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "code": { "type": "string", "maxLength": 4, "description": "Type of tax being applied to the item.\n\nFor possible values, see the processor-specific field descriptions in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/):\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" }, "taxId": { "type": "string", "maxLength": 15, "description": "Your tax ID number to use for the alternate tax amount. Required if you set alternate tax amount to any value,\nincluding zero. You may send this field without sending alternate tax amount.\n\nFor processor-specific details, see `alternate_tax_id` field description in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "applied": { "type": "boolean", "description": "Flag that indicates whether the alternate tax amount (`orderInformation.amountDetails.taxDetails[].amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: alternate tax amount is not included in the request.\n- `true`: alternate tax amount is included in the request.\n\nFor processor-specific details, see `alternate_tax_amount_indicator` field description in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "exemptionCode": { "type": "string", "maxLength": 1, "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n\nFor possible values and important information for using this field, see _Appendix B, \"Exemption\nStatus Values_ and _Offer-Level Tax Fields_ in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" } } } }, "fulfillmentType": { "type": "string", "description": "Information about the product code used for the line item.\nPossible values:\n- `E`: The product code is `electronic_software`.\n- `P`: The product code is not `electronic_software`.\n\nFor details, see the `fulfillmentType` field description in [Business Center Reporting User Guide.]\n(https://apps.cybersource.com/library/documentation/dev_guides/reporting_and_reconciliation/Reporting_User/html/)\n" }, "weight": { "type": "string", "maxLength": 9, "description": "Weight of the item.\n\nFor details, see `weight_amount` field description in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "weightIdentifier": { "type": "string", "maxLength": 1, "description": "Type of weight.\n\nPossible values:\n- B: Billed weight\n- N: Actual net weight\n\nFor details, see `weight_identifier` offer-level field description in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "weightUnit": { "type": "string", "maxLength": 2, "description": "Code that specifies the unit of measurement for the weight amount. For example, `OZ` specifies ounce and `LB` specifies pound. The possible values are defined by the ANSI Accredited Standards Committee (ASC).\n\nFor details, see `weight_unit_measurement` offer-level field description in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "referenceDataCode": { "type": "string", "maxLength": 150, "description": "Code that identifies the value of the corresponding `orderInformation.lineItems[].referenceDataNumber` field.\n\nPossible values:\n- AN: Client-defined asset code\n- MG: Manufacturer's part number\n- PO: Purchase order number\n- SK: Supplier stock keeping unit number\n- UP: Universal product code\n- VC: Supplier catalog number\n- VP: Vendor part number\n\nThis field is a pass-through, which means that CyberSource does not verify the value or modify it in any way\nbefore sending it to the processor.\n\nFor details, see `reference_data_#_code` field description in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "referenceDataNumber": { "type": "string", "maxLength": 30, "description": "Reference number.\n\nThe meaning of this value is identified by the value of the corresponding `referenceDataCode` field.\nSee Numbered Elements.\n\nThe maximum length for this field depends on the value of the corresponding `referenceDataCode` field:\n- When the code is `PO`, the maximum length for the reference number is 22.\n- When the code is `VC`, the maximum length for the reference number is 20.\n- For all other codes, the maximum length for the reference number is 30.\n\nThis field is a pass-through, which means that CyberSource does not verify the value or modify it in any way\nbefore sending it to the processor.\n" }, "unitTaxAmount": { "type": "string", "maxLength": 15, "description": "Per-item tax amount of the product.\nNote The amount value must be a non-negative number containing 2 decimal places and limited to 7 digits before the decimal point.\n" }, "productDescription": { "type": "string", "description": "Brief description of item." }, "giftCardCurrency": { "type": "integer", "maxLength": 3, "description": "When `orderInformation.lineItems[].productCode` is \"gift_card\", this is the\ncurrency used for the gift card purchase.\n\nFor details, see `pa_gift_card_currency` field description in [CyberSource Payer Authentication Using the SCMP API.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Payer_Authentication_SCMP_API/Payer_Authentication_SCMP_API.pdf)\n\nFor the possible values, see the [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n" }, "shippingDestinationTypes": { "type": "string", "maxLength": 50, "description": "Destination to where the item will be shipped. Example: Commercial, Residential, Store\n" }, "gift": { "type": "boolean", "description": "This field is only used in DM service.\n\nDetermines whether to assign risk to the order if the billing and shipping addresses specify different cities,\nstates, or countries. This field can contain one of the following values:\n- true: Orders are assigned only slight additional risk if billing and shipping addresses are different.\n- false: Orders are assigned higher additional risk if billing and shipping addresses are different.\n" }, "passenger": { "type": "object", "description": "Contains travel-related passenger details used by DM service only.", "properties": { "type": { "type": "string", "maxLength": 32, "description": "Passenger classification associated with the price of the ticket. You can use one of the following values:\n- `ADT`: Adult\n- `CNN`: Child\n- `INF`: Infant\n- `YTH`: Youth\n- `STU`: Student\n- `SCR`: Senior Citizen\n- `MIL`: Military\n" }, "status": { "type": "string", "maxLength": 32, "description": "Your company's passenger classification, such as with a frequent flyer program. In this case, you might use\nvalues such as `standard`, `gold`, or `platinum`.\n" }, "phone": { "type": "string", "maxLength": 15, "description": "Passenger's phone number. If the order is from outside the U.S., CyberSource recommends that you include\nthe [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" }, "firstName": { "type": "string", "maxLength": 60, "description": "Passenger's first name." }, "lastName": { "type": "string", "maxLength": 60, "description": "Passenger's last name." }, "id": { "type": "string", "maxLength": 40, "description": "ID of the passenger to whom the ticket was issued. For example, you can use this field for the frequent flyer\nnumber.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Passenger's email address, including the full domain name, such as jdoe@example.com." }, "nationality": { "type": "string", "maxLength": 2, "description": "Passenger's nationality country. Use the two character [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)." } } }, "allowedExportCountries": { "type": "array", "items": { "type": "string", "description": "Comma-separated list of ISO country codes for countries to which the product can be exported.\n\nFor all possible values, see the \"Country and Territory Postal System Categories\" section in the [CyberSource Verification Services Using the SCMP API.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Verification_Svcs_SCMP_API/html/)\n\nIf country codes are not specified, or if this field is not included, the U.S. government's country\ncode list is used.\n\n**Note** The default list of countries restricted by the U.S. always applies. Any country not\nspecifically added to the export field is considered restricted.\n" } }, "restrictedExportCountries": { "type": "array", "items": { "type": "string", "description": "Comma-separated list of ISO country codes for countries to which the product cannot be exported.\n\nFor all possible values, see the \"Country and Territory Postal System Categories\" section in the [CyberSource Verification Services Using the SCMP API.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Verification_Svcs_SCMP_API/html/)\n\n**Note** If the export field is also present, the content of the `restrictedExportCountries`\nfield overrides the content of export.\n" } } } } }, "invoiceDetails": { "type": "object", "properties": { "purchaseOrderNumber": { "type": "string", "maxLength": 25, "description": "Value used by your customer to identify the order. This value is typically a purchase order number. CyberSource\nrecommends that you do not populate the field with all zeros or nines.\n\nFor processor-specific information, see the `user_po` field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "purchaseOrderDate": { "type": "string", "maxLength": 10, "description": "Date the order was processed. `Format: YYYY-MM-DD`.\n\nFor processor-specific information, see the `purchaser_order_date` field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "purchaseContactName": { "type": "string", "maxLength": 36, "description": "The name of the individual or the company contacted for company authorized purchases.\n\nFor processor-specific information, see the `authorized_contact_name` field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "taxable": { "type": "boolean", "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nFor processor-specific information, see the `tax_indicator` field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n\nPossible values:\n - **true**\n - **false**\n" }, "vatInvoiceReferenceNumber": { "type": "string", "maxLength": 15, "description": "VAT invoice number associated with the transaction.\n\nFor processor-specific information, see the `vat_invoice_ref_number` field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "commodityCode": { "type": "string", "maxLength": 4, "description": "International description code of the overall order's goods or services or the Categorizes purchases for VAT\nreporting. Contact your acquirer for a list of codes.\n\nFor processor-specific information, see the `summary_commodity_code` field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "transactionAdviceAddendum": { "type": "array", "items": { "type": "object", "properties": { "data": { "type": "string", "maxLength": 40, "description": "Four Transaction Advice Addendum (TAA) fields. These fields are used to display descriptive information\nabout a transaction on the customer's American Express card statement. When you send TAA fields, start\nwith amexdata_taa1, then ...taa2, and so on. Skipping a TAA field causes subsequent TAA fields to be\nignored.\n\nTo use these fields, contact CyberSource Customer Support to have your account enabled for this feature.\n" } } } } } }, "shippingDetails": { "type": "object", "properties": { "shipFromPostalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the address from which the goods are shipped, which is used to establish nexus. The default is\nthe postal code associated with your CyberSource account.\n\nThe postal code must consist of 5 to 9 digits. When the billing country is the U.S., the 9-digit postal code\nmust follow this format:\n\n`[5 digits][dash][4 digits]`\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n\n`[alpha][numeric][alpha][space] [numeric][alpha][numeric]`\n\nExample A1B 2C3\n\nThis field is frequently used for Level II and Level III transactions.\n" } } } } }, "buyerInformation": { "type": "object", "properties": { "merchantCustomerId": { "type": "string", "maxLength": 100, "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n\nFor processor-specific information, see the `customer_account_id` field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "vatRegistrationNumber": { "type": "string", "maxLength": 20, "description": "Customer's government-assigned tax identification number.\n\n#### Tax Calculation\nOptional for international and value added taxes only. Not applicable to U.S. and Canadian taxes.\n\nFor processor-specific information, see the purchaser_vat_registration_number field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "dateOfBirth": { "type": "string", "maxLength": 8, "description": "Recipient's date of birth. **Format**: `YYYYMMDD`.\n\nThis field is a `pass-through`, which means that CyberSource ensures that the value is eight numeric characters\nbut otherwise does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n\nFor more details, see `recipient_date_of_birth` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "gender": { "type": "string", "maxLength": 3, "description": "Customer's gender. Possible values are F (female), M (male),O (other)." }, "language": { "type": "string", "maxLength": 2, "description": "language setting of the user" }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "The value of the identification type. This field is supported only on the following processors.\n\n#### ComercioLatino\nSet this field to the Cadastro de Pessoas Fisicas (CPF).\n\n#### CyberSource Latin American Processing\nSupported for Redecard in Brazil. Set this field to the Cadastro de Pessoas Fisicas (CPF), which is required for AVS for Redecard in Brazil.\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\nFor processor-specific information, see the `personal_id` field in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n \nIf `type = PASSPORT`, this is the cardholder's passport number.\nRecommended for Discover ProtectBuy.\n" } } } } } }, "deviceInformation": { "type": "object", "properties": { "hostName": { "type": "string", "maxLength": 60, "description": "DNS resolved hostname from `ipAddress`." }, "ipAddress": { "type": "string", "maxLength": 45, "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" }, "userAgent": { "type": "string", "maxLength": 40, "description": "Customer's browser as identified from the HTTP header data. For example, `Mozilla` is the value that identifies\nthe Netscape browser.\n" } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "name": { "type": "string", "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" }, "alternateName": { "type": "string", "maxLength": 13, "description": "An alternate name for the merchant.\n\nFor the descriptions, used-by information, data types, and lengths for these fields, see the `merchant_descriptor_alternate` field description\nin [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)-->\n" }, "contact": { "type": "string", "maxLength": 14, "description": "For the descriptions, used-by information, data types, and lengths for these fields, see `merchant_descriptor_contact` field description\nin [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)-->\nContact information for the merchant.\n\n**Note** These are the maximum data lengths for the following payment processors:\n- FDCCompass (13)\n- Paymentech (13)\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of merchant's address. For the descriptions, used-by information, data types, and lengths for these fields, see `merchant_descriptor_street` field description\nin [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "locality": { "type": "string", "maxLength": 13, "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" }, "country": { "type": "string", "maxLength": 2, "description": "Merchant's country.\n\n#### PIN debit\nCountry code for your business location. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\nThis value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n**Note** If your business is located in the U.S. or Canada and you include this field in a\nrequest, you must also include `merchantInformation.merchantDescriptor.administrativeArea`.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "postalCode": { "type": "string", "maxLength": 14, "description": "Merchant's postal code.\n\n#### PIN debit\nPostal code for your business location. This value might be displayed on the cardholder's statement.\n\nIf your business is domiciled in the U.S., you can use a 5-digit or 9-digit postal code. A 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\nExample: `12345-6789`\n\nIf your business is domiciled in Canada, you can use a 6-digit or 9-digit postal code. A 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space]\n[numeric][alpha][numeric]\nExample: `A1B 2C3`\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n**Important** Mastercard requires a postal code for any country that uses postal codes.\nYou can provide the postal code in your account or you can include this field in your request.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "administrativeArea": { "type": "string", "description": "The state where the merchant is located.\n\n#### PIN debit\nState code or region code for your business. Use the Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "phone": { "type": "string", "maxLength": 13, "description": "Merchant phone as contact information for CNP transactions\n" }, "url": { "type": "string", "maxLength": 255, "description": "Address of company's website provided by merchant\n" }, "countryOfOrigin": { "type": "string", "maxLength": 2, "description": "#### Visa Platform Connect\nThis field will indicate merchant country of origin\n" }, "storeId": { "type": "string", "maxLength": 50, "description": "The identifier of the store.\n" }, "storeName": { "type": "string", "maxLength": 50, "description": "The name of the store.\n" }, "customerServicePhoneNumber": { "type": "string", "maxLength": 27, "description": "#### Visa Platform Connect\nIndicates customer service phone number of Merchant.\n" } } }, "cardAcceptorReferenceNumber": { "type": "string", "maxLength": 25, "description": "Reference number that facilitates card acceptor/corporation communication and record keeping.\n\nFor processor-specific information, see the `card_acceptor_ref_number` field description in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "categoryCode": { "type": "integer", "maximum": 9999, "description": "The value for this field is a four-digit number that the payment card industry uses to classify\nmerchants into market segments. A payment card company assigned one or more of these values to your business when you started\naccepting the payment card company's cards. When you do not include this field in your request, CyberSource uses the value in your\nCyberSource account.\n\nFor processor-specific information, see the `merchant_category_code` field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR4\n- Position: 150-153\n- Field: Merchant Category Code\n" }, "vatRegistrationNumber": { "type": "string", "maxLength": 21, "description": "Your government-assigned tax identification number.\n\n#### Tax Calculation\nRequired field for value added tax only. Not applicable to U.S. and Canadian taxes.\n\n#### CyberSource through VisaNet\nFor CtV processors, the maximum length is 20.\n\nFor other processor-specific information, see the `merchant_vat_registration_number` field description in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "serviceFeeDescriptor": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 22, "description": "Name of the service provider that is collecting the service fee. The service provider name must consist of\n3, 7, or 12 characters followed by an asterisk (*). This value must also include the words \"Service Fee.\"\n\nWhen you include more than one consecutive space, extra spaces are removed. Use one of the following formats\nfor this value:\n- <3-character name>*Service Fee\n- <7-character name>*Service Fee\n- <12-character name>*Service Fee\n\nWhen payments are made in installments, this value must also include installment information such as\n\"1 of 5\" or \"3 of 7.\" For installment payments, use one of the following formats for this value:\n- <3-character name>*Service Fee* of \n- <7-character name>*Service Fee* of \n- <12-character name>*Service Fee* of \n\nwhere is the payment number and is the total number of payments.\n\nWhen you do not include this value in your request, CyberSource uses the value that is in your CyberSource\naccount.\n\nThis value might be displayed on the cardholder's statement.\n" }, "contact": { "type": "string", "maxLength": 11, "description": "Contact information for the service provider that is collecting the service fee. when you include more than one\nconsecutive space, extra spaces are removed.\n\nWhen you do not include this value in your request, CyberSource uses the value that is in your CyberSource account.\n\nThis value might be displayed on the cardholder's statement.\n" }, "state": { "type": "string", "maxLength": 20, "description": "State or territory in which the service provider is located.\n\nWhen you do not include this value in your request, CyberSource uses the value that is in your CyberSource account.\n\nThis value might be displayed on the cardholder's statement.\n" } } }, "taxId": { "type": "string", "maxLength": 15, "description": "Your Cadastro Nacional da Pessoa Jur\u00eddica (CNPJ) number.\n\nThis field is supported only for BNDES transactions on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR6\n- Position: 40-59\n- Field: BNDES Reference Field 1\n\nFor details, see `bill_merchant_tax_id` field description in the [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" } } }, "aggregatorInformation": { "type": "object", "properties": { "aggregatorId": { "type": "string", "maxLength": 20, "description": "Value that identifies you as a payment aggregator. Get this value from the\nprocessor.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR6\n- Position: 95-105\n- Field: Payment Facilitator ID\n\nThis field is supported for Visa, Mastercard and Discover Transactions.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n\nFor processor-specific information, see the `aggregator_id` field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "name": { "type": "string", "maxLength": 37, "description": "Your payment aggregator business name.\n\n**American Express Direct**\\\nThe maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters.\\\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n\nFor processor-specific information, see the aggregator_name field in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "subMerchant": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 37, "description": "Sub-merchant's business name.\n\n#### American Express Direct\nThe maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters.\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n\n#### FDC Nashville Global\nWith Mastercard, the maximum length of the sub-merchant name depends on the length of the aggregator name:\n- If aggregator name length is 1 through 3, maximum sub-merchant name length is 21.\n- If aggregator name length is 4 through 7, maximum sub-merchant name length is 17.\n- If aggregator name length is 8 through 12, maximum sub-merchant name length is 12.\n" }, "address1": { "type": "string", "maxLength": 38, "description": "First line of the sub-merchant's street address.\n\nFor processor-specific details, see `submerchant_street` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "locality": { "type": "string", "maxLength": 21, "description": "Sub-merchant's city.\n\nFor processor-specific details, see `submerchant_city` request field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "administrativeArea": { "type": "string", "maxLength": 3, "description": "Sub-merchant's state or province.\n\nFor possible values and also aggregator support, see `submerchant_state` request field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "postalCode": { "type": "string", "maxLength": 15, "description": "Partial postal code for the sub-merchant's address.\n\nFor processor-specific details, see `submerchant_postal_code` request field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "country": { "type": "string", "maxLength": 3, "description": "Sub-merchant's country. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n\nFor details, see the `submerchant_country` request-level field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "email": { "type": "string", "maxLength": 40, "description": "Sub-merchant's email address.\n\n**Maximum length for processors**\n\n - American Express Direct: 40\n - CyberSource through VisaNet: 40\n - FDC Compass: 40\n - FDC Nashville Global: 19\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 25-64\n- Field: American Express Seller E-mail Address\n\n**Note** The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" }, "phoneNumber": { "type": "string", "maxLength": 20, "description": "Sub-merchant's telephone number.\n\n**Maximum length for procesors**\n\n - American Express Direct: 20\n - CyberSource through VisaNet: 20\n - FDC Compass: 13\n - FDC Nashville Global: 10\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCRB\n- Position: 5-24\n- Field: American Express Seller Telephone Number\n\n**FDC Compass**\\\nThis value must consist of uppercase characters. Use one of these recommended formats:\\\n`NNN-NNN-NNNN`\\\n`NNN-AAAAAAA`\n" }, "id": { "type": "string", "maxLength": 20, "description": "The ID you assigned to your sub-merchant.\nCyberSource through VisaNet: For American Express transaction, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 65-84\n- Field: American Express Seller ID\nFor Mastercard transactions, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 117-131\n- Field: Sub-Merchant ID\nFDC Compass: This value must consist of uppercase characters.\n\nAmerican Express Direct: String (20)\nCyberSource through VisaNet with American Express: String (20)\nCyberSource through VisaNet with Visa,Mastercard and Discover: String (15)\nFDC Compass: String (20)\nFDC Nashville Global: String (14)\n" } } } } }, "pointOfSaleInformation": { "type": "object", "properties": { "emv": { "type": "object", "properties": { "tags": { "type": "string", "maxLength": 1998, "description": "EMV data that is transmitted from the chip card to the issuer, and from the issuer to the chip card. The EMV\ndata is in the tag-length-value format and includes chip card tags, terminal tags, and transaction detail tags.\n\nFor information about the individual tags, see the \"Application Specification\" section in the EMV 4.3 Specifications: http://emvco.com\n\n**Note** Card present information about EMV applies only to credit card processing and PIN debit processing.\nAll other card present information applies only to credit card processing. PIN debit processing is available only\non FDC Nashville Global.\n\n**Important** The following tags contain sensitive information and **must not** be included in this field:\n\n - `56`: Track 1 equivalent data\n - `57`: Track 2 equivalent data\n - `5A`: Application PAN\n - `5F20`: Cardholder name\n - `5F24`: Application expiration date (This sensitivity has been relaxed for Credit Mutuel-CIC, American Express Direct, FDC Nashville Global, First Data Merchant Solutions, and SIX)\n - `99`: Transaction PIN\n - `9F0B`: Cardholder name (extended)\n - `9F1F`: Track 1 discretionary data\n - `9F20`: Track 2 discretionary data\n\nFor captures, this field is required for contact EMV transactions. Otherwise, it is optional.\n\nFor credits, this field is required for contact EMV stand-alone credits and contactless EMV stand-alone credits.\nOtherwise, it is optional.\n\n**Important** For contact EMV captures, contact EMV stand-alone credits, and contactless EMV stand-alone credits,\nyou must include the following tags in this field. For all other types of EMV transactions, the following tags\nare optional.\n\n - `95`: Terminal verification results\n - `9F10`: Issuer application data\n - `9F26`: Application cryptogram\n\n\n#### CyberSource through VisaNet\n- In Japan: 199 bytes\n- In other countries: String (252)\n\nFor Mastercard Transactions, Optionally Tag 9F60 (Authenticated Application Data) and \nTag 96 (Kernel Identifier - Terminal) can be included in the Field.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n\n#### JCN Gateway\nThe following tags must be included:\n- `4F`: Application identifier\n- `84`: Dedicated file name\n\nData length: 199 bytes\n\n#### All other processors:\nString (999)\n\n#### Used by\nAuthorization: Optional\nAuthorization Reversal: Optional\nCredit: Optional\nPIN Debit processing (purchase, credit and reversal): Optional\n" }, "fallback": { "type": "boolean", "maxLength": 5, "description": "Indicates whether a fallback method was used to enter credit card information into the POS terminal. When a\ntechnical problem prevents a successful exchange of information between a chip card and a chip-capable terminal:\n\n 1. Swipe the card or key the credit card information into the POS terminal.\n 2. Use the pointOfSaleInformation.entryMode field to indicate whether the information was swiped or keyed.\n\n\nPossible values:\n- `true`: Fallback method was used.\n- `false` (default): Fallback method was not used.\n\nThis field is supported only on American Express Direct, Chase Paymentech Solutions, CyberSource through VisaNet,\nFDC Nashville Global, GPN, JCN Gateway, OmniPay Direct, and SIX.\n" } } }, "amexCapnData": { "type": "string", "maxLength": 15, "description": "Point-of-sale details for the transaction. This value is returned only for **American Express Direct**.\nCyberSource generates this value, which consists of a series of codes that identify terminal capability,\nsecurity data, and specific conditions present at the time the transaction occurred. To comply with the CAPN\nrequirements, this value must be included in all subsequent follow-on requests, such as captures and follow-on\ncredits.\n\nWhen you perform authorizations, captures, and credits through CyberSource, CyberSource passes this value from\nthe authorization service to the subsequent services for you. However, when you perform authorizations through\nCyberSource and perform subsequent services through other financial institutions, you must ensure that your\nrequests for captures and credits include this value.\n\nFor details, see `auth_pos_data` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" } } }, "merchantDefinedInformation": { "type": "array", "description": "The object containing the custom data that the merchant defines.\n", "items": { "type": "object", "properties": { "key": { "type": "string", "maxLength": 50, "description": "The number you assign for as the key for your merchant-defined data field. Valid values are 0 to 100.\n\nFor example, to set or access the key for the 2nd merchant-defined data field in the array, you would reference `merchantDefinedInformation[1].key`.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].key` and\n`merchantDefinedInformation[1].key` for data that you want to provide to the issuer to identify the\ntransaction.\n\nFor details, see the `merchant_defined_data1` request-level field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "value": { "type": "string", "maxLength": 255, "description": "The value you assign for your merchant-defined data field.\n\nFor details, see `merchant_defined_data1` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event CyberSource discovers that a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, CyberSource will immediately suspend the merchant's account, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].value` and\n`merchantDefinedInformation[1].value` for data that you want to provide to the issuer to identify the\ntransaction. For details, see \"Installment Payments on CyberSource through VisaNet\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nFor installment payments with Mastercard in Brazil:\n- The value for merchantDefinedInformation[0].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 25-44\n - Field: Reference Field 2\n- The value for merchantDefinedInformation[1].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 45-64\n - Field: Reference Field 3\n" } } } }, "merchantDefinedSecureInformation": { "type": "object", "description": "The object containing the secure data that the merchant defines.\n", "properties": { "secure1": { "type": "string", "maxLength": 2048, "description": "The value you assign for your merchant-secure data field 1.\n" }, "secure2": { "type": "string", "maxLength": 2048, "description": "The value you assign for your merchant-secure data field 2.\n" }, "secure3": { "type": "string", "maxLength": 2048, "description": "The value you assign for your merchant-secure data field 3.\n" }, "secure4": { "type": "string", "maxLength": 2048, "description": "The value you assign for your merchant-secure data field 4.\n" } } }, "installmentInformation": { "type": "object", "properties": { "amount": { "type": "string", "maxLength": 12, "description": "Amount for the current installment payment.\n\nThis field is supported only for CyberSource through VisaNet.\n\nFor details, see `installment_amount` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "frequency": { "type": "string", "maxLength": 1, "description": "Frequency of the installment payments. When you do not include this field in a request for a\nCrediario installment payment, CyberSource sends a space character to the processor.\n\nFor details, see `installment_frequency` field description in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThis field is supported only for CyberSource through VisaNet. Possible values:\n- `B`: Biweekly\n- `M`: Monthly\n- `W`: Weekly\n\nFor Crediario installment payments, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR9\n- Position: 41\n- Field: Installment Frequency\n\nFor details, see \"Installment Payments\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "planType": { "type": "string", "maxLength": 1, "description": "#### American Express Direct, Cielo, and CyberSource Latin American Processing\nFlag that indicates the type of funding for the installment plan associated with the payment.\n\nPossible values:\n- `1`: Merchant-funded installment plan\n- `2`: Issuer-funded installment plan\nIf you do not include this field in the request, CyberSource uses the value in your CyberSource account.\n\nTo change the value in your CyberSource account, contact CyberSource Customer Service.\nFor details, see `installment_plan_type` field description in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### CyberSource through VisaNet and American Express\nDefined code that indicates the type of installment plan for this transaction.\n\nContact American Express for:\n- Information about the kinds of installment plans that American Express provides\n- Values for this field\n\nFor installment payments with American Express in Brazil, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP07 TCR3\n- Position: 5-6\n- Field: Plan Type\n\n* The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n\n#### CyberSource through VisaNet with Visa or Mastercard\nFlag indicating the type of funding for the installment plan associated with the payment.\nPossible values:\n- 1 or 01: Merchant-funded installment plan\n- 2 or 02: Issuer-funded installment plan\n- 43: Crediario installment plan\u2014only with Visa in Brazil\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nFor installment payments with Visa in Brazil, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR1\n- Position: 5-6\n- Field: Installment Type\n\nFor all other kinds of installment payments, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR5\n- Position: 39-40\n- Field: Installment Plan Type (Issuer or Merchant)\n" }, "sequence": { "type": "integer", "maximum": 99, "description": "Installment number when making payments in installments. Used along with `totalCount` to track which payment is being processed.\n\nFor example, the second of 5 payments would be passed to CyberSource as `sequence` = 2 and `totalCount` = 5.\n\nFor details, see \"Installment Payments\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Chase Paymentech Solutions and FDC Compass\nThis field is optional because this value is required in the merchant descriptors.\nFor details, see \"Chase Paymentech Solutions Merchant Descriptors\" and \"FDC Compass Merchant Descriptors\" in the [Merchant Descriptors Using the SCMP API]\n(https://apps.cybersource.com/library/documentation/dev_guides/Merchant_Descriptors_SCMP_API/html/)\n\n#### CyberSource through VisaNet\nWhen you do not include this field in a request for a Crediario installment payment, CyberSource sends a value of 0 to the processor.\n\nFor Crediario installment payments, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP01 TCR9\n- Position: 38-40\n- Field: Installment Payment Number\n\n* The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" }, "totalAmount": { "type": "string", "maxLength": 12, "description": "Total amount of the loan that is being paid in installments. This field is supported only for CyberSource\nthrough VisaNet.\n\nFor details, see \"Installment Payments\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "totalCount": { "type": "integer", "maximum": 99, "description": "Total number of installments when making payments in installments.\n\nFor details, see \"Installment Payments\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Chase Paymentech Solutions and FDC Compass\nThis field is optional because this value is required in the merchant descriptors.\n\nFor details, see \"Chase Paymentech Solutions Merchant Descriptors\" and \"FDC Compass Merchant Descriptors\" in the [Merchant Descriptors Using the SCMP API.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Merchant_Descriptors_SCMP_API/html/)\n\n#### American Express Direct, Cielo, and Comercio Latino\nThis value is the total number of installments you approved.\n\n#### CyberSource Latin American Processing in Brazil\nThis value is the total number of installments that you approved. The default is 1.\n\n#### All Other Processors\nThis value is used along with _sequence_ to track which payment is being processed.\n\nFor example, the second of 5 payments would be passed to CyberSource as _sequence_ = 2 and _totalCount_ = 5.\n\n#### CyberSource through VisaNet\nFor Crediario installment payments, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP01 TCR9\n- Position: 23-25\n- Field: Number of Installments\n\nFor installment payments with American Express in Brazil, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP07 TCR3\n- Position: 7-8\n- Field: Number of Installments\n\nFor installment payments with Visa in Brazil, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP07 TCR1\n- Position: 7-8\n- Field: Number of Installments\n\nFor all other kinds of installment payments, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP01 TCR5\n- Position: 20-22\n- Field: Installment Total Count\n\n**Note** The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" }, "firstInstallmentDate": { "type": "string", "maxLength": 6, "description": "Date of the first installment payment. Format: YYMMDD. When you do not include this field, CyberSource sends a string of six zeros (000000) to the processor.\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThis field is supported only for Crediario installment payments in Brazil on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR9\n- Position: 42-47\n- Field: Date of First Installment\n" }, "firstInstallmentAmount": { "type": "string", "maxLength": 13, "description": "Amount of the first installment payment. The issuer provides this value when the first installment payment is successful.\nThis field is supported for Mastercard installment payments on CyberSource through VisaNet in all countries except Brazil,Croatia, Georgia, and Greece.\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR5\n- Position: 23-34\n- Field: Amount of Each Installment\n" }, "invoiceData": { "type": "string", "maxLength": 20, "description": "Invoice information that you want to provide to the issuer. This value is similar to a tracking number and is\nthe same for all installment payments for one purchase.\n\nThis field is supported only for installment payments with Mastercard on CyberSource through VisaNet in Brazil.\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR4\n- Position: 51-70\n- Field: Purchase Identification\n" }, "paymentType": { "type": "string", "maxLength": 1, "description": "Payment plan for the installments.\n\nPossible values:\n- 0 (default): Regular installment. This value is not allowed for airline transactions.\n- 1: Installment payment with down payment.\n- 2: Installment payment without down payment. This value is supported only for airline transactions.\n- 3: Installment payment; down payment and boarding fee will follow. This value is supported only for airline transactions.\n- 4: Down payment only; regular installment payment will follow.\n- 5: Boarding fee only. This value is supported only for airline transactions.\n\nThis field is supported only for installment payments with Visa on CyberSource through VisaNet in Brazil.\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR1\n- Position: 9\n- Field: Merchant Installment Supporting Information\n" }, "additionalCosts": { "type": "string", "maxLength": 12, "description": "Additional costs charged by the issuer to fund the installment payments.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 128-139\n- Field: Total Other Costs\n" }, "additionalCostsPercentage": { "type": "string", "maxLength": 4, "description": "Additional costs divided by the amount funded.\n\nFor example:\n- A value of 1.0 specifies 1%.\n- A value of 4.0 specifies 4%.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 140-143\n- Field: Percent of Total Other Costs\n" }, "amountFunded": { "type": "string", "maxLength": 12, "description": "Amount funded.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 48-59\n- Field: Total Amount Funded\n" }, "amountRequestedPercentage": { "type": "string", "maxLength": 4, "description": "Amount requested divided by the amount funded.\n\nFor example:\n- A value of 90.0 specifies 90%.\n- A value of 93.7 specifies 93.7%.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 60-63\n- Field: Percent of Amount Requested\n" }, "annualFinancingCost": { "type": "string", "maxLength": 7, "description": "Annual cost of financing the installment payments.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 158-164\n- Field: Annual Total Cost of Financing\n" }, "annualInterestRate": { "type": "string", "maxLength": 7, "description": "Annual interest rate.\n\nFor example:\n- A value of 1.0 specifies 1%.\n- A value of 4.0 specifies 4%.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 151-157\n- Field: Annual Interest Rate\n" }, "expenses": { "type": "string", "maxLength": 12, "description": "Expenses charged by the issuer to fund the installment payments.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 64-75\n- Field: Total Expenses\n" }, "expensesPercentage": { "type": "string", "maxLength": 4, "description": "Expenses divided by the amount funded.\n\nFor example:\n- A value of 1.0 specifies 1%.\n- A value of 4.0 specifies 4%.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 76-79\n- Field: Percent of Total Expenses\n" }, "fees": { "type": "string", "maxLength": 12, "description": "Fees charged by the issuer to fund the installment payments.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 80-91\n- Field: Total Fees\n" }, "feesPercentage": { "type": "string", "maxLength": 4, "description": "Fees divided by the amount funded.\n\nFor example:\n- A value of 1.0 specifies 1%.\n- A value of 4.0 specifies 4%.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThis field is supported only for Crediario installment payments in Brazil on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 92-95\n- Field: Percent of Total Fees\n" }, "insurance": { "type": "string", "maxLength": 12, "description": "Insurance charged by the issuer to fund the installment payments.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 112-123\n- Field: Total Insurance\n" }, "insurancePercentage": { "type": "string", "maxLength": 4, "description": "Insurance costs divided by the amount funded.\n\nFor example:\n- A value of 1.0 specifies 1%.\n- A value of 4.0 specifies 4%.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 124-127\n- Field: Percent Of Total Insurance\n" }, "monthlyInterestRate": { "type": "string", "maxLength": 7, "description": "Monthly interest rate.\n\nFor example:\n- A value of 1.0 specifies 1%.\n- A value of 4.0 specifies 4%.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 144-150\n- Field: Monthly Interest Rate\n" }, "taxes": { "type": "string", "maxLength": 12, "description": "Taxes collected by the issuer to fund the installment payments.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 96-107\n- Field: Total Taxes\n" }, "taxesPercentage": { "type": "string", "maxLength": 4, "description": "Taxes divided by the amount funded.\n\nFor example:\n- A value of 1.0 specifies 1%.\n- A value of 4.0 specifies 4%.\n\nThis field is included in the authorization reply for the Crediario eligibility request when the issuer approves\nthe cardholder's request for Crediario installment payments in Brazil.\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThis field is supported only for Crediario installment payments in Brazil on **CyberSource through VisaNet**.\n\nThe value for this field corresponds to the following data in the TC 33 capture file1:\n- Record: CP01 TCR9\n- Position: 108-111\n- Field: Percent of Total Taxes\n" } } }, "travelInformation": { "type": "object", "properties": { "duration": { "type": "string", "maxLength": 2, "description": "Duration of the auto rental or lodging rental.\n\n#### Auto rental\nThis field is supported for Visa, MasterCard, and American Express.\n**Important** If this field is not included when the `processingInformation.industryDataType` is auto rental,\nthe transaction is declined.\n" }, "agency": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 8, "description": "International Air Transport Association (IATA) code of travel agency that made the vehicle rental reservation.\n" }, "name": { "type": "string", "maxLength": 25, "description": "Name of travel agency that made the reservation.\n" } } }, "autoRental": { "type": "object", "properties": { "noShowIndicator": { "type": "boolean", "description": "No Show Indicator provides an indicator noting that the individual did not show up after making a reservation for a vehicle.\nPossible values:\n- true\n- false\n" }, "customerName": { "type": "string", "maxLength": 40, "description": "Name of the individual making the rental agreement.\n\nValid data lengths by card:\n\n|Card Specific Validation|VISA|MasterCard|Discover|AMEX|\n|--- |--- |--- |--- |\n| Filed Length| 40| 40| 29| 26|\n| Field Type| AN| ANS| AN| AN|\n| M/O/C| O| M| M| M|\n" }, "vehicleClass": { "type": "string", "maxLength": 4, "description": "Classification of the rented auto.\n\n**NOTE** For VISA, this is a 2-byte optional code.\n\nValid values for American Express & MasterCard:\n\n|American Express |MasterCard |Description|\n|--- |--- |--- |\n| 0001| 0001| Mini|\n| 0002| 0002| Subcompact|\n| 0003| 0003| Economy|\n| 0004| 0004| Compact|\n| 0005| 0005| Midsize|\n| 0006| 0006| Intermediate|\n| 0007| 0007| Standard|\n| 0008| 0008| Fulll size|\n| 0009| 0009| Luxury|\n| 0010| 0010| Premium|\n| 0011| 0011| Minivan|\n| 0012| 0012| 12-passenger van|\n| 0013| 0013| Moving van|\n| 0014| 0014| 15-passenger van|\n| 0015| 0015| Cargo van|\n| 0016| 0016| 12-foot truck|\n| 0017| 0017| 20-foot truck|\n| 0018| 0018| 24-foot truck|\n| 0019| 0019| 26-foot truck|\n| 0020| 0020| Moped|\n| 0021| 0021| Stretch|\n| 0022| 0022| Regular|\n| 0023| 0023| Unique|\n| 0024| 0024| Exotic|\n| 0025| 0025| Small/medium truck|\n| 0026| 0026| Large truck|\n| 0027| 0027| Small SUV|\n| 0028| 0028| Medium SUV|\n| 0029| 0029| Large SUV|\n| 0030| 0030| Exotic SUV|\n| 9999| 9999| Miscellaneous|\n\nAdditional Values allowed **only** for `American Express`:\n\n|American Express|MasterCard|Description|\n|--- |--- |--- |\n| 0031| NA| Four Wheel Drive|\n| 0032| NA| Special|\n| 0099| NA| Taxi|\n" }, "distanceTravelled": { "type": "string", "maxLength": 5, "description": "Total number of miles driven by the customer.\nThis field is supported only for MasterCard and American Express.\n" }, "distanceUnit": { "type": "string", "maxLength": 1, "description": "Miles/Kilometers Indicator shows whether the \"miles\" fields are expressed in miles or kilometers.\n\nAllowed values:\n- `K` - Kilometers\n- `M` - Miles\n" }, "returnDateTime": { "type": "string", "maxLength": 21, "description": "Date/time the auto was returned to the rental agency.\nFormat: ``yyyy-MM-dd HH-mm-ss z``\nThis field is supported for Visa, MasterCard, and American Express.\n" }, "rentalDateTime": { "type": "string", "maxLength": 21, "description": "Date/time the auto was picked up from the rental agency.\nFormat: `yyyy-MM-dd HH-mm-ss z`\nThis field is supported for Visa, MasterCard, and American Express.\n" }, "maxFreeDistance": { "type": "string", "maxLength": 4, "description": "Maximum number of free miles or kilometers allowed to a customer for the duration of the auto rental agreement.\nThis field is supported only for MasterCard and American Express.\n" }, "insuranceIndicator": { "type": "boolean", "description": "Used for MC and Discover\n\nValid values:\n- `true` - Yes (insurance was purchased)\n- `false` - No (insurance was not purchased)\n" }, "programCode": { "type": "string", "maxLength": 2, "description": "Used to identify special circumstances applicable to the Card Transaction or Cardholder, such as \"renter\" or \"show\".\n\nThis code is `2 digit` value agreed by Merchant and processor.\n" }, "returnAddress": { "type": "object", "properties": { "city": { "type": "string", "maxLength": 25, "description": "City where the auto was returned to the rental agency.\n" }, "state": { "type": "string", "maxLength": 3, "description": "State in which the auto was returned to the rental agency. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for MasterCard and American Express.\n" }, "country": { "type": "string", "maxLength": 3, "description": "Country where the auto was returned to the rental agency. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" }, "locationId": { "type": "string", "maxLength": 10, "description": "Code, address, phone number, etc. used to identify the location of the auto rental return.\nThis field is supported only for MasterCard and American Express.\n" }, "address1": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the rental address's street address.\n" }, "postalCode": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the return address's postal code.\n" }, "location": { "type": "string", "maxLength": 38, "description": "This field contains the location where the taxi passenger was dropped off or where the auto rental vehicle was returned.\n" } } }, "rentalAddress": { "type": "object", "properties": { "city": { "type": "string", "maxLength": 25, "description": "City in which the auto was rented.\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for American Express.\n\nFor all other card types, this field is ignored.\n" }, "state": { "type": "string", "maxLength": 3, "description": "State in which the auto was rented. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n" }, "country": { "type": "string", "maxLength": 3, "description": "Country where the auto was rented. Use the [ISO Standard Country Codes.](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\nThis field is supported only for American Express.\n" }, "locationId": { "type": "string", "maxLength": 10, "description": "The agency code, address, phone number, etc., used to identify the location where the vehicle was rented.\n" }, "address1": { "type": "string", "maxLength": 13, "description": "Address from where the vehicle was rented.\n" }, "address2": { "type": "string", "maxLength": 13, "description": "Address from where the vehicle was rented.\n" }, "postalCode": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the rental address's postal code.\n" }, "location": { "type": "string", "maxLength": 38, "description": "This field contains the location where a taxi passenger was picked up or where an auto rental vehicle was picked up. In most cases, this is the rental agency's business name that appears on the storefront and/or customer receipts, commonly referred to as the DBA (Doing Business As) name. However, if the vehicle was picked up at another location (e.g., a hotel,auto dealership, repair shop, etc.), the name of that location should be used. This entry must be easily recognized by the Cardmember to avoid unnecessary inquiries. If the name is more than 38 characters, use proper and meaningful abbreviation, when possible.\n" } } }, "agreementNumber": { "type": "string", "maxLength": 25, "description": "Auto rental agency's agreement (invoice) number provided to the customer. It is used to trace any inquiries about transactions.\nThis field is supported for Visa, MasterCard, and American Express.\nThis Merchant-defined value, which may be composed of any combination of characters and/or numerals, may become\npart of the descriptive bill on the Cardmember's statement.\n" }, "odometerReading": { "type": "string", "maxLength": 8, "description": "Odometer reading at time of vehicle rental.\n" }, "vehicleIdentificationNumber": { "type": "string", "maxLength": 20, "description": "This field contains a unique identifier assigned by the company to the vehicle.\n" }, "companyId": { "type": "string", "maxLength": 12, "description": "Corporate Identifier provides the unique identifier of the corporation or entity renting the vehicle:\n\n|Card Specific Validation|VISA|MasterCard|Discover|AMEX|\n|--- |--- |--- |--- |\n| Filed Length| NA| 12| NA| NA|\n| Field Type| NA| AN| NA| NA|\n| M/O/C| NA| O| NA| NA|\n" }, "numberOfAdditionalDrivers": { "type": "string", "maxLength": 1, "description": "The number of additional drivers included on the rental agreement not including the individual who signed the rental agreement.\n" }, "driverAge": { "type": "string", "maxLength": 3, "description": "Age of the driver renting the vehicle.\n" }, "specialProgramCode": { "type": "string", "maxLength": 2, "description": "Program code used to identify special circumstances, such as \"frequent renter\" or \"no show\" status for the renter.\nPossible values:\n- `0`: not applicable (default)\n- `1`: frequent renter\n- `2`: no show\n\nFor authorizations, this field is supported only for Visa.\n\nFor captures, this field is supported for Visa, MasterCard, and American Express.\n\nCode for special programs applicable to the Card Transaction or the Cardholder.\n" }, "vehicleMake": { "type": "string", "maxLength": 10, "description": "Make of the vehicle being rented (e.g., Chevrolet or Ford).\n" }, "vehicleModel": { "type": "string", "maxLength": 10, "description": "Model of the vehicle being rented (e.g., Cavalier or Focus).\n" }, "timePeriod": { "type": "string", "maxLength": 7, "description": "Indicates the time period for which the vehicle rental rate applies (e.g., daily, weekly or monthly). Daily, Weekly and Monthly are valid values.\n" }, "commodityCode": { "type": "string", "maxLength": 15, "description": "Commodity code or International description code used to classify the item. Contact your acquirer for a list of\ncodes.\n" }, "customerServicePhoneNumber": { "type": "string", "maxLength": 17, "description": "Customer service telephone number that is used to resolve questions or disputes. Include the area code, exchange, and number.\nThis field is supported only for MasterCard and American Express.\n" }, "taxDetails": { "type": "object", "properties": { "amount": { "type": "string", "maxLength": 13, "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n" }, "rate": { "type": "string", "maxLength": 6, "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" }, "applied": { "type": "boolean", "description": "Flag that indicates whether the tax amount (`travelInformation.autoRental.taxDetails.amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: tax amount is not included in the request.\n- `true`: tax amount is included in the request.\n" }, "exemptionCode": { "type": "string", "maxLength": 1, "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n" }, "taxType": { "type": "string", "maxLength": 10, "description": "Different taxes the rental agency applies to the rental agreement such as tourist tax, airport tax, or rental tax.\n" }, "taxSummary": { "type": "string", "maxLength": 12, "description": "Summary of all tax types\n" } } }, "insuranceAmount": { "type": "string", "maxLength": 12, "description": "Insurance charges.\nField is conditional and can include decimal point.\n" }, "oneWayDropOffAmount": { "type": "string", "maxLength": 12, "description": "Extra charges incurred for a one-way rental agreement for the auto.\nThis field is supported only for Visa.\n" }, "adjustedAmountIndicator": { "type": "string", "maxLength": 1, "description": "For **MasterCard** and **Discover**:\nAdjusted amount indicator code that indicates\nany miscellaneous charges incurred after the\nauto was returned. Possible values:\n- `A` - Drop-off charges\n- `B` - Delivery charges\n- `C` - Parking expenses\n- `D` - Extra hours\n- `E` - Violations\n- `X` - More than one of the above charges\n\nFor **American Express**:\nAudit indicator code that indicates any\nadjustment for mileage, fuel, auto damage,\netc. made to a rental agreement and whether\nthe cardholder was notified.\n\nPossible value for the authorization service:\n- `A` (default): adjustment amount greater than 0 (zero)\n\nPossible values for the capture service:\n- `X` - Multiple adjustments\n- `Y` - One adjustment only; Cardmember notified\n- `Z` - One adjustment only; Cardmember not notified. This value is used as the default if the request does not include this field and includes an adjustment amount greater than 0 (zero).\nThis is an optional field.\n" }, "adjustedAmount": { "type": "string", "maxLength": 12, "description": "Adjusted Amount indicates whether any miscellaneous charges were incurred after the vehicle was returned.\n\nFor authorizations, this field is supported only for American Express.\n\nFor captures, this field is supported only for MasterCard and American Express.\n**NOTE** For American Express, this field is required if the `travelInformation.autoRental.adjustedAmountIndicator` field\nis included in the request and has a value; otherwise, this field is optional.\n\nFor all other card types, this field is ignored.\n" }, "fuelCharges": { "type": "string", "maxLength": 12, "description": "Extra gasoline charges that extend beyond the basic rental agreement.\nThis field is supported only for Visa.\n" }, "weeklyRentalRate": { "type": "string", "maxLength": 12, "description": "Weekly Rental Amount provides the amount charged for a seven-day rental period. Field - Time Period needs to be populated with Weekly if this field is present\n" }, "dailyRentalRate": { "type": "string", "maxLength": 12, "description": "Daily auto rental rate charged.\nThis field is supported only for MasterCard and American Express.\n\nField - Time Period needs to be populated with Daily if this field is present\n" }, "ratePerMile": { "type": "string", "maxLength": 12, "description": "Rate charged for each mile.\nThis field is supported only for MasterCard and American Express.\n" }, "mileageCharge": { "type": "string", "maxLength": 12, "description": "Regular Mileage Charge provides the amount charged for regular miles traveled during vehicle rental. Two decimal places\n" }, "extraMileageCharge": { "type": "string", "maxLength": 12, "description": "Extra mileage charges that extend beyond the basic rental agreement.\nThis field is supported only for Visa.\n" }, "lateFeeAmount": { "type": "string", "maxLength": 12, "description": "Extra charges related to a late return of the rented auto.\nThis field is supported only for Visa.\n" }, "towingCharge": { "type": "string", "maxLength": 4, "description": "(Towing Charges) provides the amount charged to tow the rental vehicle.\n" }, "extraCharge": { "type": "string", "maxLength": 12, "description": "(Extra Charges) provides the extra charges associated with the vehicle rental.\n" }, "gpsCharge": { "type": "string", "maxLength": 12, "description": "Amount charged for renting a Global Positioning Service (GPS).\n" }, "phoneCharge": { "type": "string", "maxLength": 12, "description": "Additional charges incurred for phone usage included on the total bill.\n" }, "parkingViolationCharge": { "type": "string", "maxLength": 12, "description": "Extra charges incurred due to a parking violation for the auto.\nThis field is supported only for Visa.\n" }, "otherCharges": { "type": "string", "maxLength": 12, "description": "Total amount charged for all other miscellaneous charges not previously defined.\n" }, "companyName": { "type": "string", "maxLength": 50, "description": "Merchant to send their auto rental company name\n" }, "affiliateName": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the affiliate name.\n" } } }, "lodging": { "type": "object", "properties": { "checkInDate": { "type": "string", "maxLength": 6, "description": "Date on which the guest checked in. In the case of a no-show or a reservation, the scheduled arrival date.\nFormat: `MMDDYY`. For best interchange rates, make sure it is a valid date.\n" }, "checkOutDate": { "type": "string", "maxLength": 6, "description": "Date on which the guest checked out.\nFormat: `MMDDYY`. For best interchange rates, make sure it is a valid date.\n" }, "room": { "type": "array", "description": "The object containing the number of nights and the daily rate that applies for that no of nights.\n", "items": { "type": "object", "properties": { "dailyRate": { "type": "string", "maxLength": 8, "description": "Daily cost of the room.\n" }, "numberOfNights": { "type": "integer", "minimum": 1, "maximum": 9999, "description": "Number of nights billed at the rate specified by `travelInformation.lodging.room[].dailyRate`.\n" } } } }, "smokingPreference": { "type": "string", "maxLength": 1, "description": "Smoking preference of the guest.\nPossible values:\n- `Y`: smoking room\n- `N`: non-smoking room\n" }, "numberOfRooms": { "type": "integer", "minimum": 1, "maximum": 99, "description": "Number of rooms booked by the cardholder.\n" }, "numberOfGuests": { "type": "integer", "minimum": 1, "maximum": 99, "description": "Number of guests staying in the room.\n" }, "roomBedType": { "type": "string", "maxLength": 12, "description": "Type of room, such as queen, king, or two doubles.\n" }, "roomTaxType": { "type": "string", "maxLength": 10, "description": "Type of tax, such as tourist or hotel.\n" }, "roomRateType": { "type": "string", "maxLength": 12, "description": "Type of rate, such as corporate or senior citizen.\n" }, "guestName": { "type": "string", "maxLength": 40, "description": "Name of the guest under which the room is reserved.\n" }, "customerServicePhoneNumber": { "type": "string", "maxLength": 17, "description": "Your toll-free customer service phone number.\n" }, "corporateClientCode": { "type": "string", "maxLength": 17, "description": "Code assigned to a business. You can use this code to identify corporate rates and discounts for guests.\n" }, "additionalDiscountAmount": { "type": "string", "maxLength": 12, "description": "Amount of an additional coupon or discount.\n" }, "roomLocation": { "type": "string", "maxLength": 10, "description": "Location of room, such as lake view or ocean view.\n" }, "specialProgramCode": { "type": "string", "maxLength": 1, "description": "Code that identifies special circumstances.\nPossible values:\n- `1`: lodging (default)\n- `2`: no show reservation\n- `3`: advanced deposit\n" }, "totalTaxAmount": { "type": "string", "maxLength": 12, "description": "Total tax amount.\n" }, "prepaidCost": { "type": "string", "maxLength": 12, "description": "Prepaid amount, such as a deposit.\n" }, "foodAndBeverageCost": { "type": "string", "maxLength": 12, "description": "Cost for all food and beverages.\n" }, "roomTaxAmount": { "type": "string", "maxLength": 12, "description": "Total tax for the room.\n" }, "adjustmentAmount": { "type": "string", "maxLength": 12, "description": "Adjusted amount charged in addition to the reservation amount after the stay is complete.\n" }, "phoneCost": { "type": "string", "maxLength": 12, "description": "Cost of telephone services.\n" }, "restaurantCost": { "type": "string", "maxLength": 12, "description": "Cost of restaurant purchases\n" }, "roomServiceCost": { "type": "string", "maxLength": 12, "description": "Cost of room service.\n" }, "miniBarCost": { "type": "string", "maxLength": 12, "description": "Cost of mini-bar purchases.\n" }, "laundryCost": { "type": "string", "maxLength": 12, "description": "Cost of laundry services.\n" }, "miscellaneousCost": { "type": "string", "maxLength": 12, "description": "Miscellaneous costs.\n" }, "giftShopCost": { "type": "string", "maxLength": 12, "description": "Cost of gift shop purchases.\n" }, "movieCost": { "type": "string", "maxLength": 12, "description": "Cost of movies.\n" }, "healthClubCost": { "type": "string", "maxLength": 12, "description": "Cost of health club services.\n" }, "valetParkingCost": { "type": "string", "maxLength": 12, "description": "Cost of valet parking services.\n" }, "cashDisbursementCost": { "type": "string", "maxLength": 12, "description": "Cost of the cash that was disbursed plus any associated service fees\n" }, "nonRoomCost": { "type": "string", "maxLength": 12, "description": "Cost of non-room purchases, such as meals and gifts.\n" }, "businessCenterCost": { "type": "string", "maxLength": 12, "description": "Cost of business center services.\n" }, "loungeBarCost": { "type": "string", "maxLength": 12, "description": "Cost of lounge and bar purchases.\n" }, "transportationCost": { "type": "string", "maxLength": 12, "description": "Cost of transportation services.\n" }, "gratuityAmount": { "type": "string", "maxLength": 12, "description": "Gratuity.\n" }, "conferenceRoomCost": { "type": "string", "maxLength": 12, "description": "Cost of conference room services.\n" }, "audioVisualCost": { "type": "string", "maxLength": 12, "description": "Cost of audio visual services.\n" }, "banquestCost": { "type": "string", "maxLength": 12, "description": "Cost of banquet services.\n" }, "nonRoomTaxAmount": { "type": "string", "maxLength": 12, "description": "Tax on non-room purchases.\n" }, "earlyCheckOutCost": { "type": "string", "maxLength": 12, "description": "Service fee for early departure.\n" }, "internetAccessCost": { "type": "string", "maxLength": 12, "description": "Cost of Internet access.\n" }, "name": { "type": "string", "maxLength": 255, "description": "Name of the hotel for which the reservation is for. Mandatory in case the\nmerchant's business type is Hotel.\n" }, "hotelName": { "type": "string", "description": "The name of the hotel for which the reservation was made.\n" }, "checkInDateTime": { "type": "string", "description": "The date of the check-in in GMT+8 offset.\n" }, "checkOutDateTime": { "type": "string", "description": "The date of the check-out in GMT+8 offset.\n" } } }, "transit": { "type": "object", "properties": { "airline": { "type": "object", "properties": { "isDomestic": { "type": "string", "maxLength": 255, "description": "Specifies if the flight is:\nDomestic (01)\nInternational (02)\nIf Y then 01 else 02\n" }, "bookingReferenceNumber": { "type": "string", "maxLength": 15, "description": "Reference number for the airline booking.\nRequired if ticket numbers are not issued.\n" }, "carrierName": { "type": "string", "maxLength": 15, "description": "Airline that generated the ticket.\nFormat: English characters only.\nOptional request field.\n" }, "ticketIssuer": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 4, "description": "IATA2 airline code.\nFormat: English characters only.\nRequired for Mastercard; optional for all other card types.\n" }, "name": { "type": "string", "maxLength": 20, "description": "Name of the ticket issuer. If you do not include this field,\nCyberSource uses the value for your merchant name that is in the CyberSource merchant configuration database.\n" }, "address": { "type": "string", "maxLength": 16, "description": "Address of the company issuing the ticket.\n" }, "locality": { "type": "string", "maxLength": 18, "description": "City in which the transaction occurred.\nIf the name of the city exceeds 18 characters, use meaningful abbreviations.\nFormat: English characters only.\nOptional request field.\n" }, "administrativeArea": { "type": "string", "maxLength": 18, "description": "State in which transaction occured.\n" }, "postalCode": { "type": "string", "maxLength": 15, "description": "Zip code of the city in which transaction occured.\n" }, "country": { "type": "string", "maxLength": 18, "description": "Country in which transaction occured.\n" } } }, "ticketNumber": { "type": "string", "maxLength": 15, "description": "Ticket number.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" }, "checkDigit": { "type": "string", "maxLength": 1, "description": "Check digit for the ticket number. CyberSource recommends that you validate the check digit.\nWith Discover and Diners Club, a valid ticket number has these characteristics:\n- The value is numeric.\n- The first three digits are a valid IATA2 license plate carrier code.\n- The last digit is a check digit or zero (0).\n- All remaining digits are nonzero.\n" }, "restrictedTicketIndicator": { "type": "integer", "maxLength": 1, "description": "Flag that indicates whether or not the ticket is restricted (nonrefundable).\nPossible values:\n- 0: No restriction (refundable)\n- 1: Restricted (nonrefundable)\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" }, "transactionType": { "type": "integer", "maxLength": 2, "description": "Type of charge.\nPossible values:\n- 01: Charge is for an airline ticket\n- 02: Charge is for an item that is not an airline ticket\n" }, "extendedPaymentCode": { "type": "string", "maxLength": 3, "description": "The field is not currently supported.\n" }, "passengerName": { "type": "string", "maxLength": 42, "description": "Name of the passenger to whom the ticket was issued. This will always be a single passenger's name.\nIf there are more than one passengers, provide only the primary passenger's name.\nDo not include special characters such as commas, hyphens, or apostrophes.\nOnly ASCII characters are supported.\nFormat: English characters only.\nOptional request field.\n" }, "customerCode": { "type": "string", "maxLength": 40, "description": "Reference number or code that identifies the cardholder.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" }, "documentType": { "type": "string", "maxLength": 1, "description": "Airline document type code that specifies the purpose of the transaction.\nFormat: English characters only.\nOptional request field.\n\n| Code | Description |\n| --- | --- |\n| 01 | Passenger ticket |\n| 02 | Additional collection |\n| 03 | Excess baggage |\n| 04 | Miscellaneous charge order (MCO) or prepaid ticket authorization |\n| 05 | Special service ticket |\n| 06 | Supported refund |\n| 07 | Unsupported refund |\n| 08 | Lost ticket application |\n| 09 | Tour order voucher |\n| 10 | Ticket by mail |\n| 11 | Undercharge adjustment |\n| 12 | Group ticket |\n| 13 | Exchange adjustment |\n| 14 | SPD or air freight |\n| 15 | In-flight adjustment |\n| 16 | Agency passenger ticket |\n| 17 | Agency tour order or voucher |\n| 18 | Agency miscellaneous charge order (MCO) |\n| 19 | Agency exchange order |\n| 20 | Agency group ticket |\n| 21 | Debit adjustment for duplicate refund or use |\n| 22 | In-flight merchandise order |\n| 23 | Catalogue merchandise order |\n| 24 | In-flight phone charges |\n| 25 | Frequent flyer fee or purchase |\n| 26 | Kennel charge |\n| 27 | Animal transportation charge |\n| 28 | Firearms case |\n| 29 | Upgrade charge |\n| 30 | Credit for unused transportation |\n| 31 | Credit for class of service adjustment |\n| 32 | Credit for denied boarding |\n| 33 | Credit for miscellaneous refund |\n| 34 | Credit for lost ticket refund |\n| 35 | Credit for exchange refund |\n| 36 | Credit for overcharge adjustment |\n| 37 | Credit for multiple Unused tickets |\n| 38 | Exchange order |\n| 39 | Self-service ticket |\n| 41 | In-flight duty-free purchase |\n| 42 | Senior citizen discount booklets |\n| 43 | Club membership fee |\n| 44 | Coupon book |\n| 45 | In-flight charges |\n| 46 | Tour deposit |\n| 47 | Frequent flyer overnight delivery charge |\n| 48 | Frequent flyer fulfillment |\n| 49 | Small package delivery |\n| 50 | Vendor sale |\n| 51 | Miscellaneous taxes or fees |\n| 52 | Travel agency fee |\n| 60 | Vendor refund or credit |\n| 64 | Duty free sale |\n| 65 | Preferred seat upgrade |\n| 66 | Cabin upgrade |\n| 67 | Lounge or club access or day pass |\n| 68 | Agent assisted reservation or ticketing fee |\n| 69 | Ticket change or cancel fee |\n| 70 | Trip insurance |\n| 71 | Unaccompanied minor |\n| 72 | Standby fee |\n| 73 | Curbside baggage |\n| 74 | In-flight medical equipment |\n| 75 | Ticket or pass print fee |\n| 76 | Checked sporting or special equipment |\n| 77 | Dry ice fee |\n| 78 | Mail or postage fee |\n| 79 | Club membership fee or temporary trial |\n| 80 | Frequent flyer activation or reinstatement |\n| 81 | Gift certificate |\n| 82 | Onboard or in-flight prepaid voucher |\n| 83 | Optional services fee |\n| 84 | Advance purchase for excess baggage |\n| 85 | Advance purchase for preferred seat upgrade |\n| 86 | Advance purchase for cabin upgrade |\n| 87 | Advance purchase for optional services |\n| 88 | WiFi |\n| 89 | Packages |\n| 90 | In-flight entertainment or internet access |\n| 91 | Overweight bag fee |\n| 92 | Sleep sets |\n| 93 | Special purchase fee |\n" }, "documentNumber": { "type": "string", "maxLength": 14, "description": "The field is not currently supported.\n" }, "documentNumberOfParts": { "type": "integer", "maxLength": 4, "description": "The field is not currently supported.\n" }, "invoiceNumber": { "type": "string", "maxLength": 25, "description": "Invoice number for the airline transaction.\n" }, "invoiceDate": { "type": "integer", "maxLength": 8, "description": "Invoice date. The format is YYYYMMDD.\nIf this value is\nincluded in the request, it is used in the creation of the invoice number. See \"Invoice Number,\"\n" }, "additionalCharges": { "type": "string", "maxLength": 20, "description": "Description of the charge if the charge does not involve an airline ticket.\nFor example: Excess baggage.\n" }, "totalFeeAmount": { "type": "string", "maxLength": 12, "description": "Total fee for the ticket. This value cannot exceed `99999999999999999999` (twenty 9s).\nFormat: English characters only.\nOptional request field.\n" }, "clearingSequence": { "type": "string", "maxLength": 2, "description": "Number that identifies the clearing message when multiple clearing messages are allowed per authorized transaction.\nEach clearing message linked to one authorization request must include a unique clearing sequence number between 1 and the total number of clearing records.\nFormat: English characters only.\nOptional request field.\n" }, "clearingCount": { "type": "string", "maxLength": 2, "description": "Total number of clearing messages associated with the authorization request.\nFormat: English characters only.\nOptional request field.\n" }, "totalClearingAmount": { "type": "string", "maxLength": 20, "description": "Total clearing amount for all transactions in the clearing count set.\nThis value cannot exceed `99999999999999999999` (twenty 9s).\nFormat: English characters only.\nIf this field is not set and if the total amount from the original authorization is not NULL,\nthe total clearing amount is set to the total amount from the original authorization.\n" }, "numberOfPassengers": { "type": "integer", "maxLength": 3, "description": "Number of passengers for whom the ticket was issued.\nFormat: English characters only.\nOptional request field.\n" }, "reservationSystemCode": { "type": "string", "maxLength": 20, "description": "Code that specifies the computerized reservation system used to make the reservation and purchase the ticket.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" }, "processIdentifier": { "type": "string", "maxLength": 3, "description": "Airline process identifier. This value is the airline's three-digit IATA1 code\nwhich is used to process extended payment airline tickets.\n" }, "ticketIssueDate": { "type": "string", "maxLength": 8, "description": "Date on which the transaction occurred.\nFormat: `YYYYMMDD`\nFormat: English characters only.\nOptional request field.\n" }, "electronicTicketIndicator": { "type": "boolean", "description": "Flag that indicates whether an electronic ticket was issued.\nPossible values:\n- `true`\n- `false`\nOptional request field.\n" }, "originalTicketNumber": { "type": "string", "maxLength": 14, "description": "Original ticket number when the transaction is for a replacement ticket.\n" }, "purchaseType": { "type": "string", "maxLength": 3, "description": "Type of purchase. Possible values:\n- `EXC`: Exchange ticket\n- `MSC`: Miscellaneous (not a ticket purchase and not a transaction related to an exchange ticket)\n- `REF`: Refund\n- `TKT`: Ticket\nFormat: English characters only.\nOptional request field.\n" }, "creditReasonIndicator": { "type": "string", "maxLength": 1, "description": "Reason for the credit.\nPossible values:\n- `A`: Cancellation of the ancillary passenger transport purchase.\n- `B`: Cancellation of the airline ticket and the passenger transport ancillary purchase.\n- `C`: Cancellation of the airline ticket.\n- `O`: Other.\n- `P`: Partial refund of the airline ticket.\nFormat: English characters only.\n\nOptional request field.\n" }, "ticketChangeIndicator": { "type": "string", "maxLength": 1, "description": "Type of update.\nPossible values:\n- `C`: Change to the existing ticket.\n- `N`: New ticket.\nFormat: English characters only\nOptional request field.\n" }, "planNumber": { "type": "string", "maxLength": 1, "description": "Plan number based on the fare.\nThis value is provided by the airline.\nFormat: English characters only.\nOptional request field.\n" }, "arrivalDate": { "type": "string", "maxLength": 8, "description": "Date of arrival for the last leg of the trip.\nFormat: `MMDDYYYY`\nEnglish characters only.\nOptional request field.\n" }, "restrictedTicketDesciption": { "type": "string", "maxLength": 20, "description": "Text that describes the ticket limitations, such as _nonrefundable_.\nFormat: English characters only.\nOptional request field.\n" }, "exchangeTicketAmount": { "type": "string", "maxLength": 12, "description": "Amount of the exchanged ticket.\nFormat: English characters only.\n" }, "exchangeTicketFeeAmount": { "type": "string", "maxLength": 12, "description": "Fee for exchanging the ticket.\nFormat: English characters only.\nOptional request field.\n" }, "reservationType": { "type": "string", "maxLength": 32, "description": "The field is not currently supported.\n" }, "boardingFeeAmount": { "type": "string", "maxLength": 12, "description": "Boarding fee.\n" }, "legs": { "type": "array", "items": { "type": "object", "properties": { "carrierCode": { "type": "string", "maxLength": 4, "description": "IATA code for the carrier for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "flightNumber": { "type": "string", "maxLength": 6, "description": "Flight number for this leg of the trip.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "originatingAirportCode": { "type": "string", "maxLength": 5, "description": "IATA code for the originating airport for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "class": { "type": "string", "maxLength": 3, "description": "IATA code for the class of service for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "stopoverIndicator": { "type": "integer", "maxLength": 1, "description": "Code that indicates whether a stopover is allowed on this leg of the trip. Possible values:\n- `O` (capital letter \"O\") (default): Stopover allowed\n- `X` (capital letter \"X\"): Stopover not allowed\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "departureDate": { "type": "integer", "maxLength": 8, "description": "Departure date for the first leg of the trip.\nFormat: `YYYYMMDD`.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "destinationAirportCode": { "type": "string", "maxLength": 3, "description": "IATA code for the destination airport for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "fareBasis": { "type": "string", "maxLength": 15, "description": "Code for the fare basis for this leg of the trip.\nThe fare basis is assigned by the carriers and indicates a particular ticket type,\nsuch as business class or discounted/nonrefundable.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nFormat: English characters only.\nOptional request field for travel legs.auto_rental_regular_mileage_cost\n" }, "departTaxAmount": { "type": "string", "maxLength": 12, "description": "Amount of departure tax for this leg of the trip.\n" }, "conjunctionTicket": { "type": "string", "maxLength": 25, "description": "Ticket that contains additional coupons for this leg of the trip on an itinerary that has more than four segments.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "exchangeTicketNumber": { "type": "string", "maxLength": 25, "description": "New ticket number that is issued when the ticket is exchanged for this leg of the trip.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "couponNumber": { "type": "string", "maxLength": 1, "description": "Coupon number. Each leg on the ticket requires a separate coupon, and each coupon is identified by the coupon number.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "departureTime": { "type": "integer", "maxLength": 4, "description": "Time of departure for this leg of the trip. The format is military time and HHMM:\nIf not all zeros, then the hours must be `00-23` and the minutes must be `00-59`.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "departureTimeMeridian": { "type": "string", "maxLength": 1, "description": "AM or PM for the departure time.\nPossible values:\n- A: 12:00 midnight to 11:59 a.m.\n- P: 12:00 noon to 11:59 p.m\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "arrivalTime": { "type": "integer", "maxLength": 4, "description": "Time of arrival for this leg of the trip.\nThe format is military time and HHMM:\nIf not all zeros, then the hours must be `00-23` and the minutes must be `00-59`\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "arrivalTimeMeridian": { "type": "string", "maxLength": 1, "description": "AM or PM for the arrival time for this leg of the trip.\nPossible values:\n- `A`: 12:00 midnight to 11:59 a.m.\n- `P`: 12:00 noon to 11:59 p.m.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "endorsementsRestrictions": { "type": "string", "maxLength": 20, "description": "Notes or notations about endorsements and restrictions for this leg of the trip.\nEndorsements can be notations added by the travel agency, including mandatory government-required notations such as value added tax.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "totalFareAmount": { "type": "string", "maxLength": 15, "description": "Total fare for this leg of the trip.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "feeAmount": { "type": "string", "maxLength": 12, "description": "Fee for this leg of the trip, such as an airport fee or country fee.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "taxAmount": { "type": "string", "maxLength": 12, "description": "Tax for this leg of the trip.\nFormat: English characters only.\nOptional request field for travel legs.\n" } } } }, "ancillaryInformation": { "type": "object", "properties": { "ticketNumber": { "type": "string", "maxLength": 15, "description": "Ticket number, which consists of the carrier code, form, and serial number, without the check digit.\n**Important** This field is required in the U.S. in order for you to qualify for either the\ncustom payment service (CPS) or the electronic interchange reimbursement fee (EIRF) program.\nFormat: English characters only.\nOptional field for ancillary services.\n" }, "passengerName": { "type": "string", "maxLength": 20, "description": "Name of the passenger. If the passenger's name is not available, this value is the cardholder's name. If neither the passenger's name nor the cardholder's name is available,\nthis value is a description of the ancillary purchase.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom payment service (CPS) or the electronic interchange reimbursement fee (EIRF)\nprogram.\nFormat: English characters only.\nOptional field for ancillary service.\n" }, "connectedTicketNumber": { "type": "string", "maxLength": 15, "description": "Number for the airline ticket to which the ancillary purchase is connected.\n\nIf this purchase has a connection or relationship to another purchase such as a baggage fee for a passenger transport ticket, this field must contain the ticket number for the other purchase.\n\nFor a stand-alone purchase, the value for this field must be the same as the value for the `travelInformation.transit.airline.ancillaryInformation.ticketNumber` field.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom payment service (CPS) or the electronic interchange reimbursement fee (EIRF)\nprogram.\nFormat: English characters only.\nOptional request field for ancillary services.\n" }, "creditReasonIndicator": { "type": "string", "maxLength": 15, "description": "Reason for the credit.\nPossible values:\n- `A`: Cancellation of the ancillary passenger transport purchase.\n- `B`: Cancellation of the airline ticket and the passenger transport ancillary purchase.\n- `C`: Cancellation of the airline ticket.\n- `O`: Other.\n- `P`: Partial refund of the airline ticket.\nFormat: English characters only.\nOptional field for ancillary services.\n" }, "service": { "type": "array", "items": { "type": "object", "properties": { "categoryCode": { "type": "string", "maxLength": 4, "description": "Category code for the ancillary service that is provided. Obtain the codes from the International\nAir Transport Association (IATA).\n**Note** `#` is either 0, 1, 2, or 3.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom\npayment service (CPS) or the electronic interchange reimbursement fee (EIRF)program.\nFormat: English characters only.\nOptional request field for ancillary services.\n" }, "subCategoryCode": { "type": "string", "maxLength": 4, "description": "Subcategory code for the ancillary service category. Obtain the codes from the International\nAir Transport Association (IATA).\n**Note** `#` is either 0, 1, 2, or 3.\nFormat English characters only.\nOptional request field for ancillary services.\n" } } } } } }, "flightType": { "type": "string", "maxLength": 2, "description": "Specifies the type of flight.\nOne way (0)\nReturn (1)\nTransit (2)\nTransit & Return (3)\nMulti-City (4)\n" }, "insuranceAmount": { "type": "string", "maxLength": 255, "description": "The total cost of the flight insurance. Example: 10000.00\n" }, "frequentFlyerNumber": { "type": "string", "maxLength": 255, "description": "The consumer's frequent flyer number. Leave 0 if there is no\nfrequent flyer number\n" }, "thirdPartyStatus": { "type": "string", "maxLength": 255, "description": "Specifies if the travel agent joins the flight (0) or not (1)\n" }, "passengerType": { "type": "string", "maxLength": 50, "description": "List of passenger types in a booking code:\nA (Adult)\nC (Child)\nComma separated values for total number of passenger\n" }, "totalInsuranceAmount": { "type": "string", "maxLength": 50, "description": "Total insurance amount. We have per leg and not total\n" } } } } }, "vehicleData": { "type": "object", "properties": { "connectorType": { "type": "string", "maxLength": 3, "description": "This field will contain connector type values for electric vehicle transactions.\n\nPossible Values:\n001 (AC - J1772 Type 1)\n002 (AC - Mennekes - Type 2)\n003 (AC - GB/T)\n100 (DC - CCS1)\n101 (DC - CHAdeMO)\n102 (DC - CCS2)\n103 (DC - GB/T)\n200 (NACS \u2013 Tesla)\n" }, "chargingReasonCode": { "type": "string", "maxLength": 3, "description": "This field will contain charging reason code values for electric vehicle transactions.\n\nPossible Values:\n010 (Other Error)\n011 (Connector Lock Failure)\n012 (EV Communication Error)\n013 (Ground Failure)\n014 (High Temperature)\n015 (Internal Error)\n016 (Over Current Failure)\n017 (Over Voltage)\n018 (Power Meter Failure)\n019 (Power Switch Failure)\n020 (Reader Failure)\n021 (Reset Failure)\n022 (Under Voltage)\n023 (Weak Signal)\n100 (No Error)\n200 (Payment Related Error)\n" } } } } }, "promotionInformation": { "type": "object", "properties": { "additionalCode": { "type": "string", "maxLength": 12, "description": "Additional rental agency marketed coupons for consumers to discount the rate of the vehicle rental agreement.\n" }, "code": { "type": "string", "maxLength": 12, "description": "Code for a promotion or discount.\n" } } } }, "example": { "clientReferenceInformation": { "code": "TC50171_3" }, "orderInformation": { "amountDetails": { "totalAmount": "102.21", "currency": "USD" } } }, "x-example": { "example0": { "summary": "Capture a Payment", "value": { "clientReferenceInformation": { "code": "TC50171_3" }, "orderInformation": { "amountDetails": { "totalAmount": "102.21", "currency": "USD" } } }, "depends": { "example": { "path": "/pts/v2/payments", "verb": "post", "exampleId": "example0" }, "fieldMapping": [ { "sourceField": "id", "destinationField": "id", "fieldTypeInDestination": "path" } ] } }, "example1": { "summary": "Capture a Payment - Service Fee", "value": { "clientReferenceInformation": { "code": "TC50171_3" }, "orderInformation": { "amountDetails": { "totalAmount": "2325.00", "currency": "USD", "serviceFeeAmount": "30.0" } }, "merchantInformation": { "serviceFeeDescriptor": { "name": "Vacations Service Fee", "contact": 8009999999, "state": "CA" } } }, "depends": { "example": { "path": "/pts/v2/payments", "verb": "post", "exampleId": "example14" }, "fieldMapping": [ { "sourceField": "id", "destinationField": "id", "fieldTypeInDestination": "path" } ] } }, "example2": { "summary": "Capture of Authorization that used Swiped track data", "sample-name": "Capture of Authorization that used Swiped track data", "value": { "clientReferenceInformation": { "code": "1234567890", "partner": { "thirdPartyCertificationNumber": "123456789012" } }, "orderInformation": { "amountDetails": { "totalAmount": 100, "currency": "USD" } } }, "parentTag": "Card Present with Visa Platform Connect" }, "example3": { "summary": "Restaurant Capture with Gratuity", "sample-name": "Restaurant Capture with Gratuity", "value": { "clientReferenceInformation": { "code": 1234567890, "partner": { "thirdPartyCertificationNumber": 123456789012 } }, "processingInformation": { "industryDataType": "restaurant" }, "orderInformation": { "amountDetails": { "totalAmount": 100, "currency": "USD", "gratuityAmount": "11.50" } } }, "parentTag": "Card Present with Visa Platform Connect" } } } }, { "name": "id", "in": "path", "description": "The payment ID returned from a previous payment request. This ID links the capture to the payment.\n", "required": true, "type": "string" } ], "responses": { "201": { "description": "Successful response.", "schema": { "title": "ptsV2PaymentsCapturesPost201Response", "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." } } }, "void": { "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." } } }, "refund": { "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.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - PENDING\n - TRANSMITTED (Only for Online Capture enabled merchants)\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "submitLocalDateTime": { "type": "string", "maxLength": 14, "description": "Date and time at your physical location.\n\nFormat: `YYYYMMDDhhmmss`, where YYYY = year, MM = month, DD = day, hh = hour, mm = minutes ss = seconds\n\n#### PIN Debit\nOptional field for PIN Debit purchase and credit requests.\n" }, "ownerMerchantId": { "type": "string", "description": "Merchant ID that was used to create the subscription or customer profile for which the service was requested.\n\nIf your CyberSource account is enabled for Recurring Billing, this field is returned only if you are using\nsubscription sharing and if your merchant ID is in the same merchant ID pool as the owner merchant ID.\n\nIf your CyberSource account is enabled for Payment Tokenization, this field is returned only if you are using\nprofile sharing and if your merchant ID is in the same merchant ID pool as the owner merchant ID.\n" } } }, "processorInformation": { "type": "object", "properties": { "transactionId": { "type": "string", "maxLength": 18, "description": "Processor transaction ID.\n\nThis value identifies the transaction on a host system. This value is supported only for Moneris. It contains\nthis information:\n\n - Terminal used to process the transaction\n - Shift during which the transaction took place\n - Batch number\n - Transaction number within the batch\n\nYou must store this value. If you give the customer a receipt, display this value on the receipt.\n\nExample For the value 66012345001069003:\n\n - Terminal ID = 66012345\n - Shift number = 001\n - Batch number = 069\n - Transaction number = 003\n" }, "networkTransactionId": { "description": "Network Transaction Identifier\nApplicable for online capture transactions only.\n", "type": "string" }, "responseDetails": { "type": "string", "maxLength": 60, "description": "The processor code that describes why the transaction state is pending or reversed.\n" }, "responseCode": { "type": "string", "maxLength": 10, "description": "For most processors, this is the error message sent directly from the bank. Returned only when the processor\nreturns this value.\n\n**Important** Do not use this field to evaluate the result of the authorization.\n\n#### PIN debit\nResponse value that is returned by the processor or bank.\n**Important** Do not use this field to evaluate the results of the transaction request.\n\nReturned by PIN debit credit, PIN debit purchase, and PIN debit reversal.\n\n#### AIBMS\nIf this value is `08`, you can accept the transaction if the customer provides you with identification.\n\n#### Atos\nThis value is the response code sent from Atos and it might also include the response code from the bank.\nFormat: `aa,bb` with the two values separated by a comma and where:\n- `aa` is the two-digit error message from Atos.\n- `bb` is the optional two-digit error message from the bank.\n\n#### Comercio Latino\nThis value is the status code and the error or response code received from the processor separated by a colon.\nFormat: [status code]:E[error code] or [status code]:R[response code]\nExample `2:R06`\n\n#### JCN Gateway\nProcessor-defined detail error code. The associated response category code is in the `processorInformation.responseCategoryCode` field.\nString (3)\n" }, "providerResponse": { "type": "string", "description": "Processor response to the API request.\n" } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 15, "description": "Amount you requested for the capture.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "processorTransactionFee": { "type": "string", "maxLength": 15, "description": "The fee decided by the PSP/Processor per transaction." } } }, "invoiceDetails": { "type": "object", "properties": { "level3TransmissionStatus": { "type": "boolean", "description": "Indicates whether CyberSource sent the Level III information to the processor. The possible values are:\n\nIf your account is not enabled for Level III data or if you did not include the purchasing level field in your\nrequest, CyberSource does not include the Level III data in the request sent to the processor.\n\nPossible values:\n- **true**\n- **false**\n" } } } } }, "pointOfSaleInformation": { "type": "object", "properties": { "terminalId": { "type": "string", "maxLength": 8, "description": "Identifier for the terminal at your retail location. You can define this value yourself, but consult the processor for requirements.\n\n#### CyberSource through VisaNet\nA list of all possible values is stored in your CyberSource account. If terminal ID validation is enabled for\nyour CyberSource account, the value you send for this field is validated against the list each time you include\nthe field in a request. To enable or disable terminal ID validation, contact CyberSource Customer Support.\n\nWhen you do not include this field in a request, CyberSource uses the default value that is defined in your CyberSource account.\n\n#### FDC Nashville Global\nTo have your account configured to support this field, contact CyberSource Customer Support. This value must be a value that FDC Nashville Global issued to you.\n\n#### For Payouts\nThis field is applicable for CyberSource through VisaNet.\n\n#### GPX\nIdentifier for the terminal at your retail location. A list of all possible values is stored in your account.\nIf terminal ID validation is enabled for your account, the value you send for this field is validated against\nthe list each time you include the field in a request. To enable or disable terminal ID validation, contact\ncustomer support.\n\nWhen you do not include this field in a request, the default value that is defined in your account is used.\n\nOptional for authorizations.\n\n#### Used by\n**Authorization**\nOptional for the following processors. When you do not include this field in a request, the default value that is\ndefined in your account is used.\n - American Express Direct\n - Credit Mutuel-CIC\n - FDC Nashville Global\n - SIX\n- Chase Paymentech Solutions: Optional field. If you include this field in your request, you must also include `pointOfSaleInformation.catLevel`.\n- FDMS Nashville: The default value that is defined in your account is used.\n- GPX\n- OmniPay Direct: Optional field.\n\nFor the following processors, this field is not used.\n- GPN\n- JCN Gateway\n- RBS WorldPay Atlanta\n- TSYS Acquiring Solutions\n- Worldpay VAP\n\n#### Card Present reply\nTerminal identifier assigned by the acquirer. This value must be printed on the receipt.\n" } } }, "processingInformation": { "type": "object", "properties": { "enhancedDataEnabled": { "type": "boolean", "description": "The possible values for the reply field are:\n- `true` : the airline data was included in the request to the processor.\n- `false` : the airline data was not included in the request to the processor.\n\nReturned by authorization, capture, or credit services.\n" } } } }, "example": { "_links": { "self": { "href": "/pts/v2/captures/4963014519526177701545", "method": "GET" }, "refund": { "href": "/pts/v2/captures/4963014519526177701545/refunds", "method": "POST" }, "void": { "href": "/pts/v2/captures/4963014519526177701545/voids", "method": "POST" } }, "id": "4963014519526177701545", "submitTimeUtc": "2017-06-01T071731Z", "status": "200", "reconciliationId": "39570715X3E1LBQA", "statusInformation": { "reason": "SUCCESS", "message": "Successful transaction." }, "clientReferenceInformation": { "code": "TC50171_3" }, "orderInformation": { "amountDetails": { "totalAmount": "102.21", "currency": "USD" } } } } }, "400": { "description": "Invalid request.", "schema": { "type": "object", "title": "ptsV2PaymentsCapturesPost400Response", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_MERCHANT_CONFIGURATION\n - EXCEEDS_AUTH_AMOUNT\n - AUTH_ALREADY_REVERSED\n - TRANSACTION_ALREADY_SETTLED\n - INVALID_AMOUNT\n - MISSING_AUTH\n - TRANSACTION_ALREADY_REVERSED_OR_SETTLED\n - NOT_SUPPORTED\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" } } } } } } }, "502": { "description": "Unexpected system error or system timeout.", "schema": { "title": "ptsV2PaymentsCapturesPost502Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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": "Capture a Payment", "value": { "clientReferenceInformation": { "code": "TC50171_3" }, "orderInformation": { "amountDetails": { "totalAmount": "102.21", "currency": "USD" } } }, "depends": { "example": { "path": "/pts/v2/payments", "verb": "post", "exampleId": "example0" }, "fieldMapping": [ { "sourceField": "id", "destinationField": "id", "fieldTypeInDestination": "path" } ] } }, "example1": { "summary": "Capture a Payment - Service Fee", "value": { "clientReferenceInformation": { "code": "TC50171_3" }, "orderInformation": { "amountDetails": { "totalAmount": "2325.00", "currency": "USD", "serviceFeeAmount": "30.0" } }, "merchantInformation": { "serviceFeeDescriptor": { "name": "Vacations Service Fee", "contact": 8009999999, "state": "CA" } } }, "depends": { "example": { "path": "/pts/v2/payments", "verb": "post", "exampleId": "example14" }, "fieldMapping": [ { "sourceField": "id", "destinationField": "id", "fieldTypeInDestination": "path" } ] } }, "example2": { "summary": "Capture of Authorization that used Swiped track data", "sample-name": "Capture of Authorization that used Swiped track data", "value": { "clientReferenceInformation": { "code": "1234567890", "partner": { "thirdPartyCertificationNumber": "123456789012" } }, "orderInformation": { "amountDetails": { "totalAmount": 100, "currency": "USD" } } }, "parentTag": "Card Present with Visa Platform Connect" }, "example3": { "summary": "Restaurant Capture with Gratuity", "sample-name": "Restaurant Capture with Gratuity", "value": { "clientReferenceInformation": { "code": 1234567890, "partner": { "thirdPartyCertificationNumber": 123456789012 } }, "processingInformation": { "industryDataType": "restaurant" }, "orderInformation": { "amountDetails": { "totalAmount": 100, "currency": "USD", "gratuityAmount": "11.50" } } }, "parentTag": "Card Present with Visa Platform Connect" } } } }, "/pts/v2/payments/{id}/refunds": { "post": { "summary": "Refund a Payment", "description": "Refund a Payment API is only used, if you have requested Authorization and Capture together in [/pts/v2/payments](https://developer.cybersource.com/api-reference-assets/index.html#payments_payments) API call. Include the payment ID in the POST request to refund the payment amount.\n", "tags": [ "refund" ], "operationId": "refundPayment", "x-devcenter-metaData": { "categoryTag": "Payments", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/payments/developer/ctv/rest/payments/payments-intro.html" }, "parameters": [ { "name": "refundPaymentRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" }, "returnReconciliationId": { "type": "string", "description": "A new ID which is created for refund" }, "pausedRequestId": { "type": "string", "maxLength": 26, "description": "Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call.\n" }, "transactionId": { "type": "string", "maxLength": 30, "description": "Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request.\n\n**Note** Use this field only if you want to support merchant-initiated reversal and void operations.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, and Void**\nOptional field.\n\n#### PIN Debit\nFor a PIN debit reversal, your request must include a request ID or a merchant transaction identifier.\nOptional field for PIN debit purchase or credit requests.\n" }, "comments": { "type": "string", "description": "Comments" }, "partner": { "type": "object", "properties": { "originalTransactionId": { "type": "string", "maxLength": 32, "description": "Value that links the previous transaction to the current follow-on request. This value is assigned by the client\nsoftware that is installed on the POS terminal, which makes it available to the terminal's software and to\nCyberSource. Therefore, you can use this value to reconcile transactions between CyberSource and the terminal's\nsoftware.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" }, "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" }, "thirdPartyCertificationNumber": { "type": "string", "maxLength": 12, "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" } } }, "applicationName": { "type": "string", "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" }, "applicationVersion": { "type": "string", "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "applicationUser": { "type": "string", "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" } } }, "processingInformation": { "type": "object", "properties": { "actionList": { "type": "array", "description": "Array of actions (one or more) to be included in the payment to invoke bundled services along with payment status.\n\nPossible values are one or more of follows:\n\n - `AP_REFUND`: Use this when Alternative Payment Refund service is requested.\n", "items": { "type": "string" } }, "paymentSolution": { "type": "string", "maxLength": 12, "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/VCO_SCMP_API/html/)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. For details, see \"Masterpass\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Please check with Cybersource customer support to see if your merchant account is configured correctly so you\ncan include this field in your request.\n* For Payouts: max length for FDCCompass is String (22).\n" }, "linkId": { "type": "string", "maxLength": 26, "description": "Value that links the current authorization request to the original authorization request. Set this value\nto the ID that was returned in the reply message from the original authorization request.\n\nThis value is used for:\n\n- Partial authorizations\n- Split shipments\n\nFor details, see `link_to_request` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "reportGroup": { "type": "string", "maxLength": 25, "description": "Attribute that lets you define custom grouping for your processor reports. This field is supported only for **Worldpay VAP**.\n\nFor details, see `report_group` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "visaCheckoutId": { "type": "string", "maxLength": 48, "description": "Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in\nthe Visa Checkout **callID** field.\n" }, "purchaseLevel": { "type": "string", "maxLength": 1, "description": "Set this field to 3 to indicate that the request includes Level III data." }, "recurringOptions": { "type": "object", "properties": { "loanPayment": { "type": "boolean", "description": "Flag that indicates whether this is a payment towards an existing contractual loan.\n\nPossible values:\n- `true`: Loan payment\n- `false`: (default) Not a loan payment\n\nFor processor-specific details, see `debt_indicator` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n", "default": false } } }, "industryDataType": { "type": "string", "maxLength": 20, "description": "Indicates that the transaction includes industry-specific data.\n\nPossible Values:\n- `airline`\n- `restaurant`\n- `lodging`\n- `auto_rental`\n- `transit`\n- `healthcare_medical`\n- `healthcare_transit`\n- `transit`\n\n#### Card Present, Airlines and Auto Rental\nYou must set this field to `airline` in order for airline data to be sent to the processor. For example, if this\nfield is not set to `airline` or is not included in the request, no airline data is sent to the processor.\n\nYou must set this field to `restaurant` in order for restaurant data to be sent to the processor. When this field\nis not set to `restaurant` or is not included in the request, no restaurant data is sent to the processor.\n\nYou must set this field to `auto_rental` in order for auto rental data to be sent to the processor. For example, if this\nfield is not set to `auto_rental` or is not included in the request, no auto rental data is sent to the processor.\n\nRestaurant data is supported only on CyberSource through VisaNet.\n" }, "paymentType": { "type": "string", "description": "Identifier for the payment type" }, "refundOptions": { "type": "object", "properties": { "reason": { "type": "string", "description": "The reason for the refund." } } } } }, "paymentInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 20, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n\n#### FDMS Nashville\nRequired. String (19)\n\n#### GPX\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nValid values: `01` through `12`. Leading 0 is required.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value\n(`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is\nin the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause\nthe issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (_type_=039), if there is no expiration date on the card, use `12`.\n\n#### FDMS Nashville\nRequired field.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the payment card expires.\n\nFormat: `YYYY`.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`1900` through `3000`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (**_type_**`=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDMS Nashville\nRequired field.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. If you send in 2 digits, they must be the last 2 digits of the year.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `014`: Enroute[^1]\n- `021`: JAL[^1]\n- `024`: Maestro (UK Domestic)[^1]\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `042`: Maestro (International)[^1]\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `054`: Elo[^3]\n- `062`: China UnionPay\n- '070': EFTPOS\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "accountEncoderId": { "type": "string", "maxLength": 3, "description": "Identifier for the issuing bank that provided the customer's encoded account number. Contact your processor for the bank's ID.\n" }, "issueNumber": { "type": "string", "maxLength": 5, "description": "Number of times a Maestro (UK Domestic) card has been issued to the account holder. The card might or might not have an issue number. The number can consist of one or two digits, and the first digit might be a zero. When you include this value in your request, include exactly what is printed on the card. A value of 2 is different than a value of 02. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card.\n\n**Note** The issue number is not required for Maestro (UK Domestic) transactions.\n" }, "startMonth": { "type": "string", "maxLength": 2, "description": "Month of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: MM`. Possible values: 01 through 12.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "startYear": { "type": "string", "maxLength": 4, "description": "Year of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: YYYY`.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "sourceAccountType": { "type": "string", "maxLength": 20, "description": "Flag that specifies the type of account associated with the card. \nThe cardholder provides this information during the payment process.\n\nThis field is required in the following cases:\n - Debit transactions on Cielo and Comercio Latino.\n - Transactions with Brazilian-issued cards on CyberSource through VisaNet.\n - Applicable only for CyberSource through VisaNet (CtV).\n\n**Note** Combo cards in Brazil contain credit and debit functionality in a single card. Visa systems use a credit bank\nidentification number (BIN) for this type of card. Using the BIN to determine whether a card is debit or\ncredit can cause transactions with these cards to be processed incorrectly. CyberSource strongly recommends\nthat you include this field for combo card transactions.\n\nPossible values include the following.\n\n - `CH`: Checking account\n - `CR`: Credit card account\n - `SA`: Saving account\n - `LI`: Line of credit or credit portion of combo card\n - `PP`: Prepaid card account or prepaid portion of combo card\n - `UA`: Universal account\n\nIf useAs is set to credit/debit and there is a value in SourceAccountType, the value in the SourceAccountType field will take precedence.\nIf useAs is set to CR/DB and there is a value in SourceAccountType, the value in the useAs field will take precedence.\n" }, "sourceAccountTypeDetails": { "type": "string", "maxLength": 4, "description": "Type of account that is being used when the value for the override_payment_method field is line of credit (LI) or prepaid card (PP).\nPossible values for line of credit:\n- `AGRC`: Visa Agro Custeio\n- `AGRE`: Visa Agro Electron\n- `AGRI`: Visa Agro Investimento\n- `AGRO`: Visa Agro\nPossible values for prepaid card:\n- `VVA`: Visa Vale Alimentacao\n- `VVF`: Visa Vale Flex\n- `VVR`: Visa Vale Refeicao\nThis field is supported only for combo card transactions in Brazil on CyberSource through VisaNet.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Number.\n\n#### FDMS Nashville\nRequired for American Express or if swiped; otherwise, optional.\n\n#### Ingenico ePayments\nDo not include this field when `commerceIndicator=recurring`.\n**Note** Ingenico ePayments was previously called _Global Collect_.\n\n#### TSYS Acquiring Solutions\nOptional if pointOfSaleInformation.entryMode=keyed; otherwise, not used.\n\n#### GPX\nOptional.\n\n#### All other processors:\nOptional.\n" }, "useAs": { "type": "string", "maxLength": 20, "description": "Flag that specifies the type of account associated with the card.\nThis field is available only for China UnionPay, Cielo, Comercio Latino and Visa Platform Connect.\nThe cardholder provides this information during the payment process.\n\nThis field is required for:\n - Debit transactions on Cielo and Comercio Latino.\n - Transactions with Brazilian-issued cards on CyberSource through VisaNet.\n\n**China UnionPayCard Transactions on China UnionPay:**\nPossible values:\n - C: Domestic credit card\n - D: Domestic debit card\n - F: International credit card\n - I: International debit card\n\nWhen the value is D, the e-commerce indicator and CAVV fields must be included in the authorization request.\nWhen the value is C, F or I the card verification number, expiration month and expiration year fields must in included in the authorization request.\n\n**Cielo and Comercio Latino Credit Card Transactions:**\nOn these processors, this field is supported only for authorizations.\nPossible values:\n - CR: Credit card\n - DB: Debit card \n\n**Visa Platform Connect Credit Card Transactions:**\nThis field is supported only for all card Types on Visa Platform Connect.\n\nA value of CR or DB in the useAs field takes precedence over any value in the Source Account Type field.\n" } } }, "bank": { "type": "object", "properties": { "account": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 1, "description": "Account type.\n\nPossible values:\n - **C**: Checking.\n - **G**: General ledger. This value is supported only on Wells Fargo ACH.\n - **S**: Savings (U.S. dollars only).\n - **X**: Corporate checking (U.S. dollars only).\n" }, "number": { "type": "string", "maxLength": 17, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "encoderId": { "type": "string", "maxLength": 3, "description": "Identifier for the bank that provided the customer's encoded account number.\n\nTo obtain the bank identifier, contact your processor.\n\nFor details, see `account_encoder_id` request-level field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "checkNumber": { "type": "string", "maxLength": 8, "description": "Check number.\n\nChase Paymentech Solutions - Optional.\nCyberSource ACH Service - Not used.\nRBS WorldPay Atlanta - Optional on debits. Required on credits.\nTeleCheck - Strongly recommended on debit requests. Optional on credits.\n" }, "checkImageReferenceNumber": { "type": "string", "maxLength": 32, "description": "Image reference number associated with the check. You cannot include any special characters.\n" } } }, "routingNumber": { "type": "string", "maxLength": 9, "description": "Bank routing number. This is also called the _transit number_.\n\nFor details, see `ecp_rdfi` request field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" }, "iban": { "type": "string", "maxLength": 50, "description": "International Bank Account Number (IBAN) for the bank account. For some countries you can provide this number instead of the traditional bank account information. You can use this field only when scoring a direct debit transaction.\n\nFor all possible values, see the `bank_iban` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "swiftCode": { "type": "string", "description": "Bank's SWIFT code. You can use this field only when scoring a direct debit transaction.\nRequired only for crossborder transactions.\n\nFor all possible values, see the `bank_swiftcode` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" } } }, "tokenizedCard": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 20, "description": "Customer's payment network token value.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "One of two possible meanings:\n- The two-digit month in which a token expires.\n- The two-digit month in which a card expires.\nFormat: `MM`\nPossible values: `01` through `12`\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_type=039`), if there is no expiration date on the card, use `12`.\\\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Samsung Pay and Apple Pay\nMonth in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\nFor processor-specific information, see the `customer_cc_expmo` field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n\nFor processor-specific information, see the `customer_cc_expyr` or `token_expiration_year` field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `014`: Enroute[^1]\n- `021`: JAL[^1]\n- `024`: Maestro (UK Domestic)[^1]\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `042`: Maestro (International)[^1]\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `054`: Elo[^3]\n- `062`: China UnionPay\n- '070': EFTPOS\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "cryptogram": { "type": "string", "maxLength": 255, "description": "This field contains token information." }, "requestorId": { "type": "string", "maxLength": 11, "description": "Value that identifies your business and indicates that the cardholder's account number is tokenized. This value\nis assigned by the token service provider and is unique within the token service provider's database.\n\n**Note** This field is supported only for **CyberSource through VisaNet** and **FDC Nashville Global**.\n\n#### PIN debit\nOptional field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.\n" }, "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it specifies the entity that\nprovided you with information about the token.\n\nPossible value:\n- `2`: Near-field communication (NFC) transaction. The customer's mobile device provided the token data for a contactless EMV transaction. For recurring\ntransactions, use this value if the original transaction was a contactless EMV transaction.\n\n#### Visa Platform Connect\n- `1`: For Rupay and In App tokenization. Example: InApp apple pay.\n- `3`: Card/Credential On File Tokenization.\n\n**NOTE** No CyberSource through VisaNet acquirers support EMV at this time.\n\nRequired field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.\n\n#### Rupay\n- `3`: Card/Credential On File Tokenization.\n- `4`: Tokenizined Transaction. Should be used for Guest Checkout transactions with token.\n" }, "assuranceLevel": { "type": "string", "maxLength": 2, "description": "Confidence level of the tokenization. This value is assigned by the token service provider.\n\n**Note** This field is supported only for **CyberSource through VisaNet** and **FDC Nashville Global**.\n\nReturned by PIN debit credit or PIN debit purchase.\n\n**Note** Merchants supported for **CyberSource through VisaNet**/**Visa Platform Connect** are advised not to use this field.\n" }, "storageMethod": { "type": "string", "maxLength": 3, "description": "Type of technology used in the device to store token data. Possible values:\n\n- `001`: Secure Element (SE). Smart card or memory with restricted access and encryption to prevent data tampering. For storing payment\n credentials, a SE is tested against a set of requirements defined by the payment networks.\n\n **Note** This field is supported only for _FDC Compass_.\n\n- 002: Host Card Emulation (HCE). Emulation of a smart card by using software to create a virtual and exact representation of the card.\nSensitive data is stored in a database that is hosted in the cloud. For storing payment credentials, a database\nmust meet very stringent security requirements that exceed PCI DSS.\n\n**Note** This field is supported only for _FDC Compass_.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Number (CVN).\n\n#### Ingenico ePayments\nDo not include this field when **commerceIndicator=recurring**.\n**Note** Ingenico ePayments was previously called _Global Collect_.\n\nFor details, see `customer_cc_cv_number` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "securityCodeIndicator": { "type": "string", "maxLength": 1, "description": "Indicates whether a CVN code was sent. Possible values:\n\n - `0` (default): CVN service not requested. This default value is used when you do not include\n `securityCode` field in the request.\n - `1` (default): CVN service requested and supported. This default value is used when you include\n `securityCode` field in the request.\n - `2`: CVN on credit card is illegible.\n - `9`: CVN was not imprinted on credit card.\n\n#### FDMS Nashville\nRequired for American Express cards; otherwise, optional.\n\n#### TSYS Acquiring Solutions\nOptional if `pointOfSaleInformation.entryMode=keyed`; otherwise, not used.\n\n#### All other processors\nOptional.\n" }, "assuranceMethod": { "type": "string", "maxLength": 2, "description": "Confidence level of the tokenization. This value is assigned by the token service provider.\n\n**Note** This field is supported only for **Visa Platform Connect**\n" } } }, "fluidData": { "type": "object", "properties": { "keySerialNumber": { "type": "string", "description": "The encoded or encrypted value that a payment solution returns for an authorization request. For details about the valid values for a key, see [Creating an Online Authorization](https://developer.cybersource.com/api/developer-guides/dita-payments/CreatingOnlineAuth.html)\n" }, "descriptor": { "type": "string", "maxLength": 128, "description": "The identifier for a payment solution, which is sending the encrypted payment data for decryption. Valid values:\nSamsung Pay: RklEPUNPTU1PTi5TQU1TVU5HLklOQVBQLlBBWU1FTlQ=\nNote: For other payment solutions, the value may be specific to the terminal or device initiatinf the payment. For example, the descriptor for a Bluefin payment encryption would be a device-generated descriptor.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits.\n\nCard Present processing:\nFormat of the encrypted payment data.\nThe value for Bluefin PCI P2PE is `Ymx1ZWZpbg==`. paymentInformation.fluidData.encoding must be `Base64`.\nThe value for Cybersource P2PE decryption depends on the encoding method used and identified in encoding field.\nIf paymentInformation.fluidData.encoding is `Base64`, the value is: `RklEPUVNVi5QQVlNRU5ULkFQSQ==`\nIf paymentInformation.fluidData.encoding is `HEX`, the value is: `4649443D454D562E5041594D454E542E41504`\n" }, "value": { "type": "string", "maxLength": 4000, "description": "Represents the encrypted payment data BLOB. The entry for this field is dependent on the payment solution used by the merchant.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits that use a Cybersource suppored Point-to-Point encryption method.\nCard Present processing\nThis field represents the encrypted payment data generated by the payment terminal/device.\n" }, "encoding": { "type": "string", "maxLength": 6, "description": "Encoding method used to encrypt the payment data.\nValid values: `Base64`, `HEX`\nIf no value is provided, `Base64` is taken as the default value. And the `Base64` descriptor is used for paymentInformation.fluidData.encoding\n" } } }, "customer": { "type": "object", "properties": { "customerId": { "type": "string", "description": "Unique identifier for the customer's card and billing information.\n\nWhen you use Payment Tokenization or Recurring Billing and you include this value in\nyour request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n\n**NOTE** When you use Payment Tokenization or Recurring Billing, the value for the Customer ID is actually the Cybersource payment token for a customer. This token stores information such as the consumer's card number so it can be applied towards bill payments, recurring payments, or one-time payments. By using this token in a payment API request, the merchant doesn't need to pass in data such as the card number or expiration date in the request itself.\n\nFor details, see the `subscription_id` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "id": { "type": "string", "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "paymentInstrument": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Payment Instrument token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Instrument Identifier token used in the transaction.\nWhen you include this value in your request, many of the fields that can be supplied for an authorization or credit\nbecome optional.\n", "minLength": 12, "maxLength": 32 } } }, "shippingAddress": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Customers Shipping Address token used in the transaction.\nWhen you include this value in your request, many of the shipping fields that can be supplied for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "legacyToken": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the legacy Secure Storage token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "paymentType": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" }, "subTypeName": { "type": "string", "description": "In case the APM supports multiple modes of initiation (e.g. Alipay via QR Code or Barcode)\n" }, "method": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n" } } } } }, "eWallet": { "type": "object", "properties": { "fundingSource": { "type": "string", "maxLength": 30, "description": "Payment mode for the authorization or order transaction. \uf06e INSTANT_TRANSFER \uf06e MANUAL_BANK_TRANSFER \uf06e DELAYED_TRANSFER \uf06e ECHECK \uf06e UNRESTRICTED (default)\u2014this value is available only when configured by PayPal for the merchant. \uf06eINSTANT" } } } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. For details, see:\n- \"Authorization Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Capture Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Credit Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\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. For details, see \"Zero Amount Authorizations,\" \"Credit Information for Specific Processors\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\nRequired for creating a new invoice.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. For details, see `grand_total_amount` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in \"Authorization Information for Specific Processors\" of the [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "discountAmount": { "type": "string", "maxLength": 15, "description": "Total discount amount applied to the order.\n" }, "dutyAmount": { "type": "string", "maxLength": 15, "description": "Total charges for any import or export duties included in the order.\n" }, "gratuityAmount": { "type": "string", "maxLength": 13, "description": "Gratuity or tip amount for restaurants. Allowed only when industryDatatype=restaurant.\nWhen your customer uses a debit card or prepaid card, and you receive a partial authorization, the payment networks recommend that you do not\nsubmit a capture amount that is higher than the authorized amount. When the capture amount exceeds the partial amount that was approved, the\nissuer has chargeback rights for the excess amount.\n\nUsed by **Capture**\nOptional field.\n\n#### CyberSource through VisaNet\nRestaurant data is supported only on CyberSource through VisaNet when card is present.\n" }, "taxAmount": { "type": "string", "maxLength": 12, "description": "Total tax amount for all the items in the order.\n" }, "nationalTaxIncluded": { "type": "string", "maxLength": 1, "description": "Flag that indicates whether a national tax is included in the order total.\n\nPossible values:\n\n - **0**: national tax not included\n - **1**: national tax included\n" }, "taxAppliedAfterDiscount": { "type": "string", "maxLength": 1, "description": "Flag that indicates how the merchant manages discounts.\n\nPossible values:\n\n - **0**: no invoice level discount included\n - **1**: tax calculated on the postdiscount invoice total\n - **2**: tax calculated on the prediscount invoice total\n" }, "taxAppliedLevel": { "type": "string", "maxLength": 1, "description": "Flag that indicates how you calculate tax.\n\nPossible values:\n\n - **0**: net prices with tax calculated at line item level\n - **1**: net prices with tax calculated at invoice level\n - **2**: gross prices with tax provided at line item level\n - **3**: gross prices with tax provided at invoice level\n - **4**: no tax applies on the invoice for the transaction\n" }, "taxTypeCode": { "type": "string", "maxLength": 3, "description": "For tax amounts that can be categorized as one tax type.\n\nThis field contains the tax type code that corresponds to the entry in the _lineItems.taxAmount_ field.\n\nPossible values:\n\n - **056**: sales tax (U.S only)\n - **TX~**: all taxes (Canada only) Note ~ = space.\n" }, "freightAmount": { "type": "string", "maxLength": 13, "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n\nFor processor-specific information, see the freight_amount field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "foreignAmount": { "type": "string", "maxLength": 15, "description": "Set this field to the converted amount that was returned by the DCC provider.\nFor processor-specific information, see the `foreign_amount` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "foreignCurrency": { "type": "string", "maxLength": 5, "description": "Set this field to the converted amount that was returned by the DCC provider.\n" }, "exchangeRate": { "type": "string", "maxLength": 13, "description": "Exchange rate returned by the DCC service. Includes a decimal point and a maximum of 4 decimal places.\n\nFor details, see `exchange_rate` request-level field description in the [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf)\n" }, "exchangeRateTimeStamp": { "type": "string", "maxLength": 14, "description": "Time stamp for the exchange rate. This value is returned by the DCC service.\n\nFormat: `YYYYMMDD~HH:MM` where ~ denotes a space.\n" }, "amexAdditionalAmounts": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 3, "description": "Additional amount type. This field is supported only for **American Express Direct**.\n\nFor processor-specific information, see the `additional_amount_type0` request-level field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "amount": { "type": "string", "maxLength": 12, "description": "Additional amount. This field is supported only for **American Express Direct**.\n" } } } }, "taxDetails": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n\nFor processor-specific details, see the `alternate_tax_amount`, `local_tax`, `national_tax` or `vat_tax_amount` field\ndescriptions in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "amount": { "type": "string", "maxLength": 13, "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" }, "rate": { "type": "string", "maxLength": 6, "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n\nFor processor-specific details, see the `alternate_tax_amount`, `vat_rate`, `vat_tax_rate`, `local_tax`, `national_tax`, `vat_tax_amount` or `other_tax#_rate` field descriptions in the [Level II and Level III Processing Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "code": { "type": "string", "maxLength": 4, "description": "Type of tax being applied to the item.\n\nFor possible values, see the processor-specific field descriptions in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/):\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" }, "taxId": { "type": "string", "maxLength": 15, "description": "Your tax ID number to use for the alternate tax amount. Required if you set alternate tax amount to any value,\nincluding zero. You may send this field without sending alternate tax amount.\n\nFor processor-specific details, see `alternate_tax_id` field description in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "applied": { "type": "boolean", "description": "Flag that indicates whether the alternate tax amount (`orderInformation.amountDetails.taxDetails[].amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: alternate tax amount is not included in the request.\n- `true`: alternate tax amount is included in the request.\n\nFor processor-specific details, see `alternate_tax_amount_indicator` field description in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "exemptionCode": { "type": "string", "maxLength": 1, "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n\nFor possible values and important information for using this field, see _Appendix B, \"Exemption\nStatus Values_ and _Offer-Level Tax Fields_ in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" } } } }, "serviceFeeAmount": { "type": "string", "maxLength": 15, "description": "Service fee. Required for service fee transactions.\n" }, "originalCurrency": { "type": "string", "maxLength": 15, "description": "Your local pricing currency code.\n\nFor the possible values, see the [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n" }, "cashbackAmount": { "type": "string", "maxLength": 13, "description": "Cashback amount in the acquirer's currency. If a cashback amount is included in the request, it must be included\nin the `orderInformation.amountDetails.totalAmount` value.\n\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization**\nOptional.\n**Authorization Reversal**\nOptional.\n\n#### PIN debit\nOptional field for PIN debit purchase, PIN debit credit or PIN debit reversal.\n" } } }, "billTo": { "type": "object", "properties": { "title": { "type": "string", "maxLength": 60, "description": "Title.\n" }, "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called _CyberSource Latin American Processing_. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "middleName": { "type": "string", "maxLength": 60, "description": "Customer's middle name.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### RBS WorldPay Atlanta\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "company": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n\n**CyberSource through VisaNet**\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\nFor processor-specific information, see the `company_name` field in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "address1": { "type": "string", "maxLength": 40, "description": "First line in the street address of the company purchasing the product." }, "address2": { "type": "string", "maxLength": 40, "description": "Additional address information for the company purchasing the product." }, "locality": { "type": "string", "maxLength": 30, "description": "City in the address of the company purchasing the product." }, "administrativeArea": { "type": "string", "maxLength": 2, "description": "State or province in the address of the company purchasing the product. Use the State, Province, and Territory\nCodes for the United States and Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code in the address of the company purchasing the product. The postal code must consist of 5 to 9 digits.\n\nWhen the company country is the U.S., the 9-digit postal code must follow this format:\n**[5 digits][dash][4 digits]**\n#### Example\n`12345-6789`\n\nWhen the company country is Canada, the 6-digit postal code must follow this format:\n**[alpha][numeric][alpha][space][numeric][alpha][numeric]**\n#### Example\n`A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Country in the address of the company purchasing the product. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" } } }, "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "district": { "type": "string", "maxLength": 50, "description": "Customer's neighborhood, community, or region (a barrio in Brazil) within the city or municipality. This\nfield is available only on **Cielo**.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" }, "county": { "type": "string", "maxLength": 50, "description": "U.S. county if available." }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### SEPA/BACS\nRequired for Create Mandate and Import Mandate\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\nFor processor-specific information, see the `customer_email` request-level field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n\nIt is recommended that you include the country code when the order is from outside the U.S.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nOptional field.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" } } }, "shipTo": { "type": "object", "properties": { "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", "maxLength": 2 }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "email": { "type": "string", "description": "Email of the recipient.", "maxLength": 255 }, "county": { "type": "string", "description": "U.S. county if available.", "maxLength": 50 } } }, "lineItems": { "type": "array", "items": { "type": "object", "properties": { "productCode": { "type": "string", "maxLength": 255, "description": "Type of product. The value for this field is used to identify the product category (electronic, handling, physical,\nservice, or shipping). The default value is `default`.\n\nIf you are performing an authorization transaction (`processingOptions.capture` is set to `false`), and you set\nthis field to a value other than `default` or one of the values related to shipping and/or handling, then\n`orderInformation.lineItems[].quantity`, `orderInformation.lineItems[].productName`, and\n`orderInformation.lineItems[].productSku` fields are required.\n\nOptional field.\n\nFor details, see the `product_code` field description in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nThe Product Codes for the tax service are located in the Cybersource Tax Codes guide. Contact Customer Support to request the guide. If you don't send a tax service Product Code in your tax request, product-based rules or exemptions will not be applied and the transaction will default to fully taxable in the locations where you've indicated you need to collect tax [by way of nexus, no nexus, or seller registration number fields].\n" }, "productName": { "type": "string", "maxLength": 255, "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "productSku": { "type": "string", "maxLength": 255, "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" }, "quantity": { "type": "integer", "minimum": 1, "maximum": 999999999, "default": 1, "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "unitPrice": { "type": "string", "maxLength": 15, "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in the [Merchant Descriptors Using the SCMP API Guide.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Merchant_Descriptors_SCMP_API/html/)\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" }, "unitOfMeasure": { "type": "string", "maxLength": 12, "description": "Unit of measure, or unit of measure code, for the item.\n" }, "totalAmount": { "type": "string", "maxLength": 13, "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" }, "taxAmount": { "type": "string", "maxLength": 15, "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" }, "taxRate": { "type": "string", "maxLength": 7, "description": "Tax rate applied to the item.\n\nFor details, see `tax_rate` field description in the [Level II and Level III Processing Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" }, "taxAppliedAfterDiscount": { "type": "string", "maxLength": 1, "description": "Flag to indicate how you handle discount at the line item level.\n\n - 0: no line level discount provided\n - 1: tax was calculated on the post-discount line item total\n - 2: tax was calculated on the pre-discount line item total\n\n`Note` Visa will inset 0 (zero) if an invalid value is included in this field.\n\nThis field relates to the value in the _lineItems[].discountAmount_ field.\n" }, "taxStatusIndicator": { "type": "string", "maxLength": 1, "description": "Flag to indicate whether tax is exempted or not included.\n\n - 0: tax not included\n - 1: tax included\n - 2: transaction is not subject to tax\n" }, "taxTypeCode": { "type": "string", "maxLength": 4, "description": "Type of tax being applied to the item.\n\nFor possible values, see the processor-specific field descriptions in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/):\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" }, "amountIncludesTax": { "type": "boolean", "description": "Flag that indicates whether the tax amount is included in the Line Item Total.\n\nPossible values:\n - **true**\n - **false**\n" }, "typeOfSupply": { "type": "string", "maxLength": 2, "description": "Flag to indicate whether the purchase is categorized as goods or services.\nPossible values:\n\n - 00: goods\n - 01: services\n" }, "commodityCode": { "type": "string", "maxLength": 15, "description": "Commodity code or International description code used to classify the item. Contact your acquirer for a list of\ncodes.\n" }, "discountAmount": { "type": "string", "maxLength": 13, "description": "Discount applied to the item." }, "discountApplied": { "type": "boolean", "description": "Flag that indicates whether the amount is discounted.\n\nIf you do not provide a value but you set Discount Amount to a value greater than zero, then CyberSource sets\nthis field to **true**.\n\nPossible values:\n - **true**\n - **false**\n" }, "discountRate": { "type": "string", "maxLength": 6, "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" }, "invoiceNumber": { "type": "string", "maxLength": 23, "description": "Field to support an invoice number for a transaction. You must specify the number of line items that will\ninclude an invoice number. By default, the first line item will include an invoice number field. The invoice\nnumber field can be included for up to 10 line items.\n" }, "taxDetails": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n\nFor processor-specific details, see the `alternate_tax_amount`, `local_tax`, `national_tax` or `vat_tax_amount` field\ndescriptions in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "amount": { "type": "string", "maxLength": 13, "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" }, "rate": { "type": "string", "maxLength": 6, "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n\nFor processor-specific details, see the `alternate_tax_amount`, `vat_rate`, `vat_tax_rate`, `local_tax`, `national_tax`, `vat_tax_amount` or `other_tax#_rate` field descriptions in the [Level II and Level III Processing Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "code": { "type": "string", "maxLength": 4, "description": "Type of tax being applied to the item.\n\nFor possible values, see the processor-specific field descriptions in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/):\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" }, "taxId": { "type": "string", "maxLength": 15, "description": "Your tax ID number to use for the alternate tax amount. Required if you set alternate tax amount to any value,\nincluding zero. You may send this field without sending alternate tax amount.\n\nFor processor-specific details, see `alternate_tax_id` field description in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "applied": { "type": "boolean", "description": "Flag that indicates whether the alternate tax amount (`orderInformation.amountDetails.taxDetails[].amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: alternate tax amount is not included in the request.\n- `true`: alternate tax amount is included in the request.\n\nFor processor-specific details, see `alternate_tax_amount_indicator` field description in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "exemptionCode": { "type": "string", "maxLength": 1, "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n\nFor possible values and important information for using this field, see _Appendix B, \"Exemption\nStatus Values_ and _Offer-Level Tax Fields_ in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" } } } } } } }, "invoiceDetails": { "type": "object", "properties": { "purchaseOrderNumber": { "type": "string", "maxLength": 25, "description": "Value used by your customer to identify the order. This value is typically a purchase order number. CyberSource\nrecommends that you do not populate the field with all zeros or nines.\n\nFor processor-specific information, see the `user_po` field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "purchaseOrderDate": { "type": "string", "maxLength": 10, "description": "Date the order was processed. `Format: YYYY-MM-DD`.\n\nFor processor-specific information, see the `purchaser_order_date` field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "purchaseContactName": { "type": "string", "maxLength": 36, "description": "The name of the individual or the company contacted for company authorized purchases.\n\nFor processor-specific information, see the `authorized_contact_name` field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "taxable": { "type": "boolean", "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nFor processor-specific information, see the `tax_indicator` field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n\nPossible values:\n - **true**\n - **false**\n" }, "vatInvoiceReferenceNumber": { "type": "string", "maxLength": 15, "description": "VAT invoice number associated with the transaction.\n\nFor processor-specific information, see the `vat_invoice_ref_number` field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "commodityCode": { "type": "string", "maxLength": 4, "description": "International description code of the overall order's goods or services or the Categorizes purchases for VAT\nreporting. Contact your acquirer for a list of codes.\n\nFor processor-specific information, see the `summary_commodity_code` field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "transactionAdviceAddendum": { "type": "array", "items": { "type": "object", "properties": { "data": { "type": "string", "maxLength": 40, "description": "Four Transaction Advice Addendum (TAA) fields. These fields are used to display descriptive information\nabout a transaction on the customer's American Express card statement. When you send TAA fields, start\nwith amexdata_taa1, then ...taa2, and so on. Skipping a TAA field causes subsequent TAA fields to be\nignored.\n\nTo use these fields, contact CyberSource Customer Support to have your account enabled for this feature.\n" } } } } } }, "shippingDetails": { "type": "object", "properties": { "shipFromPostalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the address from which the goods are shipped, which is used to establish nexus. The default is\nthe postal code associated with your CyberSource account.\n\nThe postal code must consist of 5 to 9 digits. When the billing country is the U.S., the 9-digit postal code\nmust follow this format:\n\n`[5 digits][dash][4 digits]`\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n\n`[alpha][numeric][alpha][space] [numeric][alpha][numeric]`\n\nExample A1B 2C3\n\nThis field is frequently used for Level II and Level III transactions.\n" } } } } }, "buyerInformation": { "type": "object", "properties": { "merchantCustomerId": { "type": "string", "maxLength": 100, "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n\nFor processor-specific information, see the `customer_account_id` field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "vatRegistrationNumber": { "type": "string", "maxLength": 20, "description": "Customer's government-assigned tax identification number.\n\n#### Tax Calculation\nOptional for international and value added taxes only. Not applicable to U.S. and Canadian taxes.\n\nFor processor-specific information, see the purchaser_vat_registration_number field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "dateOfBirth": { "type": "string", "maxLength": 8, "description": "Recipient's date of birth. **Format**: `YYYYMMDD`.\n\nThis field is a `pass-through`, which means that CyberSource ensures that the value is eight numeric characters\nbut otherwise does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n\nFor more details, see `recipient_date_of_birth` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "gender": { "type": "string", "maxLength": 3, "description": "Customer's gender. Possible values are F (female), M (male),O (other)." }, "language": { "type": "string", "maxLength": 2, "description": "language setting of the user" }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "The value of the identification type. This field is supported only on the following processors.\n\n#### ComercioLatino\nSet this field to the Cadastro de Pessoas Fisicas (CPF).\n\n#### CyberSource Latin American Processing\nSupported for Redecard in Brazil. Set this field to the Cadastro de Pessoas Fisicas (CPF), which is required for AVS for Redecard in Brazil.\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\nFor processor-specific information, see the `personal_id` field in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n \nIf `type = PASSPORT`, this is the cardholder's passport number.\nRecommended for Discover ProtectBuy.\n" } } } } } }, "deviceInformation": { "type": "object", "properties": { "hostName": { "type": "string", "maxLength": 60, "description": "DNS resolved hostname from `ipAddress`." }, "ipAddress": { "type": "string", "maxLength": 45, "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" }, "userAgent": { "type": "string", "maxLength": 40, "description": "Customer's browser as identified from the HTTP header data. For example, `Mozilla` is the value that identifies\nthe Netscape browser.\n" } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "name": { "type": "string", "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" }, "alternateName": { "type": "string", "maxLength": 13, "description": "An alternate name for the merchant.\n\nFor the descriptions, used-by information, data types, and lengths for these fields, see the `merchant_descriptor_alternate` field description\nin [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)-->\n" }, "contact": { "type": "string", "maxLength": 14, "description": "For the descriptions, used-by information, data types, and lengths for these fields, see `merchant_descriptor_contact` field description\nin [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)-->\nContact information for the merchant.\n\n**Note** These are the maximum data lengths for the following payment processors:\n- FDCCompass (13)\n- Paymentech (13)\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of merchant's address. For the descriptions, used-by information, data types, and lengths for these fields, see `merchant_descriptor_street` field description\nin [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "locality": { "type": "string", "maxLength": 13, "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" }, "country": { "type": "string", "maxLength": 2, "description": "Merchant's country.\n\n#### PIN debit\nCountry code for your business location. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\nThis value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n**Note** If your business is located in the U.S. or Canada and you include this field in a\nrequest, you must also include `merchantInformation.merchantDescriptor.administrativeArea`.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "postalCode": { "type": "string", "maxLength": 14, "description": "Merchant's postal code.\n\n#### PIN debit\nPostal code for your business location. This value might be displayed on the cardholder's statement.\n\nIf your business is domiciled in the U.S., you can use a 5-digit or 9-digit postal code. A 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\nExample: `12345-6789`\n\nIf your business is domiciled in Canada, you can use a 6-digit or 9-digit postal code. A 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space]\n[numeric][alpha][numeric]\nExample: `A1B 2C3`\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n**Important** Mastercard requires a postal code for any country that uses postal codes.\nYou can provide the postal code in your account or you can include this field in your request.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "administrativeArea": { "type": "string", "description": "The state where the merchant is located.\n\n#### PIN debit\nState code or region code for your business. Use the Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "phone": { "type": "string", "maxLength": 13, "description": "Merchant phone as contact information for CNP transactions\n" }, "url": { "type": "string", "maxLength": 255, "description": "Address of company's website provided by merchant\n" }, "countryOfOrigin": { "type": "string", "maxLength": 2, "description": "#### Visa Platform Connect\nThis field will indicate merchant country of origin\n" }, "storeId": { "type": "string", "maxLength": 50, "description": "The identifier of the store.\n" }, "storeName": { "type": "string", "maxLength": 50, "description": "The name of the store.\n" }, "customerServicePhoneNumber": { "type": "string", "maxLength": 27, "description": "#### Visa Platform Connect\nIndicates customer service phone number of Merchant.\n" } } }, "categoryCode": { "type": "integer", "maximum": 9999, "description": "The value for this field is a four-digit number that the payment card industry uses to classify\nmerchants into market segments. A payment card company assigned one or more of these values to your business when you started\naccepting the payment card company's cards. When you do not include this field in your request, CyberSource uses the value in your\nCyberSource account.\n\nFor processor-specific information, see the `merchant_category_code` field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR4\n- Position: 150-153\n- Field: Merchant Category Code\n" }, "vatRegistrationNumber": { "type": "string", "maxLength": 21, "description": "Your government-assigned tax identification number.\n\n#### Tax Calculation\nRequired field for value added tax only. Not applicable to U.S. and Canadian taxes.\n\n#### CyberSource through VisaNet\nFor CtV processors, the maximum length is 20.\n\nFor other processor-specific information, see the `merchant_vat_registration_number` field description in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "cardAcceptorReferenceNumber": { "type": "string", "maxLength": 25, "description": "Reference number that facilitates card acceptor/corporation communication and record keeping.\n\nFor processor-specific information, see the `card_acceptor_ref_number` field description in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "taxId": { "type": "string", "maxLength": 15, "description": "Your Cadastro Nacional da Pessoa Jur\u00eddica (CNPJ) number.\n\nThis field is supported only for BNDES transactions on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR6\n- Position: 40-59\n- Field: BNDES Reference Field 1\n\nFor details, see `bill_merchant_tax_id` field description in the [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" } } }, "aggregatorInformation": { "type": "object", "properties": { "aggregatorId": { "type": "string", "maxLength": 20, "description": "Value that identifies you as a payment aggregator. Get this value from the\nprocessor.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR6\n- Position: 95-105\n- Field: Payment Facilitator ID\n\nThis field is supported for Visa, Mastercard and Discover Transactions.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n\nFor processor-specific information, see the `aggregator_id` field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "name": { "type": "string", "maxLength": 37, "description": "Your payment aggregator business name.\n\n**American Express Direct**\\\nThe maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters.\\\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n\nFor processor-specific information, see the aggregator_name field in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "subMerchant": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 37, "description": "Sub-merchant's business name.\n\n#### American Express Direct\nThe maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters.\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n\n#### FDC Nashville Global\nWith Mastercard, the maximum length of the sub-merchant name depends on the length of the aggregator name:\n- If aggregator name length is 1 through 3, maximum sub-merchant name length is 21.\n- If aggregator name length is 4 through 7, maximum sub-merchant name length is 17.\n- If aggregator name length is 8 through 12, maximum sub-merchant name length is 12.\n" }, "address1": { "type": "string", "maxLength": 38, "description": "First line of the sub-merchant's street address.\n\nFor processor-specific details, see `submerchant_street` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "locality": { "type": "string", "maxLength": 21, "description": "Sub-merchant's city.\n\nFor processor-specific details, see `submerchant_city` request field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "administrativeArea": { "type": "string", "maxLength": 3, "description": "Sub-merchant's state or province.\n\nFor possible values and also aggregator support, see `submerchant_state` request field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "postalCode": { "type": "string", "maxLength": 15, "description": "Partial postal code for the sub-merchant's address.\n\nFor processor-specific details, see `submerchant_postal_code` request field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "country": { "type": "string", "maxLength": 3, "description": "Sub-merchant's country. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n\nFor details, see the `submerchant_country` request-level field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "email": { "type": "string", "maxLength": 40, "description": "Sub-merchant's email address.\n\n**Maximum length for processors**\n\n - American Express Direct: 40\n - CyberSource through VisaNet: 40\n - FDC Compass: 40\n - FDC Nashville Global: 19\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 25-64\n- Field: American Express Seller E-mail Address\n\n**Note** The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" }, "phoneNumber": { "type": "string", "maxLength": 20, "description": "Sub-merchant's telephone number.\n\n**Maximum length for procesors**\n\n - American Express Direct: 20\n - CyberSource through VisaNet: 20\n - FDC Compass: 13\n - FDC Nashville Global: 10\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCRB\n- Position: 5-24\n- Field: American Express Seller Telephone Number\n\n**FDC Compass**\\\nThis value must consist of uppercase characters. Use one of these recommended formats:\\\n`NNN-NNN-NNNN`\\\n`NNN-AAAAAAA`\n" }, "id": { "type": "string", "maxLength": 20, "description": "The ID you assigned to your sub-merchant.\nCyberSource through VisaNet: For American Express transaction, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 65-84\n- Field: American Express Seller ID\nFor Mastercard transactions, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 117-131\n- Field: Sub-Merchant ID\nFDC Compass: This value must consist of uppercase characters.\n\nAmerican Express Direct: String (20)\nCyberSource through VisaNet with American Express: String (20)\nCyberSource through VisaNet with Visa,Mastercard and Discover: String (15)\nFDC Compass: String (20)\nFDC Nashville Global: String (14)\n" } } } } }, "pointOfSaleInformation": { "type": "object", "properties": { "emv": { "type": "object", "properties": { "tags": { "type": "string", "maxLength": 1998, "description": "EMV data that is transmitted from the chip card to the issuer, and from the issuer to the chip card. The EMV\ndata is in the tag-length-value format and includes chip card tags, terminal tags, and transaction detail tags.\n\nFor information about the individual tags, see the \"Application Specification\" section in the EMV 4.3 Specifications: http://emvco.com\n\n**Note** Card present information about EMV applies only to credit card processing and PIN debit processing.\nAll other card present information applies only to credit card processing. PIN debit processing is available only\non FDC Nashville Global.\n\n**Important** The following tags contain sensitive information and **must not** be included in this field:\n\n - `56`: Track 1 equivalent data\n - `57`: Track 2 equivalent data\n - `5A`: Application PAN\n - `5F20`: Cardholder name\n - `5F24`: Application expiration date (This sensitivity has been relaxed for Credit Mutuel-CIC, American Express Direct, FDC Nashville Global, First Data Merchant Solutions, and SIX)\n - `99`: Transaction PIN\n - `9F0B`: Cardholder name (extended)\n - `9F1F`: Track 1 discretionary data\n - `9F20`: Track 2 discretionary data\n\nFor captures, this field is required for contact EMV transactions. Otherwise, it is optional.\n\nFor credits, this field is required for contact EMV stand-alone credits and contactless EMV stand-alone credits.\nOtherwise, it is optional.\n\n**Important** For contact EMV captures, contact EMV stand-alone credits, and contactless EMV stand-alone credits,\nyou must include the following tags in this field. For all other types of EMV transactions, the following tags\nare optional.\n\n - `95`: Terminal verification results\n - `9F10`: Issuer application data\n - `9F26`: Application cryptogram\n\n\n#### CyberSource through VisaNet\n- In Japan: 199 bytes\n- In other countries: String (252)\n\nFor Mastercard Transactions, Optionally Tag 9F60 (Authenticated Application Data) and \nTag 96 (Kernel Identifier - Terminal) can be included in the Field.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n\n#### JCN Gateway\nThe following tags must be included:\n- `4F`: Application identifier\n- `84`: Dedicated file name\n\nData length: 199 bytes\n\n#### All other processors:\nString (999)\n\n#### Used by\nAuthorization: Optional\nAuthorization Reversal: Optional\nCredit: Optional\nPIN Debit processing (purchase, credit and reversal): Optional\n" }, "fallback": { "type": "boolean", "maxLength": 5, "description": "Indicates whether a fallback method was used to enter credit card information into the POS terminal. When a\ntechnical problem prevents a successful exchange of information between a chip card and a chip-capable terminal:\n\n 1. Swipe the card or key the credit card information into the POS terminal.\n 2. Use the pointOfSaleInformation.entryMode field to indicate whether the information was swiped or keyed.\n\n\nPossible values:\n- `true`: Fallback method was used.\n- `false` (default): Fallback method was not used.\n\nThis field is supported only on American Express Direct, Chase Paymentech Solutions, CyberSource through VisaNet,\nFDC Nashville Global, GPN, JCN Gateway, OmniPay Direct, and SIX.\n" } } } } }, "merchantDefinedInformation": { "type": "array", "description": "The object containing the custom data that the merchant defines.\n", "items": { "type": "object", "properties": { "key": { "type": "string", "maxLength": 50, "description": "The number you assign for as the key for your merchant-defined data field. Valid values are 0 to 100.\n\nFor example, to set or access the key for the 2nd merchant-defined data field in the array, you would reference `merchantDefinedInformation[1].key`.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].key` and\n`merchantDefinedInformation[1].key` for data that you want to provide to the issuer to identify the\ntransaction.\n\nFor details, see the `merchant_defined_data1` request-level field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "value": { "type": "string", "maxLength": 255, "description": "The value you assign for your merchant-defined data field.\n\nFor details, see `merchant_defined_data1` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event CyberSource discovers that a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, CyberSource will immediately suspend the merchant's account, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].value` and\n`merchantDefinedInformation[1].value` for data that you want to provide to the issuer to identify the\ntransaction. For details, see \"Installment Payments on CyberSource through VisaNet\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nFor installment payments with Mastercard in Brazil:\n- The value for merchantDefinedInformation[0].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 25-44\n - Field: Reference Field 2\n- The value for merchantDefinedInformation[1].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 45-64\n - Field: Reference Field 3\n" } } } }, "travelInformation": { "type": "object", "properties": { "duration": { "type": "string", "maxLength": 2, "description": "Duration of the auto rental or lodging rental.\n\n#### Auto rental\nThis field is supported for Visa, MasterCard, and American Express.\n**Important** If this field is not included when the `processingInformation.industryDataType` is auto rental,\nthe transaction is declined.\n" }, "agency": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 8, "description": "International Air Transport Association (IATA) code of travel agency that made the vehicle rental reservation.\n" }, "name": { "type": "string", "maxLength": 25, "description": "Name of travel agency that made the reservation.\n" } } }, "autoRental": { "type": "object", "properties": { "noShowIndicator": { "type": "boolean", "description": "No Show Indicator provides an indicator noting that the individual did not show up after making a reservation for a vehicle.\nPossible values:\n- true\n- false\n" }, "customerName": { "type": "string", "maxLength": 40, "description": "Name of the individual making the rental agreement.\n\nValid data lengths by card:\n\n|Card Specific Validation|VISA|MasterCard|Discover|AMEX|\n|--- |--- |--- |--- |\n| Filed Length| 40| 40| 29| 26|\n| Field Type| AN| ANS| AN| AN|\n| M/O/C| O| M| M| M|\n" }, "vehicleClass": { "type": "string", "maxLength": 4, "description": "Classification of the rented auto.\n\n**NOTE** For VISA, this is a 2-byte optional code.\n\nValid values for American Express & MasterCard:\n\n|American Express |MasterCard |Description|\n|--- |--- |--- |\n| 0001| 0001| Mini|\n| 0002| 0002| Subcompact|\n| 0003| 0003| Economy|\n| 0004| 0004| Compact|\n| 0005| 0005| Midsize|\n| 0006| 0006| Intermediate|\n| 0007| 0007| Standard|\n| 0008| 0008| Fulll size|\n| 0009| 0009| Luxury|\n| 0010| 0010| Premium|\n| 0011| 0011| Minivan|\n| 0012| 0012| 12-passenger van|\n| 0013| 0013| Moving van|\n| 0014| 0014| 15-passenger van|\n| 0015| 0015| Cargo van|\n| 0016| 0016| 12-foot truck|\n| 0017| 0017| 20-foot truck|\n| 0018| 0018| 24-foot truck|\n| 0019| 0019| 26-foot truck|\n| 0020| 0020| Moped|\n| 0021| 0021| Stretch|\n| 0022| 0022| Regular|\n| 0023| 0023| Unique|\n| 0024| 0024| Exotic|\n| 0025| 0025| Small/medium truck|\n| 0026| 0026| Large truck|\n| 0027| 0027| Small SUV|\n| 0028| 0028| Medium SUV|\n| 0029| 0029| Large SUV|\n| 0030| 0030| Exotic SUV|\n| 9999| 9999| Miscellaneous|\n\nAdditional Values allowed **only** for `American Express`:\n\n|American Express|MasterCard|Description|\n|--- |--- |--- |\n| 0031| NA| Four Wheel Drive|\n| 0032| NA| Special|\n| 0099| NA| Taxi|\n" }, "distanceTravelled": { "type": "string", "maxLength": 5, "description": "Total number of miles driven by the customer.\nThis field is supported only for MasterCard and American Express.\n" }, "distanceUnit": { "type": "string", "maxLength": 1, "description": "Miles/Kilometers Indicator shows whether the \"miles\" fields are expressed in miles or kilometers.\n\nAllowed values:\n- `K` - Kilometers\n- `M` - Miles\n" }, "returnDateTime": { "type": "string", "maxLength": 21, "description": "Date/time the auto was returned to the rental agency.\nFormat: ``yyyy-MM-dd HH-mm-ss z``\nThis field is supported for Visa, MasterCard, and American Express.\n" }, "rentalDateTime": { "type": "string", "maxLength": 21, "description": "Date/time the auto was picked up from the rental agency.\nFormat: `yyyy-MM-dd HH-mm-ss z`\nThis field is supported for Visa, MasterCard, and American Express.\n" }, "maxFreeDistance": { "type": "string", "maxLength": 4, "description": "Maximum number of free miles or kilometers allowed to a customer for the duration of the auto rental agreement.\nThis field is supported only for MasterCard and American Express.\n" }, "insuranceIndicator": { "type": "boolean", "description": "Used for MC and Discover\n\nValid values:\n- `true` - Yes (insurance was purchased)\n- `false` - No (insurance was not purchased)\n" }, "programCode": { "type": "string", "maxLength": 2, "description": "Used to identify special circumstances applicable to the Card Transaction or Cardholder, such as \"renter\" or \"show\".\n\nThis code is `2 digit` value agreed by Merchant and processor.\n" }, "returnAddress": { "type": "object", "properties": { "city": { "type": "string", "maxLength": 25, "description": "City where the auto was returned to the rental agency.\n" }, "state": { "type": "string", "maxLength": 3, "description": "State in which the auto was returned to the rental agency. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for MasterCard and American Express.\n" }, "country": { "type": "string", "maxLength": 3, "description": "Country where the auto was returned to the rental agency. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" }, "locationId": { "type": "string", "maxLength": 10, "description": "Code, address, phone number, etc. used to identify the location of the auto rental return.\nThis field is supported only for MasterCard and American Express.\n" }, "address1": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the rental address's street address.\n" }, "postalCode": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the return address's postal code.\n" }, "location": { "type": "string", "maxLength": 38, "description": "This field contains the location where the taxi passenger was dropped off or where the auto rental vehicle was returned.\n" } } }, "rentalAddress": { "type": "object", "properties": { "city": { "type": "string", "maxLength": 25, "description": "City in which the auto was rented.\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for American Express.\n\nFor all other card types, this field is ignored.\n" }, "state": { "type": "string", "maxLength": 3, "description": "State in which the auto was rented. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n" }, "country": { "type": "string", "maxLength": 3, "description": "Country where the auto was rented. Use the [ISO Standard Country Codes.](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\nThis field is supported only for American Express.\n" }, "locationId": { "type": "string", "maxLength": 10, "description": "The agency code, address, phone number, etc., used to identify the location where the vehicle was rented.\n" }, "address1": { "type": "string", "maxLength": 13, "description": "Address from where the vehicle was rented.\n" }, "address2": { "type": "string", "maxLength": 13, "description": "Address from where the vehicle was rented.\n" }, "postalCode": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the rental address's postal code.\n" }, "location": { "type": "string", "maxLength": 38, "description": "This field contains the location where a taxi passenger was picked up or where an auto rental vehicle was picked up. In most cases, this is the rental agency's business name that appears on the storefront and/or customer receipts, commonly referred to as the DBA (Doing Business As) name. However, if the vehicle was picked up at another location (e.g., a hotel,auto dealership, repair shop, etc.), the name of that location should be used. This entry must be easily recognized by the Cardmember to avoid unnecessary inquiries. If the name is more than 38 characters, use proper and meaningful abbreviation, when possible.\n" } } }, "agreementNumber": { "type": "string", "maxLength": 25, "description": "Auto rental agency's agreement (invoice) number provided to the customer. It is used to trace any inquiries about transactions.\nThis field is supported for Visa, MasterCard, and American Express.\nThis Merchant-defined value, which may be composed of any combination of characters and/or numerals, may become\npart of the descriptive bill on the Cardmember's statement.\n" }, "odometerReading": { "type": "string", "maxLength": 8, "description": "Odometer reading at time of vehicle rental.\n" }, "vehicleIdentificationNumber": { "type": "string", "maxLength": 20, "description": "This field contains a unique identifier assigned by the company to the vehicle.\n" }, "companyId": { "type": "string", "maxLength": 12, "description": "Corporate Identifier provides the unique identifier of the corporation or entity renting the vehicle:\n\n|Card Specific Validation|VISA|MasterCard|Discover|AMEX|\n|--- |--- |--- |--- |\n| Filed Length| NA| 12| NA| NA|\n| Field Type| NA| AN| NA| NA|\n| M/O/C| NA| O| NA| NA|\n" }, "numberOfAdditionalDrivers": { "type": "string", "maxLength": 1, "description": "The number of additional drivers included on the rental agreement not including the individual who signed the rental agreement.\n" }, "driverAge": { "type": "string", "maxLength": 3, "description": "Age of the driver renting the vehicle.\n" }, "specialProgramCode": { "type": "string", "maxLength": 2, "description": "Program code used to identify special circumstances, such as \"frequent renter\" or \"no show\" status for the renter.\nPossible values:\n- `0`: not applicable (default)\n- `1`: frequent renter\n- `2`: no show\n\nFor authorizations, this field is supported only for Visa.\n\nFor captures, this field is supported for Visa, MasterCard, and American Express.\n\nCode for special programs applicable to the Card Transaction or the Cardholder.\n" }, "vehicleMake": { "type": "string", "maxLength": 10, "description": "Make of the vehicle being rented (e.g., Chevrolet or Ford).\n" }, "vehicleModel": { "type": "string", "maxLength": 10, "description": "Model of the vehicle being rented (e.g., Cavalier or Focus).\n" }, "timePeriod": { "type": "string", "maxLength": 7, "description": "Indicates the time period for which the vehicle rental rate applies (e.g., daily, weekly or monthly). Daily, Weekly and Monthly are valid values.\n" }, "commodityCode": { "type": "string", "maxLength": 15, "description": "Commodity code or International description code used to classify the item. Contact your acquirer for a list of\ncodes.\n" }, "customerServicePhoneNumber": { "type": "string", "maxLength": 17, "description": "Customer service telephone number that is used to resolve questions or disputes. Include the area code, exchange, and number.\nThis field is supported only for MasterCard and American Express.\n" }, "taxDetails": { "type": "object", "properties": { "amount": { "type": "string", "maxLength": 13, "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n" }, "rate": { "type": "string", "maxLength": 6, "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" }, "applied": { "type": "boolean", "description": "Flag that indicates whether the tax amount (`travelInformation.autoRental.taxDetails.amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: tax amount is not included in the request.\n- `true`: tax amount is included in the request.\n" }, "exemptionCode": { "type": "string", "maxLength": 1, "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n" }, "taxType": { "type": "string", "maxLength": 10, "description": "Different taxes the rental agency applies to the rental agreement such as tourist tax, airport tax, or rental tax.\n" }, "taxSummary": { "type": "string", "maxLength": 12, "description": "Summary of all tax types\n" } } }, "insuranceAmount": { "type": "string", "maxLength": 12, "description": "Insurance charges.\nField is conditional and can include decimal point.\n" }, "oneWayDropOffAmount": { "type": "string", "maxLength": 12, "description": "Extra charges incurred for a one-way rental agreement for the auto.\nThis field is supported only for Visa.\n" }, "adjustedAmountIndicator": { "type": "string", "maxLength": 1, "description": "For **MasterCard** and **Discover**:\nAdjusted amount indicator code that indicates\nany miscellaneous charges incurred after the\nauto was returned. Possible values:\n- `A` - Drop-off charges\n- `B` - Delivery charges\n- `C` - Parking expenses\n- `D` - Extra hours\n- `E` - Violations\n- `X` - More than one of the above charges\n\nFor **American Express**:\nAudit indicator code that indicates any\nadjustment for mileage, fuel, auto damage,\netc. made to a rental agreement and whether\nthe cardholder was notified.\n\nPossible value for the authorization service:\n- `A` (default): adjustment amount greater than 0 (zero)\n\nPossible values for the capture service:\n- `X` - Multiple adjustments\n- `Y` - One adjustment only; Cardmember notified\n- `Z` - One adjustment only; Cardmember not notified. This value is used as the default if the request does not include this field and includes an adjustment amount greater than 0 (zero).\nThis is an optional field.\n" }, "adjustedAmount": { "type": "string", "maxLength": 12, "description": "Adjusted Amount indicates whether any miscellaneous charges were incurred after the vehicle was returned.\n\nFor authorizations, this field is supported only for American Express.\n\nFor captures, this field is supported only for MasterCard and American Express.\n**NOTE** For American Express, this field is required if the `travelInformation.autoRental.adjustedAmountIndicator` field\nis included in the request and has a value; otherwise, this field is optional.\n\nFor all other card types, this field is ignored.\n" }, "fuelCharges": { "type": "string", "maxLength": 12, "description": "Extra gasoline charges that extend beyond the basic rental agreement.\nThis field is supported only for Visa.\n" }, "weeklyRentalRate": { "type": "string", "maxLength": 12, "description": "Weekly Rental Amount provides the amount charged for a seven-day rental period. Field - Time Period needs to be populated with Weekly if this field is present\n" }, "dailyRentalRate": { "type": "string", "maxLength": 12, "description": "Daily auto rental rate charged.\nThis field is supported only for MasterCard and American Express.\n\nField - Time Period needs to be populated with Daily if this field is present\n" }, "ratePerMile": { "type": "string", "maxLength": 12, "description": "Rate charged for each mile.\nThis field is supported only for MasterCard and American Express.\n" }, "mileageCharge": { "type": "string", "maxLength": 12, "description": "Regular Mileage Charge provides the amount charged for regular miles traveled during vehicle rental. Two decimal places\n" }, "extraMileageCharge": { "type": "string", "maxLength": 12, "description": "Extra mileage charges that extend beyond the basic rental agreement.\nThis field is supported only for Visa.\n" }, "lateFeeAmount": { "type": "string", "maxLength": 12, "description": "Extra charges related to a late return of the rented auto.\nThis field is supported only for Visa.\n" }, "towingCharge": { "type": "string", "maxLength": 4, "description": "(Towing Charges) provides the amount charged to tow the rental vehicle.\n" }, "extraCharge": { "type": "string", "maxLength": 12, "description": "(Extra Charges) provides the extra charges associated with the vehicle rental.\n" }, "gpsCharge": { "type": "string", "maxLength": 12, "description": "Amount charged for renting a Global Positioning Service (GPS).\n" }, "phoneCharge": { "type": "string", "maxLength": 12, "description": "Additional charges incurred for phone usage included on the total bill.\n" }, "parkingViolationCharge": { "type": "string", "maxLength": 12, "description": "Extra charges incurred due to a parking violation for the auto.\nThis field is supported only for Visa.\n" }, "otherCharges": { "type": "string", "maxLength": 12, "description": "Total amount charged for all other miscellaneous charges not previously defined.\n" }, "companyName": { "type": "string", "maxLength": 50, "description": "Merchant to send their auto rental company name\n" }, "affiliateName": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the affiliate name.\n" } } }, "lodging": { "type": "object", "properties": { "checkInDate": { "type": "string", "maxLength": 6, "description": "Date on which the guest checked in. In the case of a no-show or a reservation, the scheduled arrival date.\nFormat: `MMDDYY`. For best interchange rates, make sure it is a valid date.\n" }, "checkOutDate": { "type": "string", "maxLength": 6, "description": "Date on which the guest checked out.\nFormat: `MMDDYY`. For best interchange rates, make sure it is a valid date.\n" }, "room": { "type": "array", "description": "The object containing the number of nights and the daily rate that applies for that no of nights.\n", "items": { "type": "object", "properties": { "dailyRate": { "type": "string", "maxLength": 8, "description": "Daily cost of the room.\n" }, "numberOfNights": { "type": "integer", "minimum": 1, "maximum": 9999, "description": "Number of nights billed at the rate specified by `travelInformation.lodging.room[].dailyRate`.\n" } } } }, "smokingPreference": { "type": "string", "maxLength": 1, "description": "Smoking preference of the guest.\nPossible values:\n- `Y`: smoking room\n- `N`: non-smoking room\n" }, "numberOfRooms": { "type": "integer", "minimum": 1, "maximum": 99, "description": "Number of rooms booked by the cardholder.\n" }, "numberOfGuests": { "type": "integer", "minimum": 1, "maximum": 99, "description": "Number of guests staying in the room.\n" }, "roomBedType": { "type": "string", "maxLength": 12, "description": "Type of room, such as queen, king, or two doubles.\n" }, "roomTaxType": { "type": "string", "maxLength": 10, "description": "Type of tax, such as tourist or hotel.\n" }, "roomRateType": { "type": "string", "maxLength": 12, "description": "Type of rate, such as corporate or senior citizen.\n" }, "guestName": { "type": "string", "maxLength": 40, "description": "Name of the guest under which the room is reserved.\n" }, "customerServicePhoneNumber": { "type": "string", "maxLength": 17, "description": "Your toll-free customer service phone number.\n" }, "corporateClientCode": { "type": "string", "maxLength": 17, "description": "Code assigned to a business. You can use this code to identify corporate rates and discounts for guests.\n" }, "additionalDiscountAmount": { "type": "string", "maxLength": 12, "description": "Amount of an additional coupon or discount.\n" }, "roomLocation": { "type": "string", "maxLength": 10, "description": "Location of room, such as lake view or ocean view.\n" }, "specialProgramCode": { "type": "string", "maxLength": 1, "description": "Code that identifies special circumstances.\nPossible values:\n- `1`: lodging (default)\n- `2`: no show reservation\n- `3`: advanced deposit\n" }, "totalTaxAmount": { "type": "string", "maxLength": 12, "description": "Total tax amount.\n" }, "prepaidCost": { "type": "string", "maxLength": 12, "description": "Prepaid amount, such as a deposit.\n" }, "foodAndBeverageCost": { "type": "string", "maxLength": 12, "description": "Cost for all food and beverages.\n" }, "roomTaxAmount": { "type": "string", "maxLength": 12, "description": "Total tax for the room.\n" }, "adjustmentAmount": { "type": "string", "maxLength": 12, "description": "Adjusted amount charged in addition to the reservation amount after the stay is complete.\n" }, "phoneCost": { "type": "string", "maxLength": 12, "description": "Cost of telephone services.\n" }, "restaurantCost": { "type": "string", "maxLength": 12, "description": "Cost of restaurant purchases\n" }, "roomServiceCost": { "type": "string", "maxLength": 12, "description": "Cost of room service.\n" }, "miniBarCost": { "type": "string", "maxLength": 12, "description": "Cost of mini-bar purchases.\n" }, "laundryCost": { "type": "string", "maxLength": 12, "description": "Cost of laundry services.\n" }, "miscellaneousCost": { "type": "string", "maxLength": 12, "description": "Miscellaneous costs.\n" }, "giftShopCost": { "type": "string", "maxLength": 12, "description": "Cost of gift shop purchases.\n" }, "movieCost": { "type": "string", "maxLength": 12, "description": "Cost of movies.\n" }, "healthClubCost": { "type": "string", "maxLength": 12, "description": "Cost of health club services.\n" }, "valetParkingCost": { "type": "string", "maxLength": 12, "description": "Cost of valet parking services.\n" }, "cashDisbursementCost": { "type": "string", "maxLength": 12, "description": "Cost of the cash that was disbursed plus any associated service fees\n" }, "nonRoomCost": { "type": "string", "maxLength": 12, "description": "Cost of non-room purchases, such as meals and gifts.\n" }, "businessCenterCost": { "type": "string", "maxLength": 12, "description": "Cost of business center services.\n" }, "loungeBarCost": { "type": "string", "maxLength": 12, "description": "Cost of lounge and bar purchases.\n" }, "transportationCost": { "type": "string", "maxLength": 12, "description": "Cost of transportation services.\n" }, "gratuityAmount": { "type": "string", "maxLength": 12, "description": "Gratuity.\n" }, "conferenceRoomCost": { "type": "string", "maxLength": 12, "description": "Cost of conference room services.\n" }, "audioVisualCost": { "type": "string", "maxLength": 12, "description": "Cost of audio visual services.\n" }, "banquestCost": { "type": "string", "maxLength": 12, "description": "Cost of banquet services.\n" }, "nonRoomTaxAmount": { "type": "string", "maxLength": 12, "description": "Tax on non-room purchases.\n" }, "earlyCheckOutCost": { "type": "string", "maxLength": 12, "description": "Service fee for early departure.\n" }, "internetAccessCost": { "type": "string", "maxLength": 12, "description": "Cost of Internet access.\n" }, "name": { "type": "string", "maxLength": 255, "description": "Name of the hotel for which the reservation is for. Mandatory in case the\nmerchant's business type is Hotel.\n" }, "hotelName": { "type": "string", "description": "The name of the hotel for which the reservation was made.\n" }, "checkInDateTime": { "type": "string", "description": "The date of the check-in in GMT+8 offset.\n" }, "checkOutDateTime": { "type": "string", "description": "The date of the check-out in GMT+8 offset.\n" } } }, "transit": { "type": "object", "properties": { "airline": { "type": "object", "properties": { "isDomestic": { "type": "string", "maxLength": 255, "description": "Specifies if the flight is:\nDomestic (01)\nInternational (02)\nIf Y then 01 else 02\n" }, "bookingReferenceNumber": { "type": "string", "maxLength": 15, "description": "Reference number for the airline booking.\nRequired if ticket numbers are not issued.\n" }, "carrierName": { "type": "string", "maxLength": 15, "description": "Airline that generated the ticket.\nFormat: English characters only.\nOptional request field.\n" }, "ticketIssuer": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 4, "description": "IATA2 airline code.\nFormat: English characters only.\nRequired for Mastercard; optional for all other card types.\n" }, "name": { "type": "string", "maxLength": 20, "description": "Name of the ticket issuer. If you do not include this field,\nCyberSource uses the value for your merchant name that is in the CyberSource merchant configuration database.\n" }, "address": { "type": "string", "maxLength": 16, "description": "Address of the company issuing the ticket.\n" }, "locality": { "type": "string", "maxLength": 18, "description": "City in which the transaction occurred.\nIf the name of the city exceeds 18 characters, use meaningful abbreviations.\nFormat: English characters only.\nOptional request field.\n" }, "administrativeArea": { "type": "string", "maxLength": 18, "description": "State in which transaction occured.\n" }, "postalCode": { "type": "string", "maxLength": 15, "description": "Zip code of the city in which transaction occured.\n" }, "country": { "type": "string", "maxLength": 18, "description": "Country in which transaction occured.\n" } } }, "ticketNumber": { "type": "string", "maxLength": 15, "description": "Ticket number.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" }, "checkDigit": { "type": "string", "maxLength": 1, "description": "Check digit for the ticket number. CyberSource recommends that you validate the check digit.\nWith Discover and Diners Club, a valid ticket number has these characteristics:\n- The value is numeric.\n- The first three digits are a valid IATA2 license plate carrier code.\n- The last digit is a check digit or zero (0).\n- All remaining digits are nonzero.\n" }, "restrictedTicketIndicator": { "type": "integer", "maxLength": 1, "description": "Flag that indicates whether or not the ticket is restricted (nonrefundable).\nPossible values:\n- 0: No restriction (refundable)\n- 1: Restricted (nonrefundable)\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" }, "transactionType": { "type": "integer", "maxLength": 2, "description": "Type of charge.\nPossible values:\n- 01: Charge is for an airline ticket\n- 02: Charge is for an item that is not an airline ticket\n" }, "extendedPaymentCode": { "type": "string", "maxLength": 3, "description": "The field is not currently supported.\n" }, "passengerName": { "type": "string", "maxLength": 42, "description": "Name of the passenger to whom the ticket was issued. This will always be a single passenger's name.\nIf there are more than one passengers, provide only the primary passenger's name.\nDo not include special characters such as commas, hyphens, or apostrophes.\nOnly ASCII characters are supported.\nFormat: English characters only.\nOptional request field.\n" }, "customerCode": { "type": "string", "maxLength": 40, "description": "Reference number or code that identifies the cardholder.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" }, "documentType": { "type": "string", "maxLength": 1, "description": "Airline document type code that specifies the purpose of the transaction.\nFormat: English characters only.\nOptional request field.\n\n| Code | Description |\n| --- | --- |\n| 01 | Passenger ticket |\n| 02 | Additional collection |\n| 03 | Excess baggage |\n| 04 | Miscellaneous charge order (MCO) or prepaid ticket authorization |\n| 05 | Special service ticket |\n| 06 | Supported refund |\n| 07 | Unsupported refund |\n| 08 | Lost ticket application |\n| 09 | Tour order voucher |\n| 10 | Ticket by mail |\n| 11 | Undercharge adjustment |\n| 12 | Group ticket |\n| 13 | Exchange adjustment |\n| 14 | SPD or air freight |\n| 15 | In-flight adjustment |\n| 16 | Agency passenger ticket |\n| 17 | Agency tour order or voucher |\n| 18 | Agency miscellaneous charge order (MCO) |\n| 19 | Agency exchange order |\n| 20 | Agency group ticket |\n| 21 | Debit adjustment for duplicate refund or use |\n| 22 | In-flight merchandise order |\n| 23 | Catalogue merchandise order |\n| 24 | In-flight phone charges |\n| 25 | Frequent flyer fee or purchase |\n| 26 | Kennel charge |\n| 27 | Animal transportation charge |\n| 28 | Firearms case |\n| 29 | Upgrade charge |\n| 30 | Credit for unused transportation |\n| 31 | Credit for class of service adjustment |\n| 32 | Credit for denied boarding |\n| 33 | Credit for miscellaneous refund |\n| 34 | Credit for lost ticket refund |\n| 35 | Credit for exchange refund |\n| 36 | Credit for overcharge adjustment |\n| 37 | Credit for multiple Unused tickets |\n| 38 | Exchange order |\n| 39 | Self-service ticket |\n| 41 | In-flight duty-free purchase |\n| 42 | Senior citizen discount booklets |\n| 43 | Club membership fee |\n| 44 | Coupon book |\n| 45 | In-flight charges |\n| 46 | Tour deposit |\n| 47 | Frequent flyer overnight delivery charge |\n| 48 | Frequent flyer fulfillment |\n| 49 | Small package delivery |\n| 50 | Vendor sale |\n| 51 | Miscellaneous taxes or fees |\n| 52 | Travel agency fee |\n| 60 | Vendor refund or credit |\n| 64 | Duty free sale |\n| 65 | Preferred seat upgrade |\n| 66 | Cabin upgrade |\n| 67 | Lounge or club access or day pass |\n| 68 | Agent assisted reservation or ticketing fee |\n| 69 | Ticket change or cancel fee |\n| 70 | Trip insurance |\n| 71 | Unaccompanied minor |\n| 72 | Standby fee |\n| 73 | Curbside baggage |\n| 74 | In-flight medical equipment |\n| 75 | Ticket or pass print fee |\n| 76 | Checked sporting or special equipment |\n| 77 | Dry ice fee |\n| 78 | Mail or postage fee |\n| 79 | Club membership fee or temporary trial |\n| 80 | Frequent flyer activation or reinstatement |\n| 81 | Gift certificate |\n| 82 | Onboard or in-flight prepaid voucher |\n| 83 | Optional services fee |\n| 84 | Advance purchase for excess baggage |\n| 85 | Advance purchase for preferred seat upgrade |\n| 86 | Advance purchase for cabin upgrade |\n| 87 | Advance purchase for optional services |\n| 88 | WiFi |\n| 89 | Packages |\n| 90 | In-flight entertainment or internet access |\n| 91 | Overweight bag fee |\n| 92 | Sleep sets |\n| 93 | Special purchase fee |\n" }, "documentNumber": { "type": "string", "maxLength": 14, "description": "The field is not currently supported.\n" }, "documentNumberOfParts": { "type": "integer", "maxLength": 4, "description": "The field is not currently supported.\n" }, "invoiceNumber": { "type": "string", "maxLength": 25, "description": "Invoice number for the airline transaction.\n" }, "invoiceDate": { "type": "integer", "maxLength": 8, "description": "Invoice date. The format is YYYYMMDD.\nIf this value is\nincluded in the request, it is used in the creation of the invoice number. See \"Invoice Number,\"\n" }, "additionalCharges": { "type": "string", "maxLength": 20, "description": "Description of the charge if the charge does not involve an airline ticket.\nFor example: Excess baggage.\n" }, "totalFeeAmount": { "type": "string", "maxLength": 12, "description": "Total fee for the ticket. This value cannot exceed `99999999999999999999` (twenty 9s).\nFormat: English characters only.\nOptional request field.\n" }, "clearingSequence": { "type": "string", "maxLength": 2, "description": "Number that identifies the clearing message when multiple clearing messages are allowed per authorized transaction.\nEach clearing message linked to one authorization request must include a unique clearing sequence number between 1 and the total number of clearing records.\nFormat: English characters only.\nOptional request field.\n" }, "clearingCount": { "type": "string", "maxLength": 2, "description": "Total number of clearing messages associated with the authorization request.\nFormat: English characters only.\nOptional request field.\n" }, "totalClearingAmount": { "type": "string", "maxLength": 20, "description": "Total clearing amount for all transactions in the clearing count set.\nThis value cannot exceed `99999999999999999999` (twenty 9s).\nFormat: English characters only.\nIf this field is not set and if the total amount from the original authorization is not NULL,\nthe total clearing amount is set to the total amount from the original authorization.\n" }, "numberOfPassengers": { "type": "integer", "maxLength": 3, "description": "Number of passengers for whom the ticket was issued.\nFormat: English characters only.\nOptional request field.\n" }, "reservationSystemCode": { "type": "string", "maxLength": 20, "description": "Code that specifies the computerized reservation system used to make the reservation and purchase the ticket.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" }, "processIdentifier": { "type": "string", "maxLength": 3, "description": "Airline process identifier. This value is the airline's three-digit IATA1 code\nwhich is used to process extended payment airline tickets.\n" }, "ticketIssueDate": { "type": "string", "maxLength": 8, "description": "Date on which the transaction occurred.\nFormat: `YYYYMMDD`\nFormat: English characters only.\nOptional request field.\n" }, "electronicTicketIndicator": { "type": "boolean", "description": "Flag that indicates whether an electronic ticket was issued.\nPossible values:\n- `true`\n- `false`\nOptional request field.\n" }, "originalTicketNumber": { "type": "string", "maxLength": 14, "description": "Original ticket number when the transaction is for a replacement ticket.\n" }, "purchaseType": { "type": "string", "maxLength": 3, "description": "Type of purchase. Possible values:\n- `EXC`: Exchange ticket\n- `MSC`: Miscellaneous (not a ticket purchase and not a transaction related to an exchange ticket)\n- `REF`: Refund\n- `TKT`: Ticket\nFormat: English characters only.\nOptional request field.\n" }, "creditReasonIndicator": { "type": "string", "maxLength": 1, "description": "Reason for the credit.\nPossible values:\n- `A`: Cancellation of the ancillary passenger transport purchase.\n- `B`: Cancellation of the airline ticket and the passenger transport ancillary purchase.\n- `C`: Cancellation of the airline ticket.\n- `O`: Other.\n- `P`: Partial refund of the airline ticket.\nFormat: English characters only.\n\nOptional request field.\n" }, "ticketChangeIndicator": { "type": "string", "maxLength": 1, "description": "Type of update.\nPossible values:\n- `C`: Change to the existing ticket.\n- `N`: New ticket.\nFormat: English characters only\nOptional request field.\n" }, "planNumber": { "type": "string", "maxLength": 1, "description": "Plan number based on the fare.\nThis value is provided by the airline.\nFormat: English characters only.\nOptional request field.\n" }, "arrivalDate": { "type": "string", "maxLength": 8, "description": "Date of arrival for the last leg of the trip.\nFormat: `MMDDYYYY`\nEnglish characters only.\nOptional request field.\n" }, "restrictedTicketDesciption": { "type": "string", "maxLength": 20, "description": "Text that describes the ticket limitations, such as _nonrefundable_.\nFormat: English characters only.\nOptional request field.\n" }, "exchangeTicketAmount": { "type": "string", "maxLength": 12, "description": "Amount of the exchanged ticket.\nFormat: English characters only.\n" }, "exchangeTicketFeeAmount": { "type": "string", "maxLength": 12, "description": "Fee for exchanging the ticket.\nFormat: English characters only.\nOptional request field.\n" }, "reservationType": { "type": "string", "maxLength": 32, "description": "The field is not currently supported.\n" }, "boardingFeeAmount": { "type": "string", "maxLength": 12, "description": "Boarding fee.\n" }, "legs": { "type": "array", "items": { "type": "object", "properties": { "carrierCode": { "type": "string", "maxLength": 4, "description": "IATA code for the carrier for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "flightNumber": { "type": "string", "maxLength": 6, "description": "Flight number for this leg of the trip.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "originatingAirportCode": { "type": "string", "maxLength": 5, "description": "IATA code for the originating airport for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "class": { "type": "string", "maxLength": 3, "description": "IATA code for the class of service for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "stopoverIndicator": { "type": "integer", "maxLength": 1, "description": "Code that indicates whether a stopover is allowed on this leg of the trip. Possible values:\n- `O` (capital letter \"O\") (default): Stopover allowed\n- `X` (capital letter \"X\"): Stopover not allowed\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "departureDate": { "type": "integer", "maxLength": 8, "description": "Departure date for the first leg of the trip.\nFormat: `YYYYMMDD`.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "destinationAirportCode": { "type": "string", "maxLength": 3, "description": "IATA code for the destination airport for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "fareBasis": { "type": "string", "maxLength": 15, "description": "Code for the fare basis for this leg of the trip.\nThe fare basis is assigned by the carriers and indicates a particular ticket type,\nsuch as business class or discounted/nonrefundable.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nFormat: English characters only.\nOptional request field for travel legs.auto_rental_regular_mileage_cost\n" }, "departTaxAmount": { "type": "string", "maxLength": 12, "description": "Amount of departure tax for this leg of the trip.\n" }, "conjunctionTicket": { "type": "string", "maxLength": 25, "description": "Ticket that contains additional coupons for this leg of the trip on an itinerary that has more than four segments.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "exchangeTicketNumber": { "type": "string", "maxLength": 25, "description": "New ticket number that is issued when the ticket is exchanged for this leg of the trip.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "couponNumber": { "type": "string", "maxLength": 1, "description": "Coupon number. Each leg on the ticket requires a separate coupon, and each coupon is identified by the coupon number.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "departureTime": { "type": "integer", "maxLength": 4, "description": "Time of departure for this leg of the trip. The format is military time and HHMM:\nIf not all zeros, then the hours must be `00-23` and the minutes must be `00-59`.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "departureTimeMeridian": { "type": "string", "maxLength": 1, "description": "AM or PM for the departure time.\nPossible values:\n- A: 12:00 midnight to 11:59 a.m.\n- P: 12:00 noon to 11:59 p.m\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "arrivalTime": { "type": "integer", "maxLength": 4, "description": "Time of arrival for this leg of the trip.\nThe format is military time and HHMM:\nIf not all zeros, then the hours must be `00-23` and the minutes must be `00-59`\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "arrivalTimeMeridian": { "type": "string", "maxLength": 1, "description": "AM or PM for the arrival time for this leg of the trip.\nPossible values:\n- `A`: 12:00 midnight to 11:59 a.m.\n- `P`: 12:00 noon to 11:59 p.m.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "endorsementsRestrictions": { "type": "string", "maxLength": 20, "description": "Notes or notations about endorsements and restrictions for this leg of the trip.\nEndorsements can be notations added by the travel agency, including mandatory government-required notations such as value added tax.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "totalFareAmount": { "type": "string", "maxLength": 15, "description": "Total fare for this leg of the trip.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "feeAmount": { "type": "string", "maxLength": 12, "description": "Fee for this leg of the trip, such as an airport fee or country fee.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "taxAmount": { "type": "string", "maxLength": 12, "description": "Tax for this leg of the trip.\nFormat: English characters only.\nOptional request field for travel legs.\n" } } } }, "ancillaryInformation": { "type": "object", "properties": { "ticketNumber": { "type": "string", "maxLength": 15, "description": "Ticket number, which consists of the carrier code, form, and serial number, without the check digit.\n**Important** This field is required in the U.S. in order for you to qualify for either the\ncustom payment service (CPS) or the electronic interchange reimbursement fee (EIRF) program.\nFormat: English characters only.\nOptional field for ancillary services.\n" }, "passengerName": { "type": "string", "maxLength": 20, "description": "Name of the passenger. If the passenger's name is not available, this value is the cardholder's name. If neither the passenger's name nor the cardholder's name is available,\nthis value is a description of the ancillary purchase.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom payment service (CPS) or the electronic interchange reimbursement fee (EIRF)\nprogram.\nFormat: English characters only.\nOptional field for ancillary service.\n" }, "connectedTicketNumber": { "type": "string", "maxLength": 15, "description": "Number for the airline ticket to which the ancillary purchase is connected.\n\nIf this purchase has a connection or relationship to another purchase such as a baggage fee for a passenger transport ticket, this field must contain the ticket number for the other purchase.\n\nFor a stand-alone purchase, the value for this field must be the same as the value for the `travelInformation.transit.airline.ancillaryInformation.ticketNumber` field.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom payment service (CPS) or the electronic interchange reimbursement fee (EIRF)\nprogram.\nFormat: English characters only.\nOptional request field for ancillary services.\n" }, "creditReasonIndicator": { "type": "string", "maxLength": 15, "description": "Reason for the credit.\nPossible values:\n- `A`: Cancellation of the ancillary passenger transport purchase.\n- `B`: Cancellation of the airline ticket and the passenger transport ancillary purchase.\n- `C`: Cancellation of the airline ticket.\n- `O`: Other.\n- `P`: Partial refund of the airline ticket.\nFormat: English characters only.\nOptional field for ancillary services.\n" }, "service": { "type": "array", "items": { "type": "object", "properties": { "categoryCode": { "type": "string", "maxLength": 4, "description": "Category code for the ancillary service that is provided. Obtain the codes from the International\nAir Transport Association (IATA).\n**Note** `#` is either 0, 1, 2, or 3.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom\npayment service (CPS) or the electronic interchange reimbursement fee (EIRF)program.\nFormat: English characters only.\nOptional request field for ancillary services.\n" }, "subCategoryCode": { "type": "string", "maxLength": 4, "description": "Subcategory code for the ancillary service category. Obtain the codes from the International\nAir Transport Association (IATA).\n**Note** `#` is either 0, 1, 2, or 3.\nFormat English characters only.\nOptional request field for ancillary services.\n" } } } } } }, "flightType": { "type": "string", "maxLength": 2, "description": "Specifies the type of flight.\nOne way (0)\nReturn (1)\nTransit (2)\nTransit & Return (3)\nMulti-City (4)\n" }, "insuranceAmount": { "type": "string", "maxLength": 255, "description": "The total cost of the flight insurance. Example: 10000.00\n" }, "frequentFlyerNumber": { "type": "string", "maxLength": 255, "description": "The consumer's frequent flyer number. Leave 0 if there is no\nfrequent flyer number\n" }, "thirdPartyStatus": { "type": "string", "maxLength": 255, "description": "Specifies if the travel agent joins the flight (0) or not (1)\n" }, "passengerType": { "type": "string", "maxLength": 50, "description": "List of passenger types in a booking code:\nA (Adult)\nC (Child)\nComma separated values for total number of passenger\n" }, "totalInsuranceAmount": { "type": "string", "maxLength": 50, "description": "Total insurance amount. We have per leg and not total\n" } } } } }, "vehicleData": { "type": "object", "properties": { "connectorType": { "type": "string", "maxLength": 3, "description": "This field will contain connector type values for electric vehicle transactions.\n\nPossible Values:\n001 (AC - J1772 Type 1)\n002 (AC - Mennekes - Type 2)\n003 (AC - GB/T)\n100 (DC - CCS1)\n101 (DC - CHAdeMO)\n102 (DC - CCS2)\n103 (DC - GB/T)\n200 (NACS \u2013 Tesla)\n" }, "chargingReasonCode": { "type": "string", "maxLength": 3, "description": "This field will contain charging reason code values for electric vehicle transactions.\n\nPossible Values:\n010 (Other Error)\n011 (Connector Lock Failure)\n012 (EV Communication Error)\n013 (Ground Failure)\n014 (High Temperature)\n015 (Internal Error)\n016 (Over Current Failure)\n017 (Over Voltage)\n018 (Power Meter Failure)\n019 (Power Switch Failure)\n020 (Reader Failure)\n021 (Reset Failure)\n022 (Under Voltage)\n023 (Weak Signal)\n100 (No Error)\n200 (Payment Related Error)\n" } } } } }, "promotionInformation": { "type": "object", "properties": { "additionalCode": { "type": "string", "maxLength": 12, "description": "Additional rental agency marketed coupons for consumers to discount the rate of the vehicle rental agreement.\n" }, "code": { "type": "string", "maxLength": 12, "description": "Code for a promotion or discount.\n" } } } }, "example": { "clientReferenceInformation": { "code": "Testing-VDP-Payments-Refund" }, "orderInformation": { "amountDetails": { "totalAmount": "102.21", "currency": "USD" } } } } }, { "name": "id", "in": "path", "description": "The payment ID. This ID is returned from a previous payment request.", "required": true, "type": "string" } ], "responses": { "201": { "description": "Successful response.", "schema": { "title": "ptsV2PaymentsRefundPost201Response", "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." } } }, "void": { "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.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - PENDING\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "submitLocalDateTime": { "type": "string", "maxLength": 14, "description": "Date and time at your physical location.\n\nFormat: `YYYYMMDDhhmmss`, where YYYY = year, MM = month, DD = day, hh = hour, mm = minutes ss = seconds\n\n#### PIN Debit\nOptional field for PIN Debit purchase and credit requests.\n" }, "ownerMerchantId": { "type": "string", "description": "Merchant ID that was used to create the subscription or customer profile for which the service was requested.\n\nIf your CyberSource account is enabled for Recurring Billing, this field is returned only if you are using\nsubscription sharing and if your merchant ID is in the same merchant ID pool as the owner merchant ID.\n\nIf your CyberSource account is enabled for Payment Tokenization, this field is returned only if you are using\nprofile sharing and if your merchant ID is in the same merchant ID pool as the owner merchant ID.\n" }, "returnReconciliationId": { "type": "string", "description": "A new ID which is created for refund" } } }, "refundAmountDetails": { "type": "object", "properties": { "refundAmount": { "type": "string", "maxLength": 15, "description": "Total amount of the refund." }, "creditAmount": { "type": "string", "maxLength": 15, "description": "Amount that was credited to the cardholder's account.\n\nReturned by PIN debit credit.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" } } }, "processorInformation": { "type": "object", "properties": { "approvalCode": { "type": "string", "maxLength": 6, "description": "Authorization code. Returned only when the processor returns this value.\n\nThe length of this value depends on your processor.\n\nReturned by authorization service.\n\n#### PIN debit\nAuthorization code that is returned by the processor.\n\nReturned by PIN debit credit.\n\n#### Elavon Encrypted Account Number Program\nThe returned value is OFFLINE.\n\n#### TSYS Acquiring Solutions\nThe returned value for a successful zero amount authorization is 000000.\n" }, "transactionId": { "type": "string", "maxLength": 18, "description": "Processor transaction ID.\n\nThis value identifies the transaction on a host system. This value is supported only for Moneris. It contains\nthis information:\n\n - Terminal used to process the transaction\n - Shift during which the transaction took place\n - Batch number\n - Transaction number within the batch\n\nYou must store this value. If you give the customer a receipt, display this value on the receipt.\n\nExample For the value 66012345001069003:\n\n - Terminal ID = 66012345\n - Shift number = 001\n - Batch number = 069\n - Transaction number = 003\n" }, "forwardedAcquirerCode": { "type": "string", "maxLength": 32, "description": "Name of the Japanese acquirer that processed the transaction. Returned only for JCN Gateway.\nPlease contact the CyberSource Japan Support Group for more information.\n" }, "merchantNumber": { "type": "string", "maxLength": 15, "description": "Identifier that was assigned to you by your acquirer. This value must be printed on the receipt.\n\n#### Returned by\nAuthorizations and Credits.\n\nThis reply field is only supported by merchants who have installed client software on their POS terminals and\nuse these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n" }, "responseCode": { "type": "string", "maxLength": 10, "description": "For most processors, this is the error message sent directly from the bank. Returned only when the processor\nreturns this value.\n\n**Important** Do not use this field to evaluate the result of the authorization.\n\n#### PIN debit\nResponse value that is returned by the processor or bank.\n**Important** Do not use this field to evaluate the results of the transaction request.\n\nReturned by PIN debit credit, PIN debit purchase, and PIN debit reversal.\n\n#### AIBMS\nIf this value is `08`, you can accept the transaction if the customer provides you with identification.\n\n#### Atos\nThis value is the response code sent from Atos and it might also include the response code from the bank.\nFormat: `aa,bb` with the two values separated by a comma and where:\n- `aa` is the two-digit error message from Atos.\n- `bb` is the optional two-digit error message from the bank.\n\n#### Comercio Latino\nThis value is the status code and the error or response code received from the processor separated by a colon.\nFormat: [status code]:E[error code] or [status code]:R[response code]\nExample `2:R06`\n\n#### JCN Gateway\nProcessor-defined detail error code. The associated response category code is in the `processorInformation.responseCategoryCode` field.\nString (3)\n" }, "achVerification": { "type": "object", "properties": { "resultCode": { "type": "string", "maxLength": 2, "description": "Results from the ACH verification service.\nFor details about this service and the possible values for the results, see \"ACH Verification\" and \"Verification Codes\" in the [Electronic Check Services Using the SCMP API](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/).\n" }, "resultCodeRaw": { "type": "string", "maxLength": 10, "description": "Raw results from the ACH verification service.\nFor details about this service and the possible values for the raw results, see \"ACH Verification\" and \"Verification Codes\" in the [Electronic Check Services Using the SCMP API](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/).\n" } } }, "networkTransactionId": { "type": "string", "description": "Same value as `processorInformation.transactionId`" }, "settlementDate": { "type": "string", "maxLength": 4, "description": "Field contains a settlement date. The date is in mmdd format, where: mm = month and dd = day.\n" } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "settlementAmount": { "type": "string", "maxLength": 12, "description": "This is a multicurrency field. It contains the transaction amount (field 4), converted to the Currency used to bill the cardholder's account.\nThis field is returned for OCT transactions.\n" }, "settlementCurrency": { "type": "string", "maxLength": 3, "description": "This is a multicurrency-only field. It contains a 3-digit numeric code that identifies the currency used by the issuer to bill the cardholder's account.\nThis field is returned for OCT transactions.\n" }, "exchangeRate": { "type": "string", "maxLength": 13, "description": "Exchange rate returned by the DCC service. Includes a decimal point and a maximum of 4 decimal places.\n\nFor details, see `exchange_rate` request-level field description in the [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf)\n" }, "foreignAmount": { "type": "string", "maxLength": 15, "description": "Set this field to the converted amount that was returned by the DCC provider.\nFor processor-specific information, see the `foreign_amount` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "foreignCurrency": { "type": "string", "maxLength": 5, "description": "Set this field to the converted amount that was returned by the DCC provider.\n" } } }, "invoiceDetails": { "type": "object", "properties": { "level3TransmissionStatus": { "type": "boolean", "description": "Indicates whether CyberSource sent the Level III information to the processor. The possible values are:\n\nIf your account is not enabled for Level III data or if you did not include the purchasing level field in your\nrequest, CyberSource does not include the Level III data in the request sent to the processor.\n\nPossible values:\n- **true**\n- **false**\n" } } } } }, "pointOfSaleInformation": { "type": "object", "properties": { "terminalId": { "type": "string", "maxLength": 8, "description": "Identifier for the terminal at your retail location. You can define this value yourself, but consult the processor for requirements.\n\n#### CyberSource through VisaNet\nA list of all possible values is stored in your CyberSource account. If terminal ID validation is enabled for\nyour CyberSource account, the value you send for this field is validated against the list each time you include\nthe field in a request. To enable or disable terminal ID validation, contact CyberSource Customer Support.\n\nWhen you do not include this field in a request, CyberSource uses the default value that is defined in your CyberSource account.\n\n#### FDC Nashville Global\nTo have your account configured to support this field, contact CyberSource Customer Support. This value must be a value that FDC Nashville Global issued to you.\n\n#### For Payouts\nThis field is applicable for CyberSource through VisaNet.\n\n#### GPX\nIdentifier for the terminal at your retail location. A list of all possible values is stored in your account.\nIf terminal ID validation is enabled for your account, the value you send for this field is validated against\nthe list each time you include the field in a request. To enable or disable terminal ID validation, contact\ncustomer support.\n\nWhen you do not include this field in a request, the default value that is defined in your account is used.\n\nOptional for authorizations.\n\n#### Used by\n**Authorization**\nOptional for the following processors. When you do not include this field in a request, the default value that is\ndefined in your account is used.\n - American Express Direct\n - Credit Mutuel-CIC\n - FDC Nashville Global\n - SIX\n- Chase Paymentech Solutions: Optional field. If you include this field in your request, you must also include `pointOfSaleInformation.catLevel`.\n- FDMS Nashville: The default value that is defined in your account is used.\n- GPX\n- OmniPay Direct: Optional field.\n\nFor the following processors, this field is not used.\n- GPN\n- JCN Gateway\n- RBS WorldPay Atlanta\n- TSYS Acquiring Solutions\n- Worldpay VAP\n\n#### Card Present reply\nTerminal identifier assigned by the acquirer. This value must be printed on the receipt.\n" } } } }, "example": { "_links": { "self": { "href": "/pts/v2/refunds/4963014779006178301545", "method": "GET" }, "void": { "href": "/pts/v2/refunds/4963014779006178301545/voids", "method": "POST" } }, "id": "4963014779006178301545", "submitTimeUtc": "2017-06-01T071757Z", "status": "200", "reconciliationId": "39571012D3DFEKS0", "statusInformation": { "reason": "SUCCESS", "message": "Successful transaction." }, "clientReferenceInformation": { "code": "Testing-VDP-Payments-Refund" }, "orderInformation": { "amountDetails": { "currency": "USD" } }, "refundAmountDetails": { "currency": "USD", "refundAmount": "102.21" } } } }, "400": { "description": "Invalid request.", "schema": { "type": "object", "title": "ptsV2PaymentsRefundPost400Response", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_CARD\n - INVALID_MERCHANT_CONFIGURATION\n - INVALID_AMOUNT\n - CAPTURE_ALREADY_VOIDED\n - ACCOUNT_NOT_ALLOWED_CREDIT\n - NOT_SUPPORTED\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" } } } } } } }, "502": { "description": "Unexpected system error or system timeout.", "schema": { "title": "ptsV2PaymentsRefundPost502Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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": "Refund a Payment", "value": { "clientReferenceInformation": { "code": "TC50171_3" }, "orderInformation": { "amountDetails": { "totalAmount": "10", "currency": "USD" } } } }, "example1": { "summary": "Electronic check follow-on Refund", "value": { "clientReferenceInformation": { "code": "TC50171_3" }, "processingInformation": { "commerceIndicator": "internet" }, "orderInformation": { "amountDetails": { "totalAmount": "100", "currency": "USD" } }, "paymentInformation": { "paymentType": { "name": "CHECK" } } }, "depends": { "example": { "path": "/pts/v2/payments", "verb": "post", "exampleId": "example0" }, "fieldMapping": [ { "sourceField": "id", "destinationField": "id", "fieldTypeInDestination": "path" } ] } } } } }, "/pts/v2/captures/{id}/refunds": { "post": { "summary": "Refund a Capture", "description": "Refund a capture API is only used, if you have requested Capture independenlty using [/pts/v2/payments/{id}/captures](https://developer.cybersource.com/api-reference-assets/index.html#payments_capture) API call. Include the capture ID in the POST request to refund the captured amount.\n", "tags": [ "refund" ], "operationId": "refundCapture", "x-devcenter-metaData": { "categoryTag": "Payments", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/payments/developer/ctv/rest/payments/payments-intro.html" }, "parameters": [ { "name": "refundCaptureRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" }, "returnReconciliationId": { "type": "string", "description": "A new ID which is created for refund" }, "pausedRequestId": { "type": "string", "maxLength": 26, "description": "Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call.\n" }, "transactionId": { "type": "string", "maxLength": 30, "description": "Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request.\n\n**Note** Use this field only if you want to support merchant-initiated reversal and void operations.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, and Void**\nOptional field.\n\n#### PIN Debit\nFor a PIN debit reversal, your request must include a request ID or a merchant transaction identifier.\nOptional field for PIN debit purchase or credit requests.\n" }, "comments": { "type": "string", "description": "Comments" }, "partner": { "type": "object", "properties": { "originalTransactionId": { "type": "string", "maxLength": 32, "description": "Value that links the previous transaction to the current follow-on request. This value is assigned by the client\nsoftware that is installed on the POS terminal, which makes it available to the terminal's software and to\nCyberSource. Therefore, you can use this value to reconcile transactions between CyberSource and the terminal's\nsoftware.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" }, "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" }, "thirdPartyCertificationNumber": { "type": "string", "maxLength": 12, "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" } } }, "applicationName": { "type": "string", "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" }, "applicationVersion": { "type": "string", "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "applicationUser": { "type": "string", "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" } } }, "processingInformation": { "type": "object", "properties": { "actionList": { "type": "array", "description": "Array of actions (one or more) to be included in the payment to invoke bundled services along with payment status.\n\nPossible values are one or more of follows:\n\n - `AP_REFUND`: Use this when Alternative Payment Refund service is requested.\n", "items": { "type": "string" } }, "paymentSolution": { "type": "string", "maxLength": 12, "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/VCO_SCMP_API/html/)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. For details, see \"Masterpass\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Please check with Cybersource customer support to see if your merchant account is configured correctly so you\ncan include this field in your request.\n* For Payouts: max length for FDCCompass is String (22).\n" }, "linkId": { "type": "string", "maxLength": 26, "description": "Value that links the current authorization request to the original authorization request. Set this value\nto the ID that was returned in the reply message from the original authorization request.\n\nThis value is used for:\n\n- Partial authorizations\n- Split shipments\n\nFor details, see `link_to_request` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "reportGroup": { "type": "string", "maxLength": 25, "description": "Attribute that lets you define custom grouping for your processor reports. This field is supported only for **Worldpay VAP**.\n\nFor details, see `report_group` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "visaCheckoutId": { "type": "string", "maxLength": 48, "description": "Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in\nthe Visa Checkout **callID** field.\n" }, "purchaseLevel": { "type": "string", "maxLength": 1, "description": "Set this field to 3 to indicate that the request includes Level III data." }, "recurringOptions": { "type": "object", "properties": { "loanPayment": { "type": "boolean", "description": "Flag that indicates whether this is a payment towards an existing contractual loan.\n\nPossible values:\n- `true`: Loan payment\n- `false`: (default) Not a loan payment\n\nFor processor-specific details, see `debt_indicator` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n", "default": false } } }, "industryDataType": { "type": "string", "maxLength": 20, "description": "Indicates that the transaction includes industry-specific data.\n\nPossible Values:\n- `airline`\n- `restaurant`\n- `lodging`\n- `auto_rental`\n- `transit`\n- `healthcare_medical`\n- `healthcare_transit`\n- `transit`\n\n#### Card Present, Airlines and Auto Rental\nYou must set this field to `airline` in order for airline data to be sent to the processor. For example, if this\nfield is not set to `airline` or is not included in the request, no airline data is sent to the processor.\n\nYou must set this field to `restaurant` in order for restaurant data to be sent to the processor. When this field\nis not set to `restaurant` or is not included in the request, no restaurant data is sent to the processor.\n\nYou must set this field to `auto_rental` in order for auto rental data to be sent to the processor. For example, if this\nfield is not set to `auto_rental` or is not included in the request, no auto rental data is sent to the processor.\n\nRestaurant data is supported only on CyberSource through VisaNet.\n" }, "paymentType": { "type": "string", "description": "Identifier for the payment type" }, "refundOptions": { "type": "object", "properties": { "reason": { "type": "string", "description": "The reason for the refund." } } } } }, "paymentInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 20, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n\n#### FDMS Nashville\nRequired. String (19)\n\n#### GPX\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nValid values: `01` through `12`. Leading 0 is required.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value\n(`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is\nin the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause\nthe issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (_type_=039), if there is no expiration date on the card, use `12`.\n\n#### FDMS Nashville\nRequired field.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the payment card expires.\n\nFormat: `YYYY`.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`1900` through `3000`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (**_type_**`=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDMS Nashville\nRequired field.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. If you send in 2 digits, they must be the last 2 digits of the year.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `014`: Enroute[^1]\n- `021`: JAL[^1]\n- `024`: Maestro (UK Domestic)[^1]\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `042`: Maestro (International)[^1]\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `054`: Elo[^3]\n- `062`: China UnionPay\n- '070': EFTPOS\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "accountEncoderId": { "type": "string", "maxLength": 3, "description": "Identifier for the issuing bank that provided the customer's encoded account number. Contact your processor for the bank's ID.\n" }, "issueNumber": { "type": "string", "maxLength": 5, "description": "Number of times a Maestro (UK Domestic) card has been issued to the account holder. The card might or might not have an issue number. The number can consist of one or two digits, and the first digit might be a zero. When you include this value in your request, include exactly what is printed on the card. A value of 2 is different than a value of 02. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card.\n\n**Note** The issue number is not required for Maestro (UK Domestic) transactions.\n" }, "startMonth": { "type": "string", "maxLength": 2, "description": "Month of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: MM`. Possible values: 01 through 12.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "startYear": { "type": "string", "maxLength": 4, "description": "Year of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: YYYY`.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "sourceAccountType": { "type": "string", "maxLength": 20, "description": "Flag that specifies the type of account associated with the card. \nThe cardholder provides this information during the payment process.\n\nThis field is required in the following cases:\n - Debit transactions on Cielo and Comercio Latino.\n - Transactions with Brazilian-issued cards on CyberSource through VisaNet.\n - Applicable only for CyberSource through VisaNet (CtV).\n\n**Note** Combo cards in Brazil contain credit and debit functionality in a single card. Visa systems use a credit bank\nidentification number (BIN) for this type of card. Using the BIN to determine whether a card is debit or\ncredit can cause transactions with these cards to be processed incorrectly. CyberSource strongly recommends\nthat you include this field for combo card transactions.\n\nPossible values include the following.\n\n - `CH`: Checking account\n - `CR`: Credit card account\n - `SA`: Saving account\n - `LI`: Line of credit or credit portion of combo card\n - `PP`: Prepaid card account or prepaid portion of combo card\n - `UA`: Universal account\n\nIf useAs is set to credit/debit and there is a value in SourceAccountType, the value in the SourceAccountType field will take precedence.\nIf useAs is set to CR/DB and there is a value in SourceAccountType, the value in the useAs field will take precedence.\n" }, "sourceAccountTypeDetails": { "type": "string", "maxLength": 4, "description": "Type of account that is being used when the value for the override_payment_method field is line of credit (LI) or prepaid card (PP).\nPossible values for line of credit:\n- `AGRC`: Visa Agro Custeio\n- `AGRE`: Visa Agro Electron\n- `AGRI`: Visa Agro Investimento\n- `AGRO`: Visa Agro\nPossible values for prepaid card:\n- `VVA`: Visa Vale Alimentacao\n- `VVF`: Visa Vale Flex\n- `VVR`: Visa Vale Refeicao\nThis field is supported only for combo card transactions in Brazil on CyberSource through VisaNet.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Number.\n\n#### FDMS Nashville\nRequired for American Express or if swiped; otherwise, optional.\n\n#### Ingenico ePayments\nDo not include this field when `commerceIndicator=recurring`.\n**Note** Ingenico ePayments was previously called _Global Collect_.\n\n#### TSYS Acquiring Solutions\nOptional if pointOfSaleInformation.entryMode=keyed; otherwise, not used.\n\n#### GPX\nOptional.\n\n#### All other processors:\nOptional.\n" }, "useAs": { "type": "string", "maxLength": 20, "description": "Flag that specifies the type of account associated with the card.\nThis field is available only for China UnionPay, Cielo, Comercio Latino and Visa Platform Connect.\nThe cardholder provides this information during the payment process.\n\nThis field is required for:\n - Debit transactions on Cielo and Comercio Latino.\n - Transactions with Brazilian-issued cards on CyberSource through VisaNet.\n\n**China UnionPayCard Transactions on China UnionPay:**\nPossible values:\n - C: Domestic credit card\n - D: Domestic debit card\n - F: International credit card\n - I: International debit card\n\nWhen the value is D, the e-commerce indicator and CAVV fields must be included in the authorization request.\nWhen the value is C, F or I the card verification number, expiration month and expiration year fields must in included in the authorization request.\n\n**Cielo and Comercio Latino Credit Card Transactions:**\nOn these processors, this field is supported only for authorizations.\nPossible values:\n - CR: Credit card\n - DB: Debit card \n\n**Visa Platform Connect Credit Card Transactions:**\nThis field is supported only for all card Types on Visa Platform Connect.\n\nA value of CR or DB in the useAs field takes precedence over any value in the Source Account Type field.\n" } } }, "bank": { "type": "object", "properties": { "account": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 1, "description": "Account type.\n\nPossible values:\n - **C**: Checking.\n - **G**: General ledger. This value is supported only on Wells Fargo ACH.\n - **S**: Savings (U.S. dollars only).\n - **X**: Corporate checking (U.S. dollars only).\n" }, "number": { "type": "string", "maxLength": 17, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "encoderId": { "type": "string", "maxLength": 3, "description": "Identifier for the bank that provided the customer's encoded account number.\n\nTo obtain the bank identifier, contact your processor.\n\nFor details, see `account_encoder_id` request-level field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "checkNumber": { "type": "string", "maxLength": 8, "description": "Check number.\n\nChase Paymentech Solutions - Optional.\nCyberSource ACH Service - Not used.\nRBS WorldPay Atlanta - Optional on debits. Required on credits.\nTeleCheck - Strongly recommended on debit requests. Optional on credits.\n" }, "checkImageReferenceNumber": { "type": "string", "maxLength": 32, "description": "Image reference number associated with the check. You cannot include any special characters.\n" } } }, "routingNumber": { "type": "string", "maxLength": 9, "description": "Bank routing number. This is also called the _transit number_.\n\nFor details, see `ecp_rdfi` request field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" }, "iban": { "type": "string", "maxLength": 50, "description": "International Bank Account Number (IBAN) for the bank account. For some countries you can provide this number instead of the traditional bank account information. You can use this field only when scoring a direct debit transaction.\n\nFor all possible values, see the `bank_iban` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "swiftCode": { "type": "string", "description": "Bank's SWIFT code. You can use this field only when scoring a direct debit transaction.\nRequired only for crossborder transactions.\n\nFor all possible values, see the `bank_swiftcode` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" } } }, "tokenizedCard": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 20, "description": "Customer's payment network token value.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "One of two possible meanings:\n- The two-digit month in which a token expires.\n- The two-digit month in which a card expires.\nFormat: `MM`\nPossible values: `01` through `12`\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_type=039`), if there is no expiration date on the card, use `12`.\\\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Samsung Pay and Apple Pay\nMonth in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\nFor processor-specific information, see the `customer_cc_expmo` field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n\nFor processor-specific information, see the `customer_cc_expyr` or `token_expiration_year` field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `014`: Enroute[^1]\n- `021`: JAL[^1]\n- `024`: Maestro (UK Domestic)[^1]\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `042`: Maestro (International)[^1]\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `054`: Elo[^3]\n- `062`: China UnionPay\n- '070': EFTPOS\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "cryptogram": { "type": "string", "maxLength": 255, "description": "This field contains token information." }, "requestorId": { "type": "string", "maxLength": 11, "description": "Value that identifies your business and indicates that the cardholder's account number is tokenized. This value\nis assigned by the token service provider and is unique within the token service provider's database.\n\n**Note** This field is supported only for **CyberSource through VisaNet** and **FDC Nashville Global**.\n\n#### PIN debit\nOptional field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.\n" }, "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it specifies the entity that\nprovided you with information about the token.\n\nPossible value:\n- `2`: Near-field communication (NFC) transaction. The customer's mobile device provided the token data for a contactless EMV transaction. For recurring\ntransactions, use this value if the original transaction was a contactless EMV transaction.\n\n#### Visa Platform Connect\n- `1`: For Rupay and In App tokenization. Example: InApp apple pay.\n- `3`: Card/Credential On File Tokenization.\n\n**NOTE** No CyberSource through VisaNet acquirers support EMV at this time.\n\nRequired field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.\n\n#### Rupay\n- `3`: Card/Credential On File Tokenization.\n- `4`: Tokenizined Transaction. Should be used for Guest Checkout transactions with token.\n" }, "assuranceLevel": { "type": "string", "maxLength": 2, "description": "Confidence level of the tokenization. This value is assigned by the token service provider.\n\n**Note** This field is supported only for **CyberSource through VisaNet** and **FDC Nashville Global**.\n\nReturned by PIN debit credit or PIN debit purchase.\n\n**Note** Merchants supported for **CyberSource through VisaNet**/**Visa Platform Connect** are advised not to use this field.\n" }, "storageMethod": { "type": "string", "maxLength": 3, "description": "Type of technology used in the device to store token data. Possible values:\n\n- `001`: Secure Element (SE). Smart card or memory with restricted access and encryption to prevent data tampering. For storing payment\n credentials, a SE is tested against a set of requirements defined by the payment networks.\n\n **Note** This field is supported only for _FDC Compass_.\n\n- 002: Host Card Emulation (HCE). Emulation of a smart card by using software to create a virtual and exact representation of the card.\nSensitive data is stored in a database that is hosted in the cloud. For storing payment credentials, a database\nmust meet very stringent security requirements that exceed PCI DSS.\n\n**Note** This field is supported only for _FDC Compass_.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Number (CVN).\n\n#### Ingenico ePayments\nDo not include this field when **commerceIndicator=recurring**.\n**Note** Ingenico ePayments was previously called _Global Collect_.\n\nFor details, see `customer_cc_cv_number` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "securityCodeIndicator": { "type": "string", "maxLength": 1, "description": "Indicates whether a CVN code was sent. Possible values:\n\n - `0` (default): CVN service not requested. This default value is used when you do not include\n `securityCode` field in the request.\n - `1` (default): CVN service requested and supported. This default value is used when you include\n `securityCode` field in the request.\n - `2`: CVN on credit card is illegible.\n - `9`: CVN was not imprinted on credit card.\n\n#### FDMS Nashville\nRequired for American Express cards; otherwise, optional.\n\n#### TSYS Acquiring Solutions\nOptional if `pointOfSaleInformation.entryMode=keyed`; otherwise, not used.\n\n#### All other processors\nOptional.\n" }, "assuranceMethod": { "type": "string", "maxLength": 2, "description": "Confidence level of the tokenization. This value is assigned by the token service provider.\n\n**Note** This field is supported only for **Visa Platform Connect**\n" } } }, "fluidData": { "type": "object", "properties": { "keySerialNumber": { "type": "string", "description": "The encoded or encrypted value that a payment solution returns for an authorization request. For details about the valid values for a key, see [Creating an Online Authorization](https://developer.cybersource.com/api/developer-guides/dita-payments/CreatingOnlineAuth.html)\n" }, "descriptor": { "type": "string", "maxLength": 128, "description": "The identifier for a payment solution, which is sending the encrypted payment data for decryption. Valid values:\nSamsung Pay: RklEPUNPTU1PTi5TQU1TVU5HLklOQVBQLlBBWU1FTlQ=\nNote: For other payment solutions, the value may be specific to the terminal or device initiatinf the payment. For example, the descriptor for a Bluefin payment encryption would be a device-generated descriptor.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits.\n\nCard Present processing:\nFormat of the encrypted payment data.\nThe value for Bluefin PCI P2PE is `Ymx1ZWZpbg==`. paymentInformation.fluidData.encoding must be `Base64`.\nThe value for Cybersource P2PE decryption depends on the encoding method used and identified in encoding field.\nIf paymentInformation.fluidData.encoding is `Base64`, the value is: `RklEPUVNVi5QQVlNRU5ULkFQSQ==`\nIf paymentInformation.fluidData.encoding is `HEX`, the value is: `4649443D454D562E5041594D454E542E41504`\n" }, "value": { "type": "string", "maxLength": 4000, "description": "Represents the encrypted payment data BLOB. The entry for this field is dependent on the payment solution used by the merchant.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits that use a Cybersource suppored Point-to-Point encryption method.\nCard Present processing\nThis field represents the encrypted payment data generated by the payment terminal/device.\n" }, "encoding": { "type": "string", "maxLength": 6, "description": "Encoding method used to encrypt the payment data.\nValid values: `Base64`, `HEX`\nIf no value is provided, `Base64` is taken as the default value. And the `Base64` descriptor is used for paymentInformation.fluidData.encoding\n" } } }, "customer": { "type": "object", "properties": { "customerId": { "type": "string", "description": "Unique identifier for the customer's card and billing information.\n\nWhen you use Payment Tokenization or Recurring Billing and you include this value in\nyour request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n\n**NOTE** When you use Payment Tokenization or Recurring Billing, the value for the Customer ID is actually the Cybersource payment token for a customer. This token stores information such as the consumer's card number so it can be applied towards bill payments, recurring payments, or one-time payments. By using this token in a payment API request, the merchant doesn't need to pass in data such as the card number or expiration date in the request itself.\n\nFor details, see the `subscription_id` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "id": { "type": "string", "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "paymentInstrument": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Payment Instrument token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Instrument Identifier token used in the transaction.\nWhen you include this value in your request, many of the fields that can be supplied for an authorization or credit\nbecome optional.\n", "minLength": 12, "maxLength": 32 } } }, "shippingAddress": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Customers Shipping Address token used in the transaction.\nWhen you include this value in your request, many of the shipping fields that can be supplied for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "legacyToken": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the legacy Secure Storage token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "paymentType": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" }, "subTypeName": { "type": "string", "description": "In case the APM supports multiple modes of initiation (e.g. Alipay via QR Code or Barcode)\n" }, "method": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n" } } } } }, "eWallet": { "type": "object", "properties": { "fundingSource": { "type": "string", "maxLength": 30, "description": "Payment mode for the authorization or order transaction. \uf06e INSTANT_TRANSFER \uf06e MANUAL_BANK_TRANSFER \uf06e DELAYED_TRANSFER \uf06e ECHECK \uf06e UNRESTRICTED (default)\u2014this value is available only when configured by PayPal for the merchant. \uf06eINSTANT" } } } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. For details, see:\n- \"Authorization Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Capture Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Credit Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\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. For details, see \"Zero Amount Authorizations,\" \"Credit Information for Specific Processors\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\nRequired for creating a new invoice.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. For details, see `grand_total_amount` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in \"Authorization Information for Specific Processors\" of the [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "discountAmount": { "type": "string", "maxLength": 15, "description": "Total discount amount applied to the order.\n" }, "dutyAmount": { "type": "string", "maxLength": 15, "description": "Total charges for any import or export duties included in the order.\n" }, "gratuityAmount": { "type": "string", "maxLength": 13, "description": "Gratuity or tip amount for restaurants. Allowed only when industryDatatype=restaurant.\nWhen your customer uses a debit card or prepaid card, and you receive a partial authorization, the payment networks recommend that you do not\nsubmit a capture amount that is higher than the authorized amount. When the capture amount exceeds the partial amount that was approved, the\nissuer has chargeback rights for the excess amount.\n\nUsed by **Capture**\nOptional field.\n\n#### CyberSource through VisaNet\nRestaurant data is supported only on CyberSource through VisaNet when card is present.\n" }, "taxAmount": { "type": "string", "maxLength": 12, "description": "Total tax amount for all the items in the order.\n" }, "nationalTaxIncluded": { "type": "string", "maxLength": 1, "description": "Flag that indicates whether a national tax is included in the order total.\n\nPossible values:\n\n - **0**: national tax not included\n - **1**: national tax included\n" }, "taxAppliedAfterDiscount": { "type": "string", "maxLength": 1, "description": "Flag that indicates how the merchant manages discounts.\n\nPossible values:\n\n - **0**: no invoice level discount included\n - **1**: tax calculated on the postdiscount invoice total\n - **2**: tax calculated on the prediscount invoice total\n" }, "taxAppliedLevel": { "type": "string", "maxLength": 1, "description": "Flag that indicates how you calculate tax.\n\nPossible values:\n\n - **0**: net prices with tax calculated at line item level\n - **1**: net prices with tax calculated at invoice level\n - **2**: gross prices with tax provided at line item level\n - **3**: gross prices with tax provided at invoice level\n - **4**: no tax applies on the invoice for the transaction\n" }, "taxTypeCode": { "type": "string", "maxLength": 3, "description": "For tax amounts that can be categorized as one tax type.\n\nThis field contains the tax type code that corresponds to the entry in the _lineItems.taxAmount_ field.\n\nPossible values:\n\n - **056**: sales tax (U.S only)\n - **TX~**: all taxes (Canada only) Note ~ = space.\n" }, "freightAmount": { "type": "string", "maxLength": 13, "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n\nFor processor-specific information, see the freight_amount field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "foreignAmount": { "type": "string", "maxLength": 15, "description": "Set this field to the converted amount that was returned by the DCC provider.\nFor processor-specific information, see the `foreign_amount` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "foreignCurrency": { "type": "string", "maxLength": 5, "description": "Set this field to the converted amount that was returned by the DCC provider.\n" }, "exchangeRate": { "type": "string", "maxLength": 13, "description": "Exchange rate returned by the DCC service. Includes a decimal point and a maximum of 4 decimal places.\n\nFor details, see `exchange_rate` request-level field description in the [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf)\n" }, "exchangeRateTimeStamp": { "type": "string", "maxLength": 14, "description": "Time stamp for the exchange rate. This value is returned by the DCC service.\n\nFormat: `YYYYMMDD~HH:MM` where ~ denotes a space.\n" }, "amexAdditionalAmounts": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 3, "description": "Additional amount type. This field is supported only for **American Express Direct**.\n\nFor processor-specific information, see the `additional_amount_type0` request-level field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "amount": { "type": "string", "maxLength": 12, "description": "Additional amount. This field is supported only for **American Express Direct**.\n" } } } }, "taxDetails": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n\nFor processor-specific details, see the `alternate_tax_amount`, `local_tax`, `national_tax` or `vat_tax_amount` field\ndescriptions in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "amount": { "type": "string", "maxLength": 13, "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" }, "rate": { "type": "string", "maxLength": 6, "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n\nFor processor-specific details, see the `alternate_tax_amount`, `vat_rate`, `vat_tax_rate`, `local_tax`, `national_tax`, `vat_tax_amount` or `other_tax#_rate` field descriptions in the [Level II and Level III Processing Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "code": { "type": "string", "maxLength": 4, "description": "Type of tax being applied to the item.\n\nFor possible values, see the processor-specific field descriptions in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/):\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" }, "taxId": { "type": "string", "maxLength": 15, "description": "Your tax ID number to use for the alternate tax amount. Required if you set alternate tax amount to any value,\nincluding zero. You may send this field without sending alternate tax amount.\n\nFor processor-specific details, see `alternate_tax_id` field description in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "applied": { "type": "boolean", "description": "Flag that indicates whether the alternate tax amount (`orderInformation.amountDetails.taxDetails[].amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: alternate tax amount is not included in the request.\n- `true`: alternate tax amount is included in the request.\n\nFor processor-specific details, see `alternate_tax_amount_indicator` field description in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "exemptionCode": { "type": "string", "maxLength": 1, "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n\nFor possible values and important information for using this field, see _Appendix B, \"Exemption\nStatus Values_ and _Offer-Level Tax Fields_ in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" } } } }, "serviceFeeAmount": { "type": "string", "maxLength": 15, "description": "Service fee. Required for service fee transactions.\n" }, "originalCurrency": { "type": "string", "maxLength": 15, "description": "Your local pricing currency code.\n\nFor the possible values, see the [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n" }, "cashbackAmount": { "type": "string", "maxLength": 13, "description": "Cashback amount in the acquirer's currency. If a cashback amount is included in the request, it must be included\nin the `orderInformation.amountDetails.totalAmount` value.\n\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization**\nOptional.\n**Authorization Reversal**\nOptional.\n\n#### PIN debit\nOptional field for PIN debit purchase, PIN debit credit or PIN debit reversal.\n" } } }, "billTo": { "type": "object", "properties": { "title": { "type": "string", "maxLength": 60, "description": "Title.\n" }, "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called _CyberSource Latin American Processing_. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "middleName": { "type": "string", "maxLength": 60, "description": "Customer's middle name.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### RBS WorldPay Atlanta\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "company": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n\n**CyberSource through VisaNet**\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\nFor processor-specific information, see the `company_name` field in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "address1": { "type": "string", "maxLength": 40, "description": "First line in the street address of the company purchasing the product." }, "address2": { "type": "string", "maxLength": 40, "description": "Additional address information for the company purchasing the product." }, "locality": { "type": "string", "maxLength": 30, "description": "City in the address of the company purchasing the product." }, "administrativeArea": { "type": "string", "maxLength": 2, "description": "State or province in the address of the company purchasing the product. Use the State, Province, and Territory\nCodes for the United States and Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code in the address of the company purchasing the product. The postal code must consist of 5 to 9 digits.\n\nWhen the company country is the U.S., the 9-digit postal code must follow this format:\n**[5 digits][dash][4 digits]**\n#### Example\n`12345-6789`\n\nWhen the company country is Canada, the 6-digit postal code must follow this format:\n**[alpha][numeric][alpha][space][numeric][alpha][numeric]**\n#### Example\n`A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Country in the address of the company purchasing the product. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" } } }, "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "district": { "type": "string", "maxLength": 50, "description": "Customer's neighborhood, community, or region (a barrio in Brazil) within the city or municipality. This\nfield is available only on **Cielo**.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" }, "county": { "type": "string", "maxLength": 50, "description": "U.S. county if available." }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### SEPA/BACS\nRequired for Create Mandate and Import Mandate\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\nFor processor-specific information, see the `customer_email` request-level field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n\nIt is recommended that you include the country code when the order is from outside the U.S.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nOptional field.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" } } }, "shipTo": { "type": "object", "properties": { "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", "maxLength": 2 }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "email": { "type": "string", "description": "Email of the recipient.", "maxLength": 255 }, "county": { "type": "string", "description": "U.S. county if available.", "maxLength": 50 } } }, "lineItems": { "type": "array", "items": { "type": "object", "properties": { "productCode": { "type": "string", "maxLength": 255, "description": "Type of product. The value for this field is used to identify the product category (electronic, handling, physical,\nservice, or shipping). The default value is `default`.\n\nIf you are performing an authorization transaction (`processingOptions.capture` is set to `false`), and you set\nthis field to a value other than `default` or one of the values related to shipping and/or handling, then\n`orderInformation.lineItems[].quantity`, `orderInformation.lineItems[].productName`, and\n`orderInformation.lineItems[].productSku` fields are required.\n\nOptional field.\n\nFor details, see the `product_code` field description in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nThe Product Codes for the tax service are located in the Cybersource Tax Codes guide. Contact Customer Support to request the guide. If you don't send a tax service Product Code in your tax request, product-based rules or exemptions will not be applied and the transaction will default to fully taxable in the locations where you've indicated you need to collect tax [by way of nexus, no nexus, or seller registration number fields].\n" }, "productName": { "type": "string", "maxLength": 255, "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "productSku": { "type": "string", "maxLength": 255, "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" }, "quantity": { "type": "integer", "minimum": 1, "maximum": 999999999, "default": 1, "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "unitPrice": { "type": "string", "maxLength": 15, "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in the [Merchant Descriptors Using the SCMP API Guide.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Merchant_Descriptors_SCMP_API/html/)\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" }, "unitOfMeasure": { "type": "string", "maxLength": 12, "description": "Unit of measure, or unit of measure code, for the item.\n" }, "totalAmount": { "type": "string", "maxLength": 13, "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" }, "taxAmount": { "type": "string", "maxLength": 15, "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" }, "taxRate": { "type": "string", "maxLength": 7, "description": "Tax rate applied to the item.\n\nFor details, see `tax_rate` field description in the [Level II and Level III Processing Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" }, "taxAppliedAfterDiscount": { "type": "string", "maxLength": 1, "description": "Flag to indicate how you handle discount at the line item level.\n\n - 0: no line level discount provided\n - 1: tax was calculated on the post-discount line item total\n - 2: tax was calculated on the pre-discount line item total\n\n`Note` Visa will inset 0 (zero) if an invalid value is included in this field.\n\nThis field relates to the value in the _lineItems[].discountAmount_ field.\n" }, "taxStatusIndicator": { "type": "string", "maxLength": 1, "description": "Flag to indicate whether tax is exempted or not included.\n\n - 0: tax not included\n - 1: tax included\n - 2: transaction is not subject to tax\n" }, "taxTypeCode": { "type": "string", "maxLength": 4, "description": "Type of tax being applied to the item.\n\nFor possible values, see the processor-specific field descriptions in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/):\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" }, "amountIncludesTax": { "type": "boolean", "description": "Flag that indicates whether the tax amount is included in the Line Item Total.\n\nPossible values:\n - **true**\n - **false**\n" }, "typeOfSupply": { "type": "string", "maxLength": 2, "description": "Flag to indicate whether the purchase is categorized as goods or services.\nPossible values:\n\n - 00: goods\n - 01: services\n" }, "commodityCode": { "type": "string", "maxLength": 15, "description": "Commodity code or International description code used to classify the item. Contact your acquirer for a list of\ncodes.\n" }, "discountAmount": { "type": "string", "maxLength": 13, "description": "Discount applied to the item." }, "discountApplied": { "type": "boolean", "description": "Flag that indicates whether the amount is discounted.\n\nIf you do not provide a value but you set Discount Amount to a value greater than zero, then CyberSource sets\nthis field to **true**.\n\nPossible values:\n - **true**\n - **false**\n" }, "discountRate": { "type": "string", "maxLength": 6, "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" }, "invoiceNumber": { "type": "string", "maxLength": 23, "description": "Field to support an invoice number for a transaction. You must specify the number of line items that will\ninclude an invoice number. By default, the first line item will include an invoice number field. The invoice\nnumber field can be included for up to 10 line items.\n" }, "taxDetails": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n\nFor processor-specific details, see the `alternate_tax_amount`, `local_tax`, `national_tax` or `vat_tax_amount` field\ndescriptions in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "amount": { "type": "string", "maxLength": 13, "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" }, "rate": { "type": "string", "maxLength": 6, "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n\nFor processor-specific details, see the `alternate_tax_amount`, `vat_rate`, `vat_tax_rate`, `local_tax`, `national_tax`, `vat_tax_amount` or `other_tax#_rate` field descriptions in the [Level II and Level III Processing Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "code": { "type": "string", "maxLength": 4, "description": "Type of tax being applied to the item.\n\nFor possible values, see the processor-specific field descriptions in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/):\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" }, "taxId": { "type": "string", "maxLength": 15, "description": "Your tax ID number to use for the alternate tax amount. Required if you set alternate tax amount to any value,\nincluding zero. You may send this field without sending alternate tax amount.\n\nFor processor-specific details, see `alternate_tax_id` field description in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "applied": { "type": "boolean", "description": "Flag that indicates whether the alternate tax amount (`orderInformation.amountDetails.taxDetails[].amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: alternate tax amount is not included in the request.\n- `true`: alternate tax amount is included in the request.\n\nFor processor-specific details, see `alternate_tax_amount_indicator` field description in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "exemptionCode": { "type": "string", "maxLength": 1, "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n\nFor possible values and important information for using this field, see _Appendix B, \"Exemption\nStatus Values_ and _Offer-Level Tax Fields_ in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" } } } } } } }, "invoiceDetails": { "type": "object", "properties": { "purchaseOrderNumber": { "type": "string", "maxLength": 25, "description": "Value used by your customer to identify the order. This value is typically a purchase order number. CyberSource\nrecommends that you do not populate the field with all zeros or nines.\n\nFor processor-specific information, see the `user_po` field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "purchaseOrderDate": { "type": "string", "maxLength": 10, "description": "Date the order was processed. `Format: YYYY-MM-DD`.\n\nFor processor-specific information, see the `purchaser_order_date` field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "purchaseContactName": { "type": "string", "maxLength": 36, "description": "The name of the individual or the company contacted for company authorized purchases.\n\nFor processor-specific information, see the `authorized_contact_name` field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "taxable": { "type": "boolean", "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nFor processor-specific information, see the `tax_indicator` field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n\nPossible values:\n - **true**\n - **false**\n" }, "vatInvoiceReferenceNumber": { "type": "string", "maxLength": 15, "description": "VAT invoice number associated with the transaction.\n\nFor processor-specific information, see the `vat_invoice_ref_number` field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "commodityCode": { "type": "string", "maxLength": 4, "description": "International description code of the overall order's goods or services or the Categorizes purchases for VAT\nreporting. Contact your acquirer for a list of codes.\n\nFor processor-specific information, see the `summary_commodity_code` field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "transactionAdviceAddendum": { "type": "array", "items": { "type": "object", "properties": { "data": { "type": "string", "maxLength": 40, "description": "Four Transaction Advice Addendum (TAA) fields. These fields are used to display descriptive information\nabout a transaction on the customer's American Express card statement. When you send TAA fields, start\nwith amexdata_taa1, then ...taa2, and so on. Skipping a TAA field causes subsequent TAA fields to be\nignored.\n\nTo use these fields, contact CyberSource Customer Support to have your account enabled for this feature.\n" } } } } } }, "shippingDetails": { "type": "object", "properties": { "shipFromPostalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the address from which the goods are shipped, which is used to establish nexus. The default is\nthe postal code associated with your CyberSource account.\n\nThe postal code must consist of 5 to 9 digits. When the billing country is the U.S., the 9-digit postal code\nmust follow this format:\n\n`[5 digits][dash][4 digits]`\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n\n`[alpha][numeric][alpha][space] [numeric][alpha][numeric]`\n\nExample A1B 2C3\n\nThis field is frequently used for Level II and Level III transactions.\n" } } } } }, "buyerInformation": { "type": "object", "properties": { "merchantCustomerId": { "type": "string", "maxLength": 100, "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n\nFor processor-specific information, see the `customer_account_id` field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "vatRegistrationNumber": { "type": "string", "maxLength": 20, "description": "Customer's government-assigned tax identification number.\n\n#### Tax Calculation\nOptional for international and value added taxes only. Not applicable to U.S. and Canadian taxes.\n\nFor processor-specific information, see the purchaser_vat_registration_number field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "dateOfBirth": { "type": "string", "maxLength": 8, "description": "Recipient's date of birth. **Format**: `YYYYMMDD`.\n\nThis field is a `pass-through`, which means that CyberSource ensures that the value is eight numeric characters\nbut otherwise does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n\nFor more details, see `recipient_date_of_birth` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "gender": { "type": "string", "maxLength": 3, "description": "Customer's gender. Possible values are F (female), M (male),O (other)." }, "language": { "type": "string", "maxLength": 2, "description": "language setting of the user" }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "The value of the identification type. This field is supported only on the following processors.\n\n#### ComercioLatino\nSet this field to the Cadastro de Pessoas Fisicas (CPF).\n\n#### CyberSource Latin American Processing\nSupported for Redecard in Brazil. Set this field to the Cadastro de Pessoas Fisicas (CPF), which is required for AVS for Redecard in Brazil.\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\nFor processor-specific information, see the `personal_id` field in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n \nIf `type = PASSPORT`, this is the cardholder's passport number.\nRecommended for Discover ProtectBuy.\n" } } } } } }, "deviceInformation": { "type": "object", "properties": { "hostName": { "type": "string", "maxLength": 60, "description": "DNS resolved hostname from `ipAddress`." }, "ipAddress": { "type": "string", "maxLength": 45, "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" }, "userAgent": { "type": "string", "maxLength": 40, "description": "Customer's browser as identified from the HTTP header data. For example, `Mozilla` is the value that identifies\nthe Netscape browser.\n" } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "name": { "type": "string", "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" }, "alternateName": { "type": "string", "maxLength": 13, "description": "An alternate name for the merchant.\n\nFor the descriptions, used-by information, data types, and lengths for these fields, see the `merchant_descriptor_alternate` field description\nin [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)-->\n" }, "contact": { "type": "string", "maxLength": 14, "description": "For the descriptions, used-by information, data types, and lengths for these fields, see `merchant_descriptor_contact` field description\nin [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)-->\nContact information for the merchant.\n\n**Note** These are the maximum data lengths for the following payment processors:\n- FDCCompass (13)\n- Paymentech (13)\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of merchant's address. For the descriptions, used-by information, data types, and lengths for these fields, see `merchant_descriptor_street` field description\nin [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "locality": { "type": "string", "maxLength": 13, "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" }, "country": { "type": "string", "maxLength": 2, "description": "Merchant's country.\n\n#### PIN debit\nCountry code for your business location. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\nThis value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n**Note** If your business is located in the U.S. or Canada and you include this field in a\nrequest, you must also include `merchantInformation.merchantDescriptor.administrativeArea`.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "postalCode": { "type": "string", "maxLength": 14, "description": "Merchant's postal code.\n\n#### PIN debit\nPostal code for your business location. This value might be displayed on the cardholder's statement.\n\nIf your business is domiciled in the U.S., you can use a 5-digit or 9-digit postal code. A 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\nExample: `12345-6789`\n\nIf your business is domiciled in Canada, you can use a 6-digit or 9-digit postal code. A 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space]\n[numeric][alpha][numeric]\nExample: `A1B 2C3`\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n**Important** Mastercard requires a postal code for any country that uses postal codes.\nYou can provide the postal code in your account or you can include this field in your request.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "administrativeArea": { "type": "string", "description": "The state where the merchant is located.\n\n#### PIN debit\nState code or region code for your business. Use the Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "phone": { "type": "string", "maxLength": 13, "description": "Merchant phone as contact information for CNP transactions\n" }, "url": { "type": "string", "maxLength": 255, "description": "Address of company's website provided by merchant\n" }, "countryOfOrigin": { "type": "string", "maxLength": 2, "description": "#### Visa Platform Connect\nThis field will indicate merchant country of origin\n" }, "storeId": { "type": "string", "maxLength": 50, "description": "The identifier of the store.\n" }, "storeName": { "type": "string", "maxLength": 50, "description": "The name of the store.\n" }, "customerServicePhoneNumber": { "type": "string", "maxLength": 27, "description": "#### Visa Platform Connect\nIndicates customer service phone number of Merchant.\n" } } }, "categoryCode": { "type": "integer", "maximum": 9999, "description": "The value for this field is a four-digit number that the payment card industry uses to classify\nmerchants into market segments. A payment card company assigned one or more of these values to your business when you started\naccepting the payment card company's cards. When you do not include this field in your request, CyberSource uses the value in your\nCyberSource account.\n\nFor processor-specific information, see the `merchant_category_code` field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR4\n- Position: 150-153\n- Field: Merchant Category Code\n" }, "vatRegistrationNumber": { "type": "string", "maxLength": 21, "description": "Your government-assigned tax identification number.\n\n#### Tax Calculation\nRequired field for value added tax only. Not applicable to U.S. and Canadian taxes.\n\n#### CyberSource through VisaNet\nFor CtV processors, the maximum length is 20.\n\nFor other processor-specific information, see the `merchant_vat_registration_number` field description in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "cardAcceptorReferenceNumber": { "type": "string", "maxLength": 25, "description": "Reference number that facilitates card acceptor/corporation communication and record keeping.\n\nFor processor-specific information, see the `card_acceptor_ref_number` field description in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "taxId": { "type": "string", "maxLength": 15, "description": "Your Cadastro Nacional da Pessoa Jur\u00eddica (CNPJ) number.\n\nThis field is supported only for BNDES transactions on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR6\n- Position: 40-59\n- Field: BNDES Reference Field 1\n\nFor details, see `bill_merchant_tax_id` field description in the [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" } } }, "aggregatorInformation": { "type": "object", "properties": { "aggregatorId": { "type": "string", "maxLength": 20, "description": "Value that identifies you as a payment aggregator. Get this value from the\nprocessor.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR6\n- Position: 95-105\n- Field: Payment Facilitator ID\n\nThis field is supported for Visa, Mastercard and Discover Transactions.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n\nFor processor-specific information, see the `aggregator_id` field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "name": { "type": "string", "maxLength": 37, "description": "Your payment aggregator business name.\n\n**American Express Direct**\\\nThe maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters.\\\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n\nFor processor-specific information, see the aggregator_name field in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "subMerchant": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 37, "description": "Sub-merchant's business name.\n\n#### American Express Direct\nThe maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters.\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n\n#### FDC Nashville Global\nWith Mastercard, the maximum length of the sub-merchant name depends on the length of the aggregator name:\n- If aggregator name length is 1 through 3, maximum sub-merchant name length is 21.\n- If aggregator name length is 4 through 7, maximum sub-merchant name length is 17.\n- If aggregator name length is 8 through 12, maximum sub-merchant name length is 12.\n" }, "address1": { "type": "string", "maxLength": 38, "description": "First line of the sub-merchant's street address.\n\nFor processor-specific details, see `submerchant_street` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "locality": { "type": "string", "maxLength": 21, "description": "Sub-merchant's city.\n\nFor processor-specific details, see `submerchant_city` request field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "administrativeArea": { "type": "string", "maxLength": 3, "description": "Sub-merchant's state or province.\n\nFor possible values and also aggregator support, see `submerchant_state` request field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "postalCode": { "type": "string", "maxLength": 15, "description": "Partial postal code for the sub-merchant's address.\n\nFor processor-specific details, see `submerchant_postal_code` request field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "country": { "type": "string", "maxLength": 3, "description": "Sub-merchant's country. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n\nFor details, see the `submerchant_country` request-level field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "email": { "type": "string", "maxLength": 40, "description": "Sub-merchant's email address.\n\n**Maximum length for processors**\n\n - American Express Direct: 40\n - CyberSource through VisaNet: 40\n - FDC Compass: 40\n - FDC Nashville Global: 19\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 25-64\n- Field: American Express Seller E-mail Address\n\n**Note** The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" }, "phoneNumber": { "type": "string", "maxLength": 20, "description": "Sub-merchant's telephone number.\n\n**Maximum length for procesors**\n\n - American Express Direct: 20\n - CyberSource through VisaNet: 20\n - FDC Compass: 13\n - FDC Nashville Global: 10\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCRB\n- Position: 5-24\n- Field: American Express Seller Telephone Number\n\n**FDC Compass**\\\nThis value must consist of uppercase characters. Use one of these recommended formats:\\\n`NNN-NNN-NNNN`\\\n`NNN-AAAAAAA`\n" }, "id": { "type": "string", "maxLength": 20, "description": "The ID you assigned to your sub-merchant.\nCyberSource through VisaNet: For American Express transaction, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 65-84\n- Field: American Express Seller ID\nFor Mastercard transactions, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 117-131\n- Field: Sub-Merchant ID\nFDC Compass: This value must consist of uppercase characters.\n\nAmerican Express Direct: String (20)\nCyberSource through VisaNet with American Express: String (20)\nCyberSource through VisaNet with Visa,Mastercard and Discover: String (15)\nFDC Compass: String (20)\nFDC Nashville Global: String (14)\n" } } } } }, "pointOfSaleInformation": { "type": "object", "properties": { "emv": { "type": "object", "properties": { "tags": { "type": "string", "maxLength": 1998, "description": "EMV data that is transmitted from the chip card to the issuer, and from the issuer to the chip card. The EMV\ndata is in the tag-length-value format and includes chip card tags, terminal tags, and transaction detail tags.\n\nFor information about the individual tags, see the \"Application Specification\" section in the EMV 4.3 Specifications: http://emvco.com\n\n**Note** Card present information about EMV applies only to credit card processing and PIN debit processing.\nAll other card present information applies only to credit card processing. PIN debit processing is available only\non FDC Nashville Global.\n\n**Important** The following tags contain sensitive information and **must not** be included in this field:\n\n - `56`: Track 1 equivalent data\n - `57`: Track 2 equivalent data\n - `5A`: Application PAN\n - `5F20`: Cardholder name\n - `5F24`: Application expiration date (This sensitivity has been relaxed for Credit Mutuel-CIC, American Express Direct, FDC Nashville Global, First Data Merchant Solutions, and SIX)\n - `99`: Transaction PIN\n - `9F0B`: Cardholder name (extended)\n - `9F1F`: Track 1 discretionary data\n - `9F20`: Track 2 discretionary data\n\nFor captures, this field is required for contact EMV transactions. Otherwise, it is optional.\n\nFor credits, this field is required for contact EMV stand-alone credits and contactless EMV stand-alone credits.\nOtherwise, it is optional.\n\n**Important** For contact EMV captures, contact EMV stand-alone credits, and contactless EMV stand-alone credits,\nyou must include the following tags in this field. For all other types of EMV transactions, the following tags\nare optional.\n\n - `95`: Terminal verification results\n - `9F10`: Issuer application data\n - `9F26`: Application cryptogram\n\n\n#### CyberSource through VisaNet\n- In Japan: 199 bytes\n- In other countries: String (252)\n\nFor Mastercard Transactions, Optionally Tag 9F60 (Authenticated Application Data) and \nTag 96 (Kernel Identifier - Terminal) can be included in the Field.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n\n#### JCN Gateway\nThe following tags must be included:\n- `4F`: Application identifier\n- `84`: Dedicated file name\n\nData length: 199 bytes\n\n#### All other processors:\nString (999)\n\n#### Used by\nAuthorization: Optional\nAuthorization Reversal: Optional\nCredit: Optional\nPIN Debit processing (purchase, credit and reversal): Optional\n" }, "fallback": { "type": "boolean", "maxLength": 5, "description": "Indicates whether a fallback method was used to enter credit card information into the POS terminal. When a\ntechnical problem prevents a successful exchange of information between a chip card and a chip-capable terminal:\n\n 1. Swipe the card or key the credit card information into the POS terminal.\n 2. Use the pointOfSaleInformation.entryMode field to indicate whether the information was swiped or keyed.\n\n\nPossible values:\n- `true`: Fallback method was used.\n- `false` (default): Fallback method was not used.\n\nThis field is supported only on American Express Direct, Chase Paymentech Solutions, CyberSource through VisaNet,\nFDC Nashville Global, GPN, JCN Gateway, OmniPay Direct, and SIX.\n" } } } } }, "merchantDefinedInformation": { "type": "array", "description": "The object containing the custom data that the merchant defines.\n", "items": { "type": "object", "properties": { "key": { "type": "string", "maxLength": 50, "description": "The number you assign for as the key for your merchant-defined data field. Valid values are 0 to 100.\n\nFor example, to set or access the key for the 2nd merchant-defined data field in the array, you would reference `merchantDefinedInformation[1].key`.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].key` and\n`merchantDefinedInformation[1].key` for data that you want to provide to the issuer to identify the\ntransaction.\n\nFor details, see the `merchant_defined_data1` request-level field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "value": { "type": "string", "maxLength": 255, "description": "The value you assign for your merchant-defined data field.\n\nFor details, see `merchant_defined_data1` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event CyberSource discovers that a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, CyberSource will immediately suspend the merchant's account, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].value` and\n`merchantDefinedInformation[1].value` for data that you want to provide to the issuer to identify the\ntransaction. For details, see \"Installment Payments on CyberSource through VisaNet\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nFor installment payments with Mastercard in Brazil:\n- The value for merchantDefinedInformation[0].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 25-44\n - Field: Reference Field 2\n- The value for merchantDefinedInformation[1].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 45-64\n - Field: Reference Field 3\n" } } } }, "travelInformation": { "type": "object", "properties": { "duration": { "type": "string", "maxLength": 2, "description": "Duration of the auto rental or lodging rental.\n\n#### Auto rental\nThis field is supported for Visa, MasterCard, and American Express.\n**Important** If this field is not included when the `processingInformation.industryDataType` is auto rental,\nthe transaction is declined.\n" }, "agency": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 8, "description": "International Air Transport Association (IATA) code of travel agency that made the vehicle rental reservation.\n" }, "name": { "type": "string", "maxLength": 25, "description": "Name of travel agency that made the reservation.\n" } } }, "autoRental": { "type": "object", "properties": { "noShowIndicator": { "type": "boolean", "description": "No Show Indicator provides an indicator noting that the individual did not show up after making a reservation for a vehicle.\nPossible values:\n- true\n- false\n" }, "customerName": { "type": "string", "maxLength": 40, "description": "Name of the individual making the rental agreement.\n\nValid data lengths by card:\n\n|Card Specific Validation|VISA|MasterCard|Discover|AMEX|\n|--- |--- |--- |--- |\n| Filed Length| 40| 40| 29| 26|\n| Field Type| AN| ANS| AN| AN|\n| M/O/C| O| M| M| M|\n" }, "vehicleClass": { "type": "string", "maxLength": 4, "description": "Classification of the rented auto.\n\n**NOTE** For VISA, this is a 2-byte optional code.\n\nValid values for American Express & MasterCard:\n\n|American Express |MasterCard |Description|\n|--- |--- |--- |\n| 0001| 0001| Mini|\n| 0002| 0002| Subcompact|\n| 0003| 0003| Economy|\n| 0004| 0004| Compact|\n| 0005| 0005| Midsize|\n| 0006| 0006| Intermediate|\n| 0007| 0007| Standard|\n| 0008| 0008| Fulll size|\n| 0009| 0009| Luxury|\n| 0010| 0010| Premium|\n| 0011| 0011| Minivan|\n| 0012| 0012| 12-passenger van|\n| 0013| 0013| Moving van|\n| 0014| 0014| 15-passenger van|\n| 0015| 0015| Cargo van|\n| 0016| 0016| 12-foot truck|\n| 0017| 0017| 20-foot truck|\n| 0018| 0018| 24-foot truck|\n| 0019| 0019| 26-foot truck|\n| 0020| 0020| Moped|\n| 0021| 0021| Stretch|\n| 0022| 0022| Regular|\n| 0023| 0023| Unique|\n| 0024| 0024| Exotic|\n| 0025| 0025| Small/medium truck|\n| 0026| 0026| Large truck|\n| 0027| 0027| Small SUV|\n| 0028| 0028| Medium SUV|\n| 0029| 0029| Large SUV|\n| 0030| 0030| Exotic SUV|\n| 9999| 9999| Miscellaneous|\n\nAdditional Values allowed **only** for `American Express`:\n\n|American Express|MasterCard|Description|\n|--- |--- |--- |\n| 0031| NA| Four Wheel Drive|\n| 0032| NA| Special|\n| 0099| NA| Taxi|\n" }, "distanceTravelled": { "type": "string", "maxLength": 5, "description": "Total number of miles driven by the customer.\nThis field is supported only for MasterCard and American Express.\n" }, "distanceUnit": { "type": "string", "maxLength": 1, "description": "Miles/Kilometers Indicator shows whether the \"miles\" fields are expressed in miles or kilometers.\n\nAllowed values:\n- `K` - Kilometers\n- `M` - Miles\n" }, "returnDateTime": { "type": "string", "maxLength": 21, "description": "Date/time the auto was returned to the rental agency.\nFormat: ``yyyy-MM-dd HH-mm-ss z``\nThis field is supported for Visa, MasterCard, and American Express.\n" }, "rentalDateTime": { "type": "string", "maxLength": 21, "description": "Date/time the auto was picked up from the rental agency.\nFormat: `yyyy-MM-dd HH-mm-ss z`\nThis field is supported for Visa, MasterCard, and American Express.\n" }, "maxFreeDistance": { "type": "string", "maxLength": 4, "description": "Maximum number of free miles or kilometers allowed to a customer for the duration of the auto rental agreement.\nThis field is supported only for MasterCard and American Express.\n" }, "insuranceIndicator": { "type": "boolean", "description": "Used for MC and Discover\n\nValid values:\n- `true` - Yes (insurance was purchased)\n- `false` - No (insurance was not purchased)\n" }, "programCode": { "type": "string", "maxLength": 2, "description": "Used to identify special circumstances applicable to the Card Transaction or Cardholder, such as \"renter\" or \"show\".\n\nThis code is `2 digit` value agreed by Merchant and processor.\n" }, "returnAddress": { "type": "object", "properties": { "city": { "type": "string", "maxLength": 25, "description": "City where the auto was returned to the rental agency.\n" }, "state": { "type": "string", "maxLength": 3, "description": "State in which the auto was returned to the rental agency. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for MasterCard and American Express.\n" }, "country": { "type": "string", "maxLength": 3, "description": "Country where the auto was returned to the rental agency. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" }, "locationId": { "type": "string", "maxLength": 10, "description": "Code, address, phone number, etc. used to identify the location of the auto rental return.\nThis field is supported only for MasterCard and American Express.\n" }, "address1": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the rental address's street address.\n" }, "postalCode": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the return address's postal code.\n" }, "location": { "type": "string", "maxLength": 38, "description": "This field contains the location where the taxi passenger was dropped off or where the auto rental vehicle was returned.\n" } } }, "rentalAddress": { "type": "object", "properties": { "city": { "type": "string", "maxLength": 25, "description": "City in which the auto was rented.\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for American Express.\n\nFor all other card types, this field is ignored.\n" }, "state": { "type": "string", "maxLength": 3, "description": "State in which the auto was rented. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n" }, "country": { "type": "string", "maxLength": 3, "description": "Country where the auto was rented. Use the [ISO Standard Country Codes.](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\nThis field is supported only for American Express.\n" }, "locationId": { "type": "string", "maxLength": 10, "description": "The agency code, address, phone number, etc., used to identify the location where the vehicle was rented.\n" }, "address1": { "type": "string", "maxLength": 13, "description": "Address from where the vehicle was rented.\n" }, "address2": { "type": "string", "maxLength": 13, "description": "Address from where the vehicle was rented.\n" }, "postalCode": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the rental address's postal code.\n" }, "location": { "type": "string", "maxLength": 38, "description": "This field contains the location where a taxi passenger was picked up or where an auto rental vehicle was picked up. In most cases, this is the rental agency's business name that appears on the storefront and/or customer receipts, commonly referred to as the DBA (Doing Business As) name. However, if the vehicle was picked up at another location (e.g., a hotel,auto dealership, repair shop, etc.), the name of that location should be used. This entry must be easily recognized by the Cardmember to avoid unnecessary inquiries. If the name is more than 38 characters, use proper and meaningful abbreviation, when possible.\n" } } }, "agreementNumber": { "type": "string", "maxLength": 25, "description": "Auto rental agency's agreement (invoice) number provided to the customer. It is used to trace any inquiries about transactions.\nThis field is supported for Visa, MasterCard, and American Express.\nThis Merchant-defined value, which may be composed of any combination of characters and/or numerals, may become\npart of the descriptive bill on the Cardmember's statement.\n" }, "odometerReading": { "type": "string", "maxLength": 8, "description": "Odometer reading at time of vehicle rental.\n" }, "vehicleIdentificationNumber": { "type": "string", "maxLength": 20, "description": "This field contains a unique identifier assigned by the company to the vehicle.\n" }, "companyId": { "type": "string", "maxLength": 12, "description": "Corporate Identifier provides the unique identifier of the corporation or entity renting the vehicle:\n\n|Card Specific Validation|VISA|MasterCard|Discover|AMEX|\n|--- |--- |--- |--- |\n| Filed Length| NA| 12| NA| NA|\n| Field Type| NA| AN| NA| NA|\n| M/O/C| NA| O| NA| NA|\n" }, "numberOfAdditionalDrivers": { "type": "string", "maxLength": 1, "description": "The number of additional drivers included on the rental agreement not including the individual who signed the rental agreement.\n" }, "driverAge": { "type": "string", "maxLength": 3, "description": "Age of the driver renting the vehicle.\n" }, "specialProgramCode": { "type": "string", "maxLength": 2, "description": "Program code used to identify special circumstances, such as \"frequent renter\" or \"no show\" status for the renter.\nPossible values:\n- `0`: not applicable (default)\n- `1`: frequent renter\n- `2`: no show\n\nFor authorizations, this field is supported only for Visa.\n\nFor captures, this field is supported for Visa, MasterCard, and American Express.\n\nCode for special programs applicable to the Card Transaction or the Cardholder.\n" }, "vehicleMake": { "type": "string", "maxLength": 10, "description": "Make of the vehicle being rented (e.g., Chevrolet or Ford).\n" }, "vehicleModel": { "type": "string", "maxLength": 10, "description": "Model of the vehicle being rented (e.g., Cavalier or Focus).\n" }, "timePeriod": { "type": "string", "maxLength": 7, "description": "Indicates the time period for which the vehicle rental rate applies (e.g., daily, weekly or monthly). Daily, Weekly and Monthly are valid values.\n" }, "commodityCode": { "type": "string", "maxLength": 15, "description": "Commodity code or International description code used to classify the item. Contact your acquirer for a list of\ncodes.\n" }, "customerServicePhoneNumber": { "type": "string", "maxLength": 17, "description": "Customer service telephone number that is used to resolve questions or disputes. Include the area code, exchange, and number.\nThis field is supported only for MasterCard and American Express.\n" }, "taxDetails": { "type": "object", "properties": { "amount": { "type": "string", "maxLength": 13, "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n" }, "rate": { "type": "string", "maxLength": 6, "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" }, "applied": { "type": "boolean", "description": "Flag that indicates whether the tax amount (`travelInformation.autoRental.taxDetails.amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: tax amount is not included in the request.\n- `true`: tax amount is included in the request.\n" }, "exemptionCode": { "type": "string", "maxLength": 1, "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n" }, "taxType": { "type": "string", "maxLength": 10, "description": "Different taxes the rental agency applies to the rental agreement such as tourist tax, airport tax, or rental tax.\n" }, "taxSummary": { "type": "string", "maxLength": 12, "description": "Summary of all tax types\n" } } }, "insuranceAmount": { "type": "string", "maxLength": 12, "description": "Insurance charges.\nField is conditional and can include decimal point.\n" }, "oneWayDropOffAmount": { "type": "string", "maxLength": 12, "description": "Extra charges incurred for a one-way rental agreement for the auto.\nThis field is supported only for Visa.\n" }, "adjustedAmountIndicator": { "type": "string", "maxLength": 1, "description": "For **MasterCard** and **Discover**:\nAdjusted amount indicator code that indicates\nany miscellaneous charges incurred after the\nauto was returned. Possible values:\n- `A` - Drop-off charges\n- `B` - Delivery charges\n- `C` - Parking expenses\n- `D` - Extra hours\n- `E` - Violations\n- `X` - More than one of the above charges\n\nFor **American Express**:\nAudit indicator code that indicates any\nadjustment for mileage, fuel, auto damage,\netc. made to a rental agreement and whether\nthe cardholder was notified.\n\nPossible value for the authorization service:\n- `A` (default): adjustment amount greater than 0 (zero)\n\nPossible values for the capture service:\n- `X` - Multiple adjustments\n- `Y` - One adjustment only; Cardmember notified\n- `Z` - One adjustment only; Cardmember not notified. This value is used as the default if the request does not include this field and includes an adjustment amount greater than 0 (zero).\nThis is an optional field.\n" }, "adjustedAmount": { "type": "string", "maxLength": 12, "description": "Adjusted Amount indicates whether any miscellaneous charges were incurred after the vehicle was returned.\n\nFor authorizations, this field is supported only for American Express.\n\nFor captures, this field is supported only for MasterCard and American Express.\n**NOTE** For American Express, this field is required if the `travelInformation.autoRental.adjustedAmountIndicator` field\nis included in the request and has a value; otherwise, this field is optional.\n\nFor all other card types, this field is ignored.\n" }, "fuelCharges": { "type": "string", "maxLength": 12, "description": "Extra gasoline charges that extend beyond the basic rental agreement.\nThis field is supported only for Visa.\n" }, "weeklyRentalRate": { "type": "string", "maxLength": 12, "description": "Weekly Rental Amount provides the amount charged for a seven-day rental period. Field - Time Period needs to be populated with Weekly if this field is present\n" }, "dailyRentalRate": { "type": "string", "maxLength": 12, "description": "Daily auto rental rate charged.\nThis field is supported only for MasterCard and American Express.\n\nField - Time Period needs to be populated with Daily if this field is present\n" }, "ratePerMile": { "type": "string", "maxLength": 12, "description": "Rate charged for each mile.\nThis field is supported only for MasterCard and American Express.\n" }, "mileageCharge": { "type": "string", "maxLength": 12, "description": "Regular Mileage Charge provides the amount charged for regular miles traveled during vehicle rental. Two decimal places\n" }, "extraMileageCharge": { "type": "string", "maxLength": 12, "description": "Extra mileage charges that extend beyond the basic rental agreement.\nThis field is supported only for Visa.\n" }, "lateFeeAmount": { "type": "string", "maxLength": 12, "description": "Extra charges related to a late return of the rented auto.\nThis field is supported only for Visa.\n" }, "towingCharge": { "type": "string", "maxLength": 4, "description": "(Towing Charges) provides the amount charged to tow the rental vehicle.\n" }, "extraCharge": { "type": "string", "maxLength": 12, "description": "(Extra Charges) provides the extra charges associated with the vehicle rental.\n" }, "gpsCharge": { "type": "string", "maxLength": 12, "description": "Amount charged for renting a Global Positioning Service (GPS).\n" }, "phoneCharge": { "type": "string", "maxLength": 12, "description": "Additional charges incurred for phone usage included on the total bill.\n" }, "parkingViolationCharge": { "type": "string", "maxLength": 12, "description": "Extra charges incurred due to a parking violation for the auto.\nThis field is supported only for Visa.\n" }, "otherCharges": { "type": "string", "maxLength": 12, "description": "Total amount charged for all other miscellaneous charges not previously defined.\n" }, "companyName": { "type": "string", "maxLength": 50, "description": "Merchant to send their auto rental company name\n" }, "affiliateName": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the affiliate name.\n" } } }, "lodging": { "type": "object", "properties": { "checkInDate": { "type": "string", "maxLength": 6, "description": "Date on which the guest checked in. In the case of a no-show or a reservation, the scheduled arrival date.\nFormat: `MMDDYY`. For best interchange rates, make sure it is a valid date.\n" }, "checkOutDate": { "type": "string", "maxLength": 6, "description": "Date on which the guest checked out.\nFormat: `MMDDYY`. For best interchange rates, make sure it is a valid date.\n" }, "room": { "type": "array", "description": "The object containing the number of nights and the daily rate that applies for that no of nights.\n", "items": { "type": "object", "properties": { "dailyRate": { "type": "string", "maxLength": 8, "description": "Daily cost of the room.\n" }, "numberOfNights": { "type": "integer", "minimum": 1, "maximum": 9999, "description": "Number of nights billed at the rate specified by `travelInformation.lodging.room[].dailyRate`.\n" } } } }, "smokingPreference": { "type": "string", "maxLength": 1, "description": "Smoking preference of the guest.\nPossible values:\n- `Y`: smoking room\n- `N`: non-smoking room\n" }, "numberOfRooms": { "type": "integer", "minimum": 1, "maximum": 99, "description": "Number of rooms booked by the cardholder.\n" }, "numberOfGuests": { "type": "integer", "minimum": 1, "maximum": 99, "description": "Number of guests staying in the room.\n" }, "roomBedType": { "type": "string", "maxLength": 12, "description": "Type of room, such as queen, king, or two doubles.\n" }, "roomTaxType": { "type": "string", "maxLength": 10, "description": "Type of tax, such as tourist or hotel.\n" }, "roomRateType": { "type": "string", "maxLength": 12, "description": "Type of rate, such as corporate or senior citizen.\n" }, "guestName": { "type": "string", "maxLength": 40, "description": "Name of the guest under which the room is reserved.\n" }, "customerServicePhoneNumber": { "type": "string", "maxLength": 17, "description": "Your toll-free customer service phone number.\n" }, "corporateClientCode": { "type": "string", "maxLength": 17, "description": "Code assigned to a business. You can use this code to identify corporate rates and discounts for guests.\n" }, "additionalDiscountAmount": { "type": "string", "maxLength": 12, "description": "Amount of an additional coupon or discount.\n" }, "roomLocation": { "type": "string", "maxLength": 10, "description": "Location of room, such as lake view or ocean view.\n" }, "specialProgramCode": { "type": "string", "maxLength": 1, "description": "Code that identifies special circumstances.\nPossible values:\n- `1`: lodging (default)\n- `2`: no show reservation\n- `3`: advanced deposit\n" }, "totalTaxAmount": { "type": "string", "maxLength": 12, "description": "Total tax amount.\n" }, "prepaidCost": { "type": "string", "maxLength": 12, "description": "Prepaid amount, such as a deposit.\n" }, "foodAndBeverageCost": { "type": "string", "maxLength": 12, "description": "Cost for all food and beverages.\n" }, "roomTaxAmount": { "type": "string", "maxLength": 12, "description": "Total tax for the room.\n" }, "adjustmentAmount": { "type": "string", "maxLength": 12, "description": "Adjusted amount charged in addition to the reservation amount after the stay is complete.\n" }, "phoneCost": { "type": "string", "maxLength": 12, "description": "Cost of telephone services.\n" }, "restaurantCost": { "type": "string", "maxLength": 12, "description": "Cost of restaurant purchases\n" }, "roomServiceCost": { "type": "string", "maxLength": 12, "description": "Cost of room service.\n" }, "miniBarCost": { "type": "string", "maxLength": 12, "description": "Cost of mini-bar purchases.\n" }, "laundryCost": { "type": "string", "maxLength": 12, "description": "Cost of laundry services.\n" }, "miscellaneousCost": { "type": "string", "maxLength": 12, "description": "Miscellaneous costs.\n" }, "giftShopCost": { "type": "string", "maxLength": 12, "description": "Cost of gift shop purchases.\n" }, "movieCost": { "type": "string", "maxLength": 12, "description": "Cost of movies.\n" }, "healthClubCost": { "type": "string", "maxLength": 12, "description": "Cost of health club services.\n" }, "valetParkingCost": { "type": "string", "maxLength": 12, "description": "Cost of valet parking services.\n" }, "cashDisbursementCost": { "type": "string", "maxLength": 12, "description": "Cost of the cash that was disbursed plus any associated service fees\n" }, "nonRoomCost": { "type": "string", "maxLength": 12, "description": "Cost of non-room purchases, such as meals and gifts.\n" }, "businessCenterCost": { "type": "string", "maxLength": 12, "description": "Cost of business center services.\n" }, "loungeBarCost": { "type": "string", "maxLength": 12, "description": "Cost of lounge and bar purchases.\n" }, "transportationCost": { "type": "string", "maxLength": 12, "description": "Cost of transportation services.\n" }, "gratuityAmount": { "type": "string", "maxLength": 12, "description": "Gratuity.\n" }, "conferenceRoomCost": { "type": "string", "maxLength": 12, "description": "Cost of conference room services.\n" }, "audioVisualCost": { "type": "string", "maxLength": 12, "description": "Cost of audio visual services.\n" }, "banquestCost": { "type": "string", "maxLength": 12, "description": "Cost of banquet services.\n" }, "nonRoomTaxAmount": { "type": "string", "maxLength": 12, "description": "Tax on non-room purchases.\n" }, "earlyCheckOutCost": { "type": "string", "maxLength": 12, "description": "Service fee for early departure.\n" }, "internetAccessCost": { "type": "string", "maxLength": 12, "description": "Cost of Internet access.\n" }, "name": { "type": "string", "maxLength": 255, "description": "Name of the hotel for which the reservation is for. Mandatory in case the\nmerchant's business type is Hotel.\n" }, "hotelName": { "type": "string", "description": "The name of the hotel for which the reservation was made.\n" }, "checkInDateTime": { "type": "string", "description": "The date of the check-in in GMT+8 offset.\n" }, "checkOutDateTime": { "type": "string", "description": "The date of the check-out in GMT+8 offset.\n" } } }, "transit": { "type": "object", "properties": { "airline": { "type": "object", "properties": { "isDomestic": { "type": "string", "maxLength": 255, "description": "Specifies if the flight is:\nDomestic (01)\nInternational (02)\nIf Y then 01 else 02\n" }, "bookingReferenceNumber": { "type": "string", "maxLength": 15, "description": "Reference number for the airline booking.\nRequired if ticket numbers are not issued.\n" }, "carrierName": { "type": "string", "maxLength": 15, "description": "Airline that generated the ticket.\nFormat: English characters only.\nOptional request field.\n" }, "ticketIssuer": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 4, "description": "IATA2 airline code.\nFormat: English characters only.\nRequired for Mastercard; optional for all other card types.\n" }, "name": { "type": "string", "maxLength": 20, "description": "Name of the ticket issuer. If you do not include this field,\nCyberSource uses the value for your merchant name that is in the CyberSource merchant configuration database.\n" }, "address": { "type": "string", "maxLength": 16, "description": "Address of the company issuing the ticket.\n" }, "locality": { "type": "string", "maxLength": 18, "description": "City in which the transaction occurred.\nIf the name of the city exceeds 18 characters, use meaningful abbreviations.\nFormat: English characters only.\nOptional request field.\n" }, "administrativeArea": { "type": "string", "maxLength": 18, "description": "State in which transaction occured.\n" }, "postalCode": { "type": "string", "maxLength": 15, "description": "Zip code of the city in which transaction occured.\n" }, "country": { "type": "string", "maxLength": 18, "description": "Country in which transaction occured.\n" } } }, "ticketNumber": { "type": "string", "maxLength": 15, "description": "Ticket number.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" }, "checkDigit": { "type": "string", "maxLength": 1, "description": "Check digit for the ticket number. CyberSource recommends that you validate the check digit.\nWith Discover and Diners Club, a valid ticket number has these characteristics:\n- The value is numeric.\n- The first three digits are a valid IATA2 license plate carrier code.\n- The last digit is a check digit or zero (0).\n- All remaining digits are nonzero.\n" }, "restrictedTicketIndicator": { "type": "integer", "maxLength": 1, "description": "Flag that indicates whether or not the ticket is restricted (nonrefundable).\nPossible values:\n- 0: No restriction (refundable)\n- 1: Restricted (nonrefundable)\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" }, "transactionType": { "type": "integer", "maxLength": 2, "description": "Type of charge.\nPossible values:\n- 01: Charge is for an airline ticket\n- 02: Charge is for an item that is not an airline ticket\n" }, "extendedPaymentCode": { "type": "string", "maxLength": 3, "description": "The field is not currently supported.\n" }, "passengerName": { "type": "string", "maxLength": 42, "description": "Name of the passenger to whom the ticket was issued. This will always be a single passenger's name.\nIf there are more than one passengers, provide only the primary passenger's name.\nDo not include special characters such as commas, hyphens, or apostrophes.\nOnly ASCII characters are supported.\nFormat: English characters only.\nOptional request field.\n" }, "customerCode": { "type": "string", "maxLength": 40, "description": "Reference number or code that identifies the cardholder.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" }, "documentType": { "type": "string", "maxLength": 1, "description": "Airline document type code that specifies the purpose of the transaction.\nFormat: English characters only.\nOptional request field.\n\n| Code | Description |\n| --- | --- |\n| 01 | Passenger ticket |\n| 02 | Additional collection |\n| 03 | Excess baggage |\n| 04 | Miscellaneous charge order (MCO) or prepaid ticket authorization |\n| 05 | Special service ticket |\n| 06 | Supported refund |\n| 07 | Unsupported refund |\n| 08 | Lost ticket application |\n| 09 | Tour order voucher |\n| 10 | Ticket by mail |\n| 11 | Undercharge adjustment |\n| 12 | Group ticket |\n| 13 | Exchange adjustment |\n| 14 | SPD or air freight |\n| 15 | In-flight adjustment |\n| 16 | Agency passenger ticket |\n| 17 | Agency tour order or voucher |\n| 18 | Agency miscellaneous charge order (MCO) |\n| 19 | Agency exchange order |\n| 20 | Agency group ticket |\n| 21 | Debit adjustment for duplicate refund or use |\n| 22 | In-flight merchandise order |\n| 23 | Catalogue merchandise order |\n| 24 | In-flight phone charges |\n| 25 | Frequent flyer fee or purchase |\n| 26 | Kennel charge |\n| 27 | Animal transportation charge |\n| 28 | Firearms case |\n| 29 | Upgrade charge |\n| 30 | Credit for unused transportation |\n| 31 | Credit for class of service adjustment |\n| 32 | Credit for denied boarding |\n| 33 | Credit for miscellaneous refund |\n| 34 | Credit for lost ticket refund |\n| 35 | Credit for exchange refund |\n| 36 | Credit for overcharge adjustment |\n| 37 | Credit for multiple Unused tickets |\n| 38 | Exchange order |\n| 39 | Self-service ticket |\n| 41 | In-flight duty-free purchase |\n| 42 | Senior citizen discount booklets |\n| 43 | Club membership fee |\n| 44 | Coupon book |\n| 45 | In-flight charges |\n| 46 | Tour deposit |\n| 47 | Frequent flyer overnight delivery charge |\n| 48 | Frequent flyer fulfillment |\n| 49 | Small package delivery |\n| 50 | Vendor sale |\n| 51 | Miscellaneous taxes or fees |\n| 52 | Travel agency fee |\n| 60 | Vendor refund or credit |\n| 64 | Duty free sale |\n| 65 | Preferred seat upgrade |\n| 66 | Cabin upgrade |\n| 67 | Lounge or club access or day pass |\n| 68 | Agent assisted reservation or ticketing fee |\n| 69 | Ticket change or cancel fee |\n| 70 | Trip insurance |\n| 71 | Unaccompanied minor |\n| 72 | Standby fee |\n| 73 | Curbside baggage |\n| 74 | In-flight medical equipment |\n| 75 | Ticket or pass print fee |\n| 76 | Checked sporting or special equipment |\n| 77 | Dry ice fee |\n| 78 | Mail or postage fee |\n| 79 | Club membership fee or temporary trial |\n| 80 | Frequent flyer activation or reinstatement |\n| 81 | Gift certificate |\n| 82 | Onboard or in-flight prepaid voucher |\n| 83 | Optional services fee |\n| 84 | Advance purchase for excess baggage |\n| 85 | Advance purchase for preferred seat upgrade |\n| 86 | Advance purchase for cabin upgrade |\n| 87 | Advance purchase for optional services |\n| 88 | WiFi |\n| 89 | Packages |\n| 90 | In-flight entertainment or internet access |\n| 91 | Overweight bag fee |\n| 92 | Sleep sets |\n| 93 | Special purchase fee |\n" }, "documentNumber": { "type": "string", "maxLength": 14, "description": "The field is not currently supported.\n" }, "documentNumberOfParts": { "type": "integer", "maxLength": 4, "description": "The field is not currently supported.\n" }, "invoiceNumber": { "type": "string", "maxLength": 25, "description": "Invoice number for the airline transaction.\n" }, "invoiceDate": { "type": "integer", "maxLength": 8, "description": "Invoice date. The format is YYYYMMDD.\nIf this value is\nincluded in the request, it is used in the creation of the invoice number. See \"Invoice Number,\"\n" }, "additionalCharges": { "type": "string", "maxLength": 20, "description": "Description of the charge if the charge does not involve an airline ticket.\nFor example: Excess baggage.\n" }, "totalFeeAmount": { "type": "string", "maxLength": 12, "description": "Total fee for the ticket. This value cannot exceed `99999999999999999999` (twenty 9s).\nFormat: English characters only.\nOptional request field.\n" }, "clearingSequence": { "type": "string", "maxLength": 2, "description": "Number that identifies the clearing message when multiple clearing messages are allowed per authorized transaction.\nEach clearing message linked to one authorization request must include a unique clearing sequence number between 1 and the total number of clearing records.\nFormat: English characters only.\nOptional request field.\n" }, "clearingCount": { "type": "string", "maxLength": 2, "description": "Total number of clearing messages associated with the authorization request.\nFormat: English characters only.\nOptional request field.\n" }, "totalClearingAmount": { "type": "string", "maxLength": 20, "description": "Total clearing amount for all transactions in the clearing count set.\nThis value cannot exceed `99999999999999999999` (twenty 9s).\nFormat: English characters only.\nIf this field is not set and if the total amount from the original authorization is not NULL,\nthe total clearing amount is set to the total amount from the original authorization.\n" }, "numberOfPassengers": { "type": "integer", "maxLength": 3, "description": "Number of passengers for whom the ticket was issued.\nFormat: English characters only.\nOptional request field.\n" }, "reservationSystemCode": { "type": "string", "maxLength": 20, "description": "Code that specifies the computerized reservation system used to make the reservation and purchase the ticket.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" }, "processIdentifier": { "type": "string", "maxLength": 3, "description": "Airline process identifier. This value is the airline's three-digit IATA1 code\nwhich is used to process extended payment airline tickets.\n" }, "ticketIssueDate": { "type": "string", "maxLength": 8, "description": "Date on which the transaction occurred.\nFormat: `YYYYMMDD`\nFormat: English characters only.\nOptional request field.\n" }, "electronicTicketIndicator": { "type": "boolean", "description": "Flag that indicates whether an electronic ticket was issued.\nPossible values:\n- `true`\n- `false`\nOptional request field.\n" }, "originalTicketNumber": { "type": "string", "maxLength": 14, "description": "Original ticket number when the transaction is for a replacement ticket.\n" }, "purchaseType": { "type": "string", "maxLength": 3, "description": "Type of purchase. Possible values:\n- `EXC`: Exchange ticket\n- `MSC`: Miscellaneous (not a ticket purchase and not a transaction related to an exchange ticket)\n- `REF`: Refund\n- `TKT`: Ticket\nFormat: English characters only.\nOptional request field.\n" }, "creditReasonIndicator": { "type": "string", "maxLength": 1, "description": "Reason for the credit.\nPossible values:\n- `A`: Cancellation of the ancillary passenger transport purchase.\n- `B`: Cancellation of the airline ticket and the passenger transport ancillary purchase.\n- `C`: Cancellation of the airline ticket.\n- `O`: Other.\n- `P`: Partial refund of the airline ticket.\nFormat: English characters only.\n\nOptional request field.\n" }, "ticketChangeIndicator": { "type": "string", "maxLength": 1, "description": "Type of update.\nPossible values:\n- `C`: Change to the existing ticket.\n- `N`: New ticket.\nFormat: English characters only\nOptional request field.\n" }, "planNumber": { "type": "string", "maxLength": 1, "description": "Plan number based on the fare.\nThis value is provided by the airline.\nFormat: English characters only.\nOptional request field.\n" }, "arrivalDate": { "type": "string", "maxLength": 8, "description": "Date of arrival for the last leg of the trip.\nFormat: `MMDDYYYY`\nEnglish characters only.\nOptional request field.\n" }, "restrictedTicketDesciption": { "type": "string", "maxLength": 20, "description": "Text that describes the ticket limitations, such as _nonrefundable_.\nFormat: English characters only.\nOptional request field.\n" }, "exchangeTicketAmount": { "type": "string", "maxLength": 12, "description": "Amount of the exchanged ticket.\nFormat: English characters only.\n" }, "exchangeTicketFeeAmount": { "type": "string", "maxLength": 12, "description": "Fee for exchanging the ticket.\nFormat: English characters only.\nOptional request field.\n" }, "reservationType": { "type": "string", "maxLength": 32, "description": "The field is not currently supported.\n" }, "boardingFeeAmount": { "type": "string", "maxLength": 12, "description": "Boarding fee.\n" }, "legs": { "type": "array", "items": { "type": "object", "properties": { "carrierCode": { "type": "string", "maxLength": 4, "description": "IATA code for the carrier for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "flightNumber": { "type": "string", "maxLength": 6, "description": "Flight number for this leg of the trip.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "originatingAirportCode": { "type": "string", "maxLength": 5, "description": "IATA code for the originating airport for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "class": { "type": "string", "maxLength": 3, "description": "IATA code for the class of service for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "stopoverIndicator": { "type": "integer", "maxLength": 1, "description": "Code that indicates whether a stopover is allowed on this leg of the trip. Possible values:\n- `O` (capital letter \"O\") (default): Stopover allowed\n- `X` (capital letter \"X\"): Stopover not allowed\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "departureDate": { "type": "integer", "maxLength": 8, "description": "Departure date for the first leg of the trip.\nFormat: `YYYYMMDD`.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "destinationAirportCode": { "type": "string", "maxLength": 3, "description": "IATA code for the destination airport for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "fareBasis": { "type": "string", "maxLength": 15, "description": "Code for the fare basis for this leg of the trip.\nThe fare basis is assigned by the carriers and indicates a particular ticket type,\nsuch as business class or discounted/nonrefundable.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nFormat: English characters only.\nOptional request field for travel legs.auto_rental_regular_mileage_cost\n" }, "departTaxAmount": { "type": "string", "maxLength": 12, "description": "Amount of departure tax for this leg of the trip.\n" }, "conjunctionTicket": { "type": "string", "maxLength": 25, "description": "Ticket that contains additional coupons for this leg of the trip on an itinerary that has more than four segments.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "exchangeTicketNumber": { "type": "string", "maxLength": 25, "description": "New ticket number that is issued when the ticket is exchanged for this leg of the trip.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "couponNumber": { "type": "string", "maxLength": 1, "description": "Coupon number. Each leg on the ticket requires a separate coupon, and each coupon is identified by the coupon number.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "departureTime": { "type": "integer", "maxLength": 4, "description": "Time of departure for this leg of the trip. The format is military time and HHMM:\nIf not all zeros, then the hours must be `00-23` and the minutes must be `00-59`.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "departureTimeMeridian": { "type": "string", "maxLength": 1, "description": "AM or PM for the departure time.\nPossible values:\n- A: 12:00 midnight to 11:59 a.m.\n- P: 12:00 noon to 11:59 p.m\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "arrivalTime": { "type": "integer", "maxLength": 4, "description": "Time of arrival for this leg of the trip.\nThe format is military time and HHMM:\nIf not all zeros, then the hours must be `00-23` and the minutes must be `00-59`\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "arrivalTimeMeridian": { "type": "string", "maxLength": 1, "description": "AM or PM for the arrival time for this leg of the trip.\nPossible values:\n- `A`: 12:00 midnight to 11:59 a.m.\n- `P`: 12:00 noon to 11:59 p.m.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "endorsementsRestrictions": { "type": "string", "maxLength": 20, "description": "Notes or notations about endorsements and restrictions for this leg of the trip.\nEndorsements can be notations added by the travel agency, including mandatory government-required notations such as value added tax.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "totalFareAmount": { "type": "string", "maxLength": 15, "description": "Total fare for this leg of the trip.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "feeAmount": { "type": "string", "maxLength": 12, "description": "Fee for this leg of the trip, such as an airport fee or country fee.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "taxAmount": { "type": "string", "maxLength": 12, "description": "Tax for this leg of the trip.\nFormat: English characters only.\nOptional request field for travel legs.\n" } } } }, "ancillaryInformation": { "type": "object", "properties": { "ticketNumber": { "type": "string", "maxLength": 15, "description": "Ticket number, which consists of the carrier code, form, and serial number, without the check digit.\n**Important** This field is required in the U.S. in order for you to qualify for either the\ncustom payment service (CPS) or the electronic interchange reimbursement fee (EIRF) program.\nFormat: English characters only.\nOptional field for ancillary services.\n" }, "passengerName": { "type": "string", "maxLength": 20, "description": "Name of the passenger. If the passenger's name is not available, this value is the cardholder's name. If neither the passenger's name nor the cardholder's name is available,\nthis value is a description of the ancillary purchase.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom payment service (CPS) or the electronic interchange reimbursement fee (EIRF)\nprogram.\nFormat: English characters only.\nOptional field for ancillary service.\n" }, "connectedTicketNumber": { "type": "string", "maxLength": 15, "description": "Number for the airline ticket to which the ancillary purchase is connected.\n\nIf this purchase has a connection or relationship to another purchase such as a baggage fee for a passenger transport ticket, this field must contain the ticket number for the other purchase.\n\nFor a stand-alone purchase, the value for this field must be the same as the value for the `travelInformation.transit.airline.ancillaryInformation.ticketNumber` field.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom payment service (CPS) or the electronic interchange reimbursement fee (EIRF)\nprogram.\nFormat: English characters only.\nOptional request field for ancillary services.\n" }, "creditReasonIndicator": { "type": "string", "maxLength": 15, "description": "Reason for the credit.\nPossible values:\n- `A`: Cancellation of the ancillary passenger transport purchase.\n- `B`: Cancellation of the airline ticket and the passenger transport ancillary purchase.\n- `C`: Cancellation of the airline ticket.\n- `O`: Other.\n- `P`: Partial refund of the airline ticket.\nFormat: English characters only.\nOptional field for ancillary services.\n" }, "service": { "type": "array", "items": { "type": "object", "properties": { "categoryCode": { "type": "string", "maxLength": 4, "description": "Category code for the ancillary service that is provided. Obtain the codes from the International\nAir Transport Association (IATA).\n**Note** `#` is either 0, 1, 2, or 3.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom\npayment service (CPS) or the electronic interchange reimbursement fee (EIRF)program.\nFormat: English characters only.\nOptional request field for ancillary services.\n" }, "subCategoryCode": { "type": "string", "maxLength": 4, "description": "Subcategory code for the ancillary service category. Obtain the codes from the International\nAir Transport Association (IATA).\n**Note** `#` is either 0, 1, 2, or 3.\nFormat English characters only.\nOptional request field for ancillary services.\n" } } } } } }, "flightType": { "type": "string", "maxLength": 2, "description": "Specifies the type of flight.\nOne way (0)\nReturn (1)\nTransit (2)\nTransit & Return (3)\nMulti-City (4)\n" }, "insuranceAmount": { "type": "string", "maxLength": 255, "description": "The total cost of the flight insurance. Example: 10000.00\n" }, "frequentFlyerNumber": { "type": "string", "maxLength": 255, "description": "The consumer's frequent flyer number. Leave 0 if there is no\nfrequent flyer number\n" }, "thirdPartyStatus": { "type": "string", "maxLength": 255, "description": "Specifies if the travel agent joins the flight (0) or not (1)\n" }, "passengerType": { "type": "string", "maxLength": 50, "description": "List of passenger types in a booking code:\nA (Adult)\nC (Child)\nComma separated values for total number of passenger\n" }, "totalInsuranceAmount": { "type": "string", "maxLength": 50, "description": "Total insurance amount. We have per leg and not total\n" } } } } }, "vehicleData": { "type": "object", "properties": { "connectorType": { "type": "string", "maxLength": 3, "description": "This field will contain connector type values for electric vehicle transactions.\n\nPossible Values:\n001 (AC - J1772 Type 1)\n002 (AC - Mennekes - Type 2)\n003 (AC - GB/T)\n100 (DC - CCS1)\n101 (DC - CHAdeMO)\n102 (DC - CCS2)\n103 (DC - GB/T)\n200 (NACS \u2013 Tesla)\n" }, "chargingReasonCode": { "type": "string", "maxLength": 3, "description": "This field will contain charging reason code values for electric vehicle transactions.\n\nPossible Values:\n010 (Other Error)\n011 (Connector Lock Failure)\n012 (EV Communication Error)\n013 (Ground Failure)\n014 (High Temperature)\n015 (Internal Error)\n016 (Over Current Failure)\n017 (Over Voltage)\n018 (Power Meter Failure)\n019 (Power Switch Failure)\n020 (Reader Failure)\n021 (Reset Failure)\n022 (Under Voltage)\n023 (Weak Signal)\n100 (No Error)\n200 (Payment Related Error)\n" } } } } }, "promotionInformation": { "type": "object", "properties": { "additionalCode": { "type": "string", "maxLength": 12, "description": "Additional rental agency marketed coupons for consumers to discount the rate of the vehicle rental agreement.\n" }, "code": { "type": "string", "maxLength": 12, "description": "Code for a promotion or discount.\n" } } } }, "example": { "clientReferenceInformation": { "code": "Testing-VDP-Payments-Refund" }, "orderInformation": { "amountDetails": { "totalAmount": "102.21", "currency": "USD" } } } } }, { "name": "id", "in": "path", "description": "The capture ID. This ID is returned from a previous capture request.", "required": true, "type": "string" } ], "responses": { "201": { "description": "Successful response.", "schema": { "title": "ptsV2CapturesRefundsPost201Response", "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." } } }, "void": { "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.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - PENDING\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "submitLocalDateTime": { "type": "string", "maxLength": 14, "description": "Date and time at your physical location.\n\nFormat: `YYYYMMDDhhmmss`, where YYYY = year, MM = month, DD = day, hh = hour, mm = minutes ss = seconds\n\n#### PIN Debit\nOptional field for PIN Debit purchase and credit requests.\n" }, "ownerMerchantId": { "type": "string", "description": "Merchant ID that was used to create the subscription or customer profile for which the service was requested.\n\nIf your CyberSource account is enabled for Recurring Billing, this field is returned only if you are using\nsubscription sharing and if your merchant ID is in the same merchant ID pool as the owner merchant ID.\n\nIf your CyberSource account is enabled for Payment Tokenization, this field is returned only if you are using\nprofile sharing and if your merchant ID is in the same merchant ID pool as the owner merchant ID.\n" }, "returnReconciliationId": { "type": "string", "description": "A new ID which is created for refund" } } }, "refundAmountDetails": { "type": "object", "properties": { "refundAmount": { "type": "string", "maxLength": 15, "description": "Total amount of the refund." }, "creditAmount": { "type": "string", "maxLength": 15, "description": "Amount that was credited to the cardholder's account.\n\nReturned by PIN debit credit.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" } } }, "processorInformation": { "type": "object", "properties": { "approvalCode": { "type": "string", "maxLength": 6, "description": "Authorization code. Returned only when the processor returns this value.\n\nThe length of this value depends on your processor.\n\nReturned by authorization service.\n\n#### PIN debit\nAuthorization code that is returned by the processor.\n\nReturned by PIN debit credit.\n\n#### Elavon Encrypted Account Number Program\nThe returned value is OFFLINE.\n\n#### TSYS Acquiring Solutions\nThe returned value for a successful zero amount authorization is 000000.\n" }, "transactionId": { "type": "string", "maxLength": 18, "description": "Processor transaction ID.\n\nThis value identifies the transaction on a host system. This value is supported only for Moneris. It contains\nthis information:\n\n - Terminal used to process the transaction\n - Shift during which the transaction took place\n - Batch number\n - Transaction number within the batch\n\nYou must store this value. If you give the customer a receipt, display this value on the receipt.\n\nExample For the value 66012345001069003:\n\n - Terminal ID = 66012345\n - Shift number = 001\n - Batch number = 069\n - Transaction number = 003\n" }, "forwardedAcquirerCode": { "type": "string", "maxLength": 32, "description": "Name of the Japanese acquirer that processed the transaction. Returned only for JCN Gateway.\nPlease contact the CyberSource Japan Support Group for more information.\n" }, "merchantNumber": { "type": "string", "maxLength": 15, "description": "Identifier that was assigned to you by your acquirer. This value must be printed on the receipt.\n\n#### Returned by\nAuthorizations and Credits.\n\nThis reply field is only supported by merchants who have installed client software on their POS terminals and\nuse these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n" }, "responseCode": { "type": "string", "maxLength": 10, "description": "For most processors, this is the error message sent directly from the bank. Returned only when the processor\nreturns this value.\n\n**Important** Do not use this field to evaluate the result of the authorization.\n\n#### PIN debit\nResponse value that is returned by the processor or bank.\n**Important** Do not use this field to evaluate the results of the transaction request.\n\nReturned by PIN debit credit, PIN debit purchase, and PIN debit reversal.\n\n#### AIBMS\nIf this value is `08`, you can accept the transaction if the customer provides you with identification.\n\n#### Atos\nThis value is the response code sent from Atos and it might also include the response code from the bank.\nFormat: `aa,bb` with the two values separated by a comma and where:\n- `aa` is the two-digit error message from Atos.\n- `bb` is the optional two-digit error message from the bank.\n\n#### Comercio Latino\nThis value is the status code and the error or response code received from the processor separated by a colon.\nFormat: [status code]:E[error code] or [status code]:R[response code]\nExample `2:R06`\n\n#### JCN Gateway\nProcessor-defined detail error code. The associated response category code is in the `processorInformation.responseCategoryCode` field.\nString (3)\n" }, "achVerification": { "type": "object", "properties": { "resultCode": { "type": "string", "maxLength": 2, "description": "Results from the ACH verification service.\nFor details about this service and the possible values for the results, see \"ACH Verification\" and \"Verification Codes\" in the [Electronic Check Services Using the SCMP API](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/).\n" }, "resultCodeRaw": { "type": "string", "maxLength": 10, "description": "Raw results from the ACH verification service.\nFor details about this service and the possible values for the raw results, see \"ACH Verification\" and \"Verification Codes\" in the [Electronic Check Services Using the SCMP API](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/).\n" } } }, "networkTransactionId": { "type": "string", "description": "Same value as `processorInformation.transactionId`" }, "settlementDate": { "type": "string", "maxLength": 4, "description": "Field contains a settlement date. The date is in mmdd format, where: mm = month and dd = day.\n" } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "settlementAmount": { "type": "string", "maxLength": 12, "description": "This is a multicurrency field. It contains the transaction amount (field 4), converted to the Currency used to bill the cardholder's account.\nThis field is returned for OCT transactions.\n" }, "settlementCurrency": { "type": "string", "maxLength": 3, "description": "This is a multicurrency-only field. It contains a 3-digit numeric code that identifies the currency used by the issuer to bill the cardholder's account.\nThis field is returned for OCT transactions.\n" }, "exchangeRate": { "type": "string", "maxLength": 13, "description": "Exchange rate returned by the DCC service. Includes a decimal point and a maximum of 4 decimal places.\n\nFor details, see `exchange_rate` request-level field description in the [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf)\n" }, "foreignAmount": { "type": "string", "maxLength": 15, "description": "Set this field to the converted amount that was returned by the DCC provider.\nFor processor-specific information, see the `foreign_amount` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "foreignCurrency": { "type": "string", "maxLength": 5, "description": "Set this field to the converted amount that was returned by the DCC provider.\n" } } }, "invoiceDetails": { "type": "object", "properties": { "level3TransmissionStatus": { "type": "boolean", "description": "Indicates whether CyberSource sent the Level III information to the processor. The possible values are:\n\nIf your account is not enabled for Level III data or if you did not include the purchasing level field in your\nrequest, CyberSource does not include the Level III data in the request sent to the processor.\n\nPossible values:\n- **true**\n- **false**\n" } } } } }, "pointOfSaleInformation": { "type": "object", "properties": { "terminalId": { "type": "string", "maxLength": 8, "description": "Identifier for the terminal at your retail location. You can define this value yourself, but consult the processor for requirements.\n\n#### CyberSource through VisaNet\nA list of all possible values is stored in your CyberSource account. If terminal ID validation is enabled for\nyour CyberSource account, the value you send for this field is validated against the list each time you include\nthe field in a request. To enable or disable terminal ID validation, contact CyberSource Customer Support.\n\nWhen you do not include this field in a request, CyberSource uses the default value that is defined in your CyberSource account.\n\n#### FDC Nashville Global\nTo have your account configured to support this field, contact CyberSource Customer Support. This value must be a value that FDC Nashville Global issued to you.\n\n#### For Payouts\nThis field is applicable for CyberSource through VisaNet.\n\n#### GPX\nIdentifier for the terminal at your retail location. A list of all possible values is stored in your account.\nIf terminal ID validation is enabled for your account, the value you send for this field is validated against\nthe list each time you include the field in a request. To enable or disable terminal ID validation, contact\ncustomer support.\n\nWhen you do not include this field in a request, the default value that is defined in your account is used.\n\nOptional for authorizations.\n\n#### Used by\n**Authorization**\nOptional for the following processors. When you do not include this field in a request, the default value that is\ndefined in your account is used.\n - American Express Direct\n - Credit Mutuel-CIC\n - FDC Nashville Global\n - SIX\n- Chase Paymentech Solutions: Optional field. If you include this field in your request, you must also include `pointOfSaleInformation.catLevel`.\n- FDMS Nashville: The default value that is defined in your account is used.\n- GPX\n- OmniPay Direct: Optional field.\n\nFor the following processors, this field is not used.\n- GPN\n- JCN Gateway\n- RBS WorldPay Atlanta\n- TSYS Acquiring Solutions\n- Worldpay VAP\n\n#### Card Present reply\nTerminal identifier assigned by the acquirer. This value must be printed on the receipt.\n" } } } }, "example": { "_links": { "self": { "href": "/pts/v2/refunds/4963014779006178301545", "method": "GET" }, "void": { "href": "/pts/v2/refunds/4963014779006178301545/voids", "method": "POST" } }, "id": "4963014779006178301545", "submitTimeUtc": "2017-06-01T071757Z", "status": "200", "reconciliationId": "39571012D3DFEKS0", "statusInformation": { "reason": "SUCCESS", "message": "Successful transaction." }, "clientReferenceInformation": { "code": "Testing-VDP-Payments-Refund" }, "orderInformation": { "amountDetails": { "currency": "USD" } }, "refundAmountDetails": { "currency": "USD", "refundAmount": "102.21" } } } }, "400": { "description": "Invalid request.", "schema": { "type": "object", "title": "ptsV2CapturesRefundsPost400Response", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_CARD\n - INVALID_MERCHANT_CONFIGURATION\n - INVALID_AMOUNT\n - CAPTURE_ALREADY_VOIDED\n - ACCOUNT_NOT_ALLOWED_CREDIT\n - NOT_SUPPORTED\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" } } } } } } }, "502": { "description": "Unexpected system error or system timeout.", "schema": { "title": "ptsV2CapturesRefundsPost502Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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": "Refund a Capture", "value": { "clientReferenceInformation": { "code": "TC50171_3" }, "orderInformation": { "amountDetails": { "totalAmount": "102.21", "currency": "USD" } } }, "depends": { "example": { "path": "/pts/v2/payments/{id}/captures", "verb": "post", "exampleId": "example0" }, "fieldMapping": [ { "sourceField": "id", "destinationField": "id", "fieldTypeInDestination": "path" } ] } } } } }, "/pts/v2/credits": { "post": { "summary": "Process a Credit", "description": "POST to the credit resource to credit funds to a specified credit card.", "tags": [ "credit" ], "operationId": "createCredit", "x-devcenter-metaData": { "categoryTag": "Payments", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/payments/developer/ctv/rest/payments/payments-intro.html" }, "parameters": [ { "name": "createCreditRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" }, "pausedRequestId": { "type": "string", "maxLength": 26, "description": "Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call.\n" }, "transactionId": { "type": "string", "maxLength": 30, "description": "Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request.\n\n**Note** Use this field only if you want to support merchant-initiated reversal and void operations.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, and Void**\nOptional field.\n\n#### PIN Debit\nFor a PIN debit reversal, your request must include a request ID or a merchant transaction identifier.\nOptional field for PIN debit purchase or credit requests.\n" }, "comments": { "type": "string", "description": "Comments" }, "partner": { "type": "object", "properties": { "originalTransactionId": { "type": "string", "maxLength": 32, "description": "Value that links the previous transaction to the current follow-on request. This value is assigned by the client\nsoftware that is installed on the POS terminal, which makes it available to the terminal's software and to\nCyberSource. Therefore, you can use this value to reconcile transactions between CyberSource and the terminal's\nsoftware.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" }, "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" }, "thirdPartyCertificationNumber": { "type": "string", "maxLength": 12, "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" } } }, "applicationName": { "type": "string", "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" }, "applicationVersion": { "type": "string", "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "applicationUser": { "type": "string", "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" } } }, "processingInformation": { "type": "object", "properties": { "commerceIndicator": { "type": "string", "maxLength": 20, "description": "Type of transaction. Some payment card companies use this information when determining discount rates.\n\n#### Used by\n**Authorization**\nRequired payer authentication transactions; otherwise, optional.\n**Credit**\nRequired for standalone credits on Chase Paymentech solutions; otherwise, optional.\n\nThe list of valid values in this field depends on your processor.\nSee Appendix I, \"Commerce Indicators,\" on page 441 of the Cybersource Credit Card Guide.\n\n#### Ingenico ePayments\nWhen you omit this field for Ingenico ePayments, the processor uses the default transaction type they have on file for you\ninstead of the default value (listed in Appendix I, \"Commerce Indicators,\" on page 441.)\n\n#### Payer Authentication Transactions\nFor the possible values and requirements, see \"Payer Authentication,\" page 195.\n\n#### Card Present\nYou must set this field to `retail`. This field is required for a card-present transaction. Note that this should ONLY be\nused when the cardholder and card are present at the time of the transaction.\nFor all keyed transactions originated from a POS terminal where the cardholder and card are not present, commerceIndicator\nshould be submitted as \"moto\"\n" }, "processorId": { "type": "string", "maxLength": 3, "description": "Value that identifies the processor/acquirer to use for the transaction. This value is supported only for\n**CyberSource through VisaNet**.\n\nContact CyberSource Customer Support to get the value for this field.\n" }, "paymentSolution": { "type": "string", "maxLength": 12, "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/VCO_SCMP_API/html/)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. For details, see \"Masterpass\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Please check with Cybersource customer support to see if your merchant account is configured correctly so you\ncan include this field in your request.\n* For Payouts: max length for FDCCompass is String (22).\n" }, "linkId": { "type": "string", "maxLength": 26, "description": "Value that links the current authorization request to the original authorization request. Set this value\nto the ID that was returned in the reply message from the original authorization request.\n\nThis value is used for:\n\n- Partial authorizations\n- Split shipments\n\nFor details, see `link_to_request` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "reportGroup": { "type": "string", "maxLength": 25, "description": "Attribute that lets you define custom grouping for your processor reports. This field is supported only for **Worldpay VAP**.\n\nFor details, see `report_group` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "visaCheckoutId": { "type": "string", "maxLength": 48, "description": "Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in\nthe Visa Checkout **callID** field.\n" }, "purchaseLevel": { "type": "string", "maxLength": 1, "description": "Set this field to 3 to indicate that the request includes Level III data." }, "industryDataType": { "type": "string", "maxLength": 20, "description": "Indicates that the transaction includes industry-specific data.\n\nPossible Values:\n- `airline`\n- `restaurant`\n- `lodging`\n- `auto_rental`\n- `transit`\n- `healthcare_medical`\n- `healthcare_transit`\n- `transit`\n\n#### Card Present, Airlines and Auto Rental\nYou must set this field to `airline` in order for airline data to be sent to the processor. For example, if this\nfield is not set to `airline` or is not included in the request, no airline data is sent to the processor.\n\nYou must set this field to `restaurant` in order for restaurant data to be sent to the processor. When this field\nis not set to `restaurant` or is not included in the request, no restaurant data is sent to the processor.\n\nYou must set this field to `auto_rental` in order for auto rental data to be sent to the processor. For example, if this\nfield is not set to `auto_rental` or is not included in the request, no auto rental data is sent to the processor.\n\nRestaurant data is supported only on CyberSource through VisaNet.\n" }, "walletType": { "type": "string", "maxLength": 5, "description": "This field carries the wallet type in authorization requests and credit requests. Possible value are:\n- `101`: Masterpass remote payment. The customer created the wallet by manually interacting with a customer-controlled device such as a computer, tablet, or phone. This value is supported only for Masterpass transactions on Chase Paymentech Solutions and CyberSource through VisaNet.\n- `102`: Masterpass remote near field communication (NFC) payment. The customer created the wallet by tapping a PayPass card or customer-controlled device at a contactless card reader. This value is supported only for card-present Masterpass transactions on CyberSource through VisaNet.\n- `103`: Masterpass Apple Pay payment. The payment was made with a combination of Masterpass and Apple Pay. This value is supported only for Masterpass Apple Pay transactions on CyberSource through VisaNet.\n- `216`: Masterpass Google Pay payment. The payment was made with a combination of Masterpass and Google Pay. This value is supported only for Masterpass Google Pay transactions on CyberSource through VisaNet.\n- `217`: Masterpass Samsung Pay payment. The payment was made with a combination of Masterpass and Samsung Pay. This value is supported only for Masterpass Samsung Pay transactions on CyberSource through VisaNet.\n- `SDW`: Staged digital wallet. An issuer or operator created the wallet. This value is supported only for Masterpass transactions on Chase Paymentech Solutions.\n- `VCIND`: Visa Checkout payment. This value is supported only on CyberSource through VisaNet, FDC Compass, FDC Nashville Global, FDI Australia, and TSYS Acquiring Solutions. See Getting Started with Visa Checkout. For Visa Checkout transactions, the way CyberSource processes the value for this field depends on the processor. See the Visa Checkout section below.\nFor all other values, this field is a passthrough; therefore, CyberSource does not verify the value or modify it in any way before sending it to the processor.\nMasterpass (101, 102, 103, 216, and 217): The Masterpass platform generates the wallet type value and passes it to you along with the customer's checkout information.\n\nVisa Checkout:\nThis field is optional for Visa Checkout authorizations on FDI Australia. For all other processors, this field is required for Visa Checkout authorizations.\nFor Visa Checkout transactions on the following processors, CyberSource sends the value that the processor expects for this field:FDC Compass,FDC Nashville Global,FDI Australia,TSYS Acquiring\nSolutions For all other processors, this field is a passthrough; therefore, CyberSource does not verify the value or modify it in any way before sending it to the processor.\nFor incremental authorizations, this field is supported only for Mastercard and the supported values are 101 and 102.\nPayment card companies can introduce new values without notice. Your order management system should be able to process new values without problems.\n\nCyberSource through VisaNet\nWhen the value for this field is 101, 102, 103, 216, or 217, it corresponds to the following data in the TC 33 capture file5: Record: CP01 TCR6, Position: 88-90, Field: Mastercard Wallet Identifier.\nWhen the value for this field is VCIND, it corresponds to the following data in the TC 33 capture file5: Record: CP01 TCR8, Position: 72-76, Field: Agent Unique ID.\n" }, "nationalNetDomesticData": { "type": "string", "maxLength": 123, "description": "Supplementary domestic transaction information provided by the acquirer for National Net Settlement Service (NNSS) transactions. NNSS is a settlement service that Visa provides.\nFor transactions on CyberSource through VisaNet in countries that subscribe to NNSS:\nVisaNet clears transactions; VisaNet transfers funds to the acquirer after deducting processing fees and interchange fees.\nVisaNet settles transactions in the local pricing currency through a local financial institution.\nThis field is supported only on CyberSource through VisaNet for domestic data in Colombia\n" }, "networkRoutingOrder": { "type": "string", "maxLength": 30, "description": "On PIN Debit Gateways: This U.S.-only field is optionally used by participants (merchants and acquirers) to specify the network access priority.\nVisaNet checks to determine if there are issuer routing preferences for any of the networks specified by the sharing group code.\nIf an issuer preference exists for one of the specified debit networks, VisaNet makes a routing selection based on the issuer's preference.\nIf an issuer preference exists for more than one of the specified debit networks, or if no issuer preference exists,\nVisaNet makes a selection based on the acquirer's routing priorities.\n\n#### PIN debit\nPriority order of the networks through which he transaction will be routed. Set this value to a series of one-character network codes in your preferred order. This is a list of the network codes:\n\n| Network | Code |\n| --- | --- |\n| Accel | E |\n| AFFN | U |\n| Alaska Option | 3 |\n| CU24 | C |\n| Interlink | G |\n| Maestro | 8 |\n| NETS | P |\n| NYCE | F |\n| Pulse | H |\n| Shazam | 7 |\n| Star | M |\n| Visa | V |\n\nFor example, if the Star network is your first preference and Pulse is your second preference, set this field to a value of `MH`.\n\nWhen you do not include this value in your PIN debit request, the list of network codes from your account is used.\n**Note** This field is supported only for businesses located in the U.S.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "recurringOptions": { "type": "object", "properties": { "loanPayment": { "type": "boolean", "description": "Flag that indicates whether this is a payment towards an existing contractual loan.\n\nPossible values:\n- `true`: Loan payment\n- `false`: (default) Not a loan payment\n\nFor processor-specific details, see `debt_indicator` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n", "default": false } } }, "bankTransferOptions": { "type": "object", "properties": { "customerMemo": { "type": "string", "maxLength": 80, "description": "Payment related information.\n\nThis information is included on the customer's statement.\n" }, "secCode": { "type": "string", "maxLength": 3, "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nAccepts only the following values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\nFor details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" }, "terminalCity": { "type": "string", "maxLength": 4, "description": "City in which the terminal is located. If more than four alphanumeric characters are submitted, the transaction\nwill be declined.\n\nYou cannot include any special characters.\n" }, "terminalState": { "type": "string", "maxLength": 2, "description": "State in which the terminal is located. If more than two alphanumeric characters are submitted, the transaction\nwill be declined.\n\nYou cannot include any special characters.\n" }, "effectiveDate": { "type": "string", "maxLength": 8, "description": "Effective date for the transaction. The effective date must be within 45 days of the current day. If you do not\ninclude this value, CyberSource sets the effective date to the next business day.\n\nFormat: `MMDDYYYY`\n\nSupported only for the CyberSource ACH Service.\n" }, "partialPaymentId": { "type": "string", "maxLength": 25, "description": "Identifier for a partial payment or partial credit.\n\nThe value for each debit request or credit request must be unique within the scope of the order.\nFor details, see `partial_payment_id` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" }, "settlementMethod": { "type": "string", "maxLength": 1, "description": "Method used for settlement.\n\nPossible values:\n- `A`: Automated Clearing House (default for credits and for transactions using Canadian dollars)\n- `F`: Facsimile draft (U.S. dollars only)\n- `B`: Best possible (U.S. dollars only) (default if the field has not already been configured for your\nmerchant ID)\n\nFor details, see `ecp_settlement_method` field description for credit cars and `ecp_debit_settlement_method` for debit cards in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } }, "purchaseOptions": { "type": "object", "properties": { "isElectronicBenefitsTransfer": { "type": "boolean", "description": "Flag that indicates whether this transaction is an EBT transaction. Possible values:\n- `true`\n- `false`\n\n#### PIN debit\nRequired field for EBT and EBT voucher transactions that use PIN debit credit or PIN debit purchase; otherwise, not used.\n" } } }, "electronicBenefitsTransfer": { "type": "object", "properties": { "category": { "type": "string", "maxLength": 4, "description": "Flag that specifies the category for the EBT transaction.\n\nPossible values:\n- `CASH`: Cash benefits, which can be used to purchase any item at a participating retailer, as well as to obtain cash-back or make a cash withdrawal from a participating ATM.\n- `FOOD`: Food stamp benefits, which can be used only to purchase food items authorized by the USDA SNAP program.\n\n#### PIN debit\nRequired field for EBT transactions that use PIN debit credit or PIN debit purchase; otherwise, not used.\n" } } }, "loanOptions": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 20, "description": "Type of loan based on an agreement between you and the issuer.\nExamples: AGROCUSTEIO, AGRO-INVEST, BNDES-Type1, CBN, FINAME.\nThis field is supported only for these kinds of payments:\n- BNDES transactions on CyberSource through VisaNet.\n- Installment payments with Mastercard on CyberSource through VisaNet in Brazil.\n\nSee \"\"Installment Payments on CyberSource through VisaNet,\"\" in the SCMP/SO guide\n\nFor BNDES transactions, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP07 TCR2, Position: 27-46, Field: Loan Type\n\nFor installment payments with Mastercard in Brazil, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP07 TCR4, Position: 5-24,Field: Financing Type\n" }, "assetType": { "type": "string", "maxLength": 1, "description": "Indicates whether a loan is for a recoverable item or a non-recoverable item.\nPossible values:\n- `N`: non-recoverable item\n- `R`: recoverable item\nThis field is supported only for BNDES transactions on CyberSource through VisaNet.\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n Record: CP07 TCR2, Position: 26, Field: Asset Indicator\n" } } }, "japanPaymentOptions": { "type": "object", "properties": { "paymentMethod": { "type": "string", "maxLength": 2, "description": "This value is a 2-digit code indicating the payment method.\nUse Payment Method Code value that applies to the tranasction.\n- 10 (One-time payment)\n- 21, 22, 23, 24 (Bonus(one-time)payment)\n- 61 (Installment payment)\n- 31, 32, 33, 34 (Integrated (Bonus + Installment)payment)\n- 80 (Revolving payment)\n" }, "installments": { "type": "string", "maximum": 99, "description": "Number of Installments.\n" } } }, "refundOptions": { "type": "object", "properties": { "reason": { "type": "string", "description": "Must be set to `pow` for Mastercard Gaming Payment of Winnings tranactions." } } } } }, "paymentInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 20, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n\n#### FDMS Nashville\nRequired. String (19)\n\n#### GPX\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nValid values: `01` through `12`. Leading 0 is required.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value\n(`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is\nin the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause\nthe issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (_type_=039), if there is no expiration date on the card, use `12`.\n\n#### FDMS Nashville\nRequired field.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the payment card expires.\n\nFormat: `YYYY`.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`1900` through `3000`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (**_type_**`=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDMS Nashville\nRequired field.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. If you send in 2 digits, they must be the last 2 digits of the year.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `014`: Enroute[^1]\n- `021`: JAL[^1]\n- `024`: Maestro (UK Domestic)[^1]\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `042`: Maestro (International)[^1]\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `054`: Elo[^3]\n- `062`: China UnionPay\n- '070': EFTPOS\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "accountEncoderId": { "type": "string", "maxLength": 3, "description": "Identifier for the issuing bank that provided the customer's encoded account number. Contact your processor for the bank's ID.\n" }, "issueNumber": { "type": "string", "maxLength": 5, "description": "Number of times a Maestro (UK Domestic) card has been issued to the account holder. The card might or might not have an issue number. The number can consist of one or two digits, and the first digit might be a zero. When you include this value in your request, include exactly what is printed on the card. A value of 2 is different than a value of 02. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card.\n\n**Note** The issue number is not required for Maestro (UK Domestic) transactions.\n" }, "startMonth": { "type": "string", "maxLength": 2, "description": "Month of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: MM`. Possible values: 01 through 12.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "startYear": { "type": "string", "maxLength": 4, "description": "Year of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: YYYY`.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "sourceAccountType": { "type": "string", "maxLength": 20, "description": "Flag that specifies the type of account associated with the card. \nThe cardholder provides this information during the payment process.\n\nThis field is required in the following cases:\n - Debit transactions on Cielo and Comercio Latino.\n - Transactions with Brazilian-issued cards on CyberSource through VisaNet.\n - Applicable only for CyberSource through VisaNet (CtV).\n\n**Note** Combo cards in Brazil contain credit and debit functionality in a single card. Visa systems use a credit bank\nidentification number (BIN) for this type of card. Using the BIN to determine whether a card is debit or\ncredit can cause transactions with these cards to be processed incorrectly. CyberSource strongly recommends\nthat you include this field for combo card transactions.\n\nPossible values include the following.\n\n - `CH`: Checking account\n - `CR`: Credit card account\n - `SA`: Saving account\n - `LI`: Line of credit or credit portion of combo card\n - `PP`: Prepaid card account or prepaid portion of combo card\n - `UA`: Universal account\n\nIf useAs is set to credit/debit and there is a value in SourceAccountType, the value in the SourceAccountType field will take precedence.\nIf useAs is set to CR/DB and there is a value in SourceAccountType, the value in the useAs field will take precedence.\n" }, "sourceAccountTypeDetails": { "type": "string", "maxLength": 4, "description": "Type of account that is being used when the value for the override_payment_method field is line of credit (LI) or prepaid card (PP).\nPossible values for line of credit:\n- `AGRC`: Visa Agro Custeio\n- `AGRE`: Visa Agro Electron\n- `AGRI`: Visa Agro Investimento\n- `AGRO`: Visa Agro\nPossible values for prepaid card:\n- `VVA`: Visa Vale Alimentacao\n- `VVF`: Visa Vale Flex\n- `VVR`: Visa Vale Refeicao\nThis field is supported only for combo card transactions in Brazil on CyberSource through VisaNet.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Number.\n\n#### FDMS Nashville\nRequired for American Express or if swiped; otherwise, optional.\n\n#### Ingenico ePayments\nDo not include this field when `commerceIndicator=recurring`.\n**Note** Ingenico ePayments was previously called _Global Collect_.\n\n#### TSYS Acquiring Solutions\nOptional if pointOfSaleInformation.entryMode=keyed; otherwise, not used.\n\n#### GPX\nOptional.\n\n#### All other processors:\nOptional.\n" }, "useAs": { "type": "string", "maxLength": 20, "description": "Flag that specifies the type of account associated with the card.\nThis field is available only for China UnionPay, Cielo, Comercio Latino and Visa Platform Connect.\nThe cardholder provides this information during the payment process.\n\nThis field is required for:\n - Debit transactions on Cielo and Comercio Latino.\n - Transactions with Brazilian-issued cards on CyberSource through VisaNet.\n\n**China UnionPayCard Transactions on China UnionPay:**\nPossible values:\n - C: Domestic credit card\n - D: Domestic debit card\n - F: International credit card\n - I: International debit card\n\nWhen the value is D, the e-commerce indicator and CAVV fields must be included in the authorization request.\nWhen the value is C, F or I the card verification number, expiration month and expiration year fields must in included in the authorization request.\n\n**Cielo and Comercio Latino Credit Card Transactions:**\nOn these processors, this field is supported only for authorizations.\nPossible values:\n - CR: Credit card\n - DB: Debit card \n\n**Visa Platform Connect Credit Card Transactions:**\nThis field is supported only for all card Types on Visa Platform Connect.\n\nA value of CR or DB in the useAs field takes precedence over any value in the Source Account Type field.\n" } } }, "bank": { "type": "object", "properties": { "account": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 1, "description": "Account type.\n\nPossible values:\n - **C**: Checking.\n - **G**: General ledger. This value is supported only on Wells Fargo ACH.\n - **S**: Savings (U.S. dollars only).\n - **X**: Corporate checking (U.S. dollars only).\n" }, "number": { "type": "string", "maxLength": 17, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "encoderId": { "type": "string", "maxLength": 3, "description": "Identifier for the bank that provided the customer's encoded account number.\n\nTo obtain the bank identifier, contact your processor.\n\nFor details, see `account_encoder_id` request-level field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "checkNumber": { "type": "string", "maxLength": 8, "description": "Check number.\n\nChase Paymentech Solutions - Optional.\nCyberSource ACH Service - Not used.\nRBS WorldPay Atlanta - Optional on debits. Required on credits.\nTeleCheck - Strongly recommended on debit requests. Optional on credits.\n" }, "checkImageReferenceNumber": { "type": "string", "maxLength": 32, "description": "Image reference number associated with the check. You cannot include any special characters.\n" } } }, "routingNumber": { "type": "string", "maxLength": 9, "description": "Bank routing number. This is also called the _transit number_.\n\nFor details, see `ecp_rdfi` request field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" }, "iban": { "type": "string", "maxLength": 50, "description": "International Bank Account Number (IBAN) for the bank account. For some countries you can provide this number instead of the traditional bank account information. You can use this field only when scoring a direct debit transaction.\n\nFor all possible values, see the `bank_iban` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "swiftCode": { "type": "string", "description": "Bank's SWIFT code. You can use this field only when scoring a direct debit transaction.\nRequired only for crossborder transactions.\n\nFor all possible values, see the `bank_swiftcode` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" } } }, "tokenizedCard": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 20, "description": "Customer's payment network token value.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "One of two possible meanings:\n- The two-digit month in which a token expires.\n- The two-digit month in which a card expires.\nFormat: `MM`\nPossible values: `01` through `12`\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_type=039`), if there is no expiration date on the card, use `12`.\\\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Samsung Pay and Apple Pay\nMonth in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\nFor processor-specific information, see the `customer_cc_expmo` field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n\nFor processor-specific information, see the `customer_cc_expyr` or `token_expiration_year` field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `014`: Enroute[^1]\n- `021`: JAL[^1]\n- `024`: Maestro (UK Domestic)[^1]\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `042`: Maestro (International)[^1]\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `054`: Elo[^3]\n- `062`: China UnionPay\n- '070': EFTPOS\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "cryptogram": { "type": "string", "maxLength": 255, "description": "This field contains token information." }, "requestorId": { "type": "string", "maxLength": 11, "description": "Value that identifies your business and indicates that the cardholder's account number is tokenized. This value\nis assigned by the token service provider and is unique within the token service provider's database.\n\n**Note** This field is supported only for **CyberSource through VisaNet** and **FDC Nashville Global**.\n\n#### PIN debit\nOptional field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.\n" }, "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it specifies the entity that\nprovided you with information about the token.\n\nPossible value:\n- `2`: Near-field communication (NFC) transaction. The customer's mobile device provided the token data for a contactless EMV transaction. For recurring\ntransactions, use this value if the original transaction was a contactless EMV transaction.\n\n#### Visa Platform Connect\n- `1`: For Rupay and In App tokenization. Example: InApp apple pay.\n- `3`: Card/Credential On File Tokenization.\n\n**NOTE** No CyberSource through VisaNet acquirers support EMV at this time.\n\nRequired field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.\n\n#### Rupay\n- `3`: Card/Credential On File Tokenization.\n- `4`: Tokenizined Transaction. Should be used for Guest Checkout transactions with token.\n" }, "assuranceLevel": { "type": "string", "maxLength": 2, "description": "Confidence level of the tokenization. This value is assigned by the token service provider.\n\n**Note** This field is supported only for **CyberSource through VisaNet** and **FDC Nashville Global**.\n\nReturned by PIN debit credit or PIN debit purchase.\n\n**Note** Merchants supported for **CyberSource through VisaNet**/**Visa Platform Connect** are advised not to use this field.\n" }, "storageMethod": { "type": "string", "maxLength": 3, "description": "Type of technology used in the device to store token data. Possible values:\n\n- `001`: Secure Element (SE). Smart card or memory with restricted access and encryption to prevent data tampering. For storing payment\n credentials, a SE is tested against a set of requirements defined by the payment networks.\n\n **Note** This field is supported only for _FDC Compass_.\n\n- 002: Host Card Emulation (HCE). Emulation of a smart card by using software to create a virtual and exact representation of the card.\nSensitive data is stored in a database that is hosted in the cloud. For storing payment credentials, a database\nmust meet very stringent security requirements that exceed PCI DSS.\n\n**Note** This field is supported only for _FDC Compass_.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Number (CVN).\n\n#### Ingenico ePayments\nDo not include this field when **commerceIndicator=recurring**.\n**Note** Ingenico ePayments was previously called _Global Collect_.\n\nFor details, see `customer_cc_cv_number` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "securityCodeIndicator": { "type": "string", "maxLength": 1, "description": "Indicates whether a CVN code was sent. Possible values:\n\n - `0` (default): CVN service not requested. This default value is used when you do not include\n `securityCode` field in the request.\n - `1` (default): CVN service requested and supported. This default value is used when you include\n `securityCode` field in the request.\n - `2`: CVN on credit card is illegible.\n - `9`: CVN was not imprinted on credit card.\n\n#### FDMS Nashville\nRequired for American Express cards; otherwise, optional.\n\n#### TSYS Acquiring Solutions\nOptional if `pointOfSaleInformation.entryMode=keyed`; otherwise, not used.\n\n#### All other processors\nOptional.\n" }, "assuranceMethod": { "type": "string", "maxLength": 2, "description": "Confidence level of the tokenization. This value is assigned by the token service provider.\n\n**Note** This field is supported only for **Visa Platform Connect**\n" } } }, "fluidData": { "type": "object", "properties": { "keySerialNumber": { "type": "string", "description": "The encoded or encrypted value that a payment solution returns for an authorization request. For details about the valid values for a key, see [Creating an Online Authorization](https://developer.cybersource.com/api/developer-guides/dita-payments/CreatingOnlineAuth.html)\n" }, "descriptor": { "type": "string", "maxLength": 128, "description": "The identifier for a payment solution, which is sending the encrypted payment data for decryption. Valid values:\nSamsung Pay: RklEPUNPTU1PTi5TQU1TVU5HLklOQVBQLlBBWU1FTlQ=\nNote: For other payment solutions, the value may be specific to the terminal or device initiatinf the payment. For example, the descriptor for a Bluefin payment encryption would be a device-generated descriptor.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits.\n\nCard Present processing:\nFormat of the encrypted payment data.\nThe value for Bluefin PCI P2PE is `Ymx1ZWZpbg==`. paymentInformation.fluidData.encoding must be `Base64`.\nThe value for Cybersource P2PE decryption depends on the encoding method used and identified in encoding field.\nIf paymentInformation.fluidData.encoding is `Base64`, the value is: `RklEPUVNVi5QQVlNRU5ULkFQSQ==`\nIf paymentInformation.fluidData.encoding is `HEX`, the value is: `4649443D454D562E5041594D454E542E41504`\n" }, "value": { "type": "string", "maxLength": 4000, "description": "Represents the encrypted payment data BLOB. The entry for this field is dependent on the payment solution used by the merchant.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits that use a Cybersource suppored Point-to-Point encryption method.\nCard Present processing\nThis field represents the encrypted payment data generated by the payment terminal/device.\n" }, "encoding": { "type": "string", "maxLength": 6, "description": "Encoding method used to encrypt the payment data.\nValid values: `Base64`, `HEX`\nIf no value is provided, `Base64` is taken as the default value. And the `Base64` descriptor is used for paymentInformation.fluidData.encoding\n" } } }, "customer": { "type": "object", "properties": { "customerId": { "type": "string", "description": "Unique identifier for the customer's card and billing information.\n\nWhen you use Payment Tokenization or Recurring Billing and you include this value in\nyour request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n\n**NOTE** When you use Payment Tokenization or Recurring Billing, the value for the Customer ID is actually the Cybersource payment token for a customer. This token stores information such as the consumer's card number so it can be applied towards bill payments, recurring payments, or one-time payments. By using this token in a payment API request, the merchant doesn't need to pass in data such as the card number or expiration date in the request itself.\n\nFor details, see the `subscription_id` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "id": { "type": "string", "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "paymentInstrument": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Payment Instrument token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Instrument Identifier token used in the transaction.\nWhen you include this value in your request, many of the fields that can be supplied for an authorization or credit\nbecome optional.\n", "minLength": 12, "maxLength": 32 } } }, "shippingAddress": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Customers Shipping Address token used in the transaction.\nWhen you include this value in your request, many of the shipping fields that can be supplied for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "legacyToken": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the legacy Secure Storage token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "paymentType": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" }, "subTypeName": { "type": "string", "description": "In case the APM supports multiple modes of initiation (e.g. Alipay via QR Code or Barcode)\n" }, "method": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n" } } } } }, "eWallet": { "type": "object", "properties": { "fundingSource": { "type": "string", "maxLength": 30, "description": "Payment mode for the authorization or order transaction. \uf06e INSTANT_TRANSFER \uf06e MANUAL_BANK_TRANSFER \uf06e DELAYED_TRANSFER \uf06e ECHECK \uf06e UNRESTRICTED (default)\u2014this value is available only when configured by PayPal for the merchant. \uf06eINSTANT" } } } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. For details, see:\n- \"Authorization Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Capture Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Credit Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\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. For details, see \"Zero Amount Authorizations,\" \"Credit Information for Specific Processors\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\nRequired for creating a new invoice.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. For details, see `grand_total_amount` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in \"Authorization Information for Specific Processors\" of the [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "discountAmount": { "type": "string", "maxLength": 15, "description": "Total discount amount applied to the order.\n" }, "dutyAmount": { "type": "string", "maxLength": 15, "description": "Total charges for any import or export duties included in the order.\n" }, "gratuityAmount": { "type": "string", "maxLength": 13, "description": "Gratuity or tip amount for restaurants. Allowed only when industryDatatype=restaurant.\nWhen your customer uses a debit card or prepaid card, and you receive a partial authorization, the payment networks recommend that you do not\nsubmit a capture amount that is higher than the authorized amount. When the capture amount exceeds the partial amount that was approved, the\nissuer has chargeback rights for the excess amount.\n\nUsed by **Capture**\nOptional field.\n\n#### CyberSource through VisaNet\nRestaurant data is supported only on CyberSource through VisaNet when card is present.\n" }, "taxAmount": { "type": "string", "maxLength": 12, "description": "Total tax amount for all the items in the order.\n" }, "nationalTaxIncluded": { "type": "string", "maxLength": 1, "description": "Flag that indicates whether a national tax is included in the order total.\n\nPossible values:\n\n - **0**: national tax not included\n - **1**: national tax included\n" }, "taxAppliedAfterDiscount": { "type": "string", "maxLength": 1, "description": "Flag that indicates how the merchant manages discounts.\n\nPossible values:\n\n - **0**: no invoice level discount included\n - **1**: tax calculated on the postdiscount invoice total\n - **2**: tax calculated on the prediscount invoice total\n" }, "taxAppliedLevel": { "type": "string", "maxLength": 1, "description": "Flag that indicates how you calculate tax.\n\nPossible values:\n\n - **0**: net prices with tax calculated at line item level\n - **1**: net prices with tax calculated at invoice level\n - **2**: gross prices with tax provided at line item level\n - **3**: gross prices with tax provided at invoice level\n - **4**: no tax applies on the invoice for the transaction\n" }, "taxTypeCode": { "type": "string", "maxLength": 3, "description": "For tax amounts that can be categorized as one tax type.\n\nThis field contains the tax type code that corresponds to the entry in the _lineItems.taxAmount_ field.\n\nPossible values:\n\n - **056**: sales tax (U.S only)\n - **TX~**: all taxes (Canada only) Note ~ = space.\n" }, "freightAmount": { "type": "string", "maxLength": 13, "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n\nFor processor-specific information, see the freight_amount field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "foreignAmount": { "type": "string", "maxLength": 15, "description": "Set this field to the converted amount that was returned by the DCC provider.\nFor processor-specific information, see the `foreign_amount` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "foreignCurrency": { "type": "string", "maxLength": 5, "description": "Set this field to the converted amount that was returned by the DCC provider.\n" }, "exchangeRate": { "type": "string", "maxLength": 13, "description": "Exchange rate returned by the DCC service. Includes a decimal point and a maximum of 4 decimal places.\n\nFor details, see `exchange_rate` request-level field description in the [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf)\n" }, "exchangeRateTimeStamp": { "type": "string", "maxLength": 14, "description": "Time stamp for the exchange rate. This value is returned by the DCC service.\n\nFormat: `YYYYMMDD~HH:MM` where ~ denotes a space.\n" }, "amexAdditionalAmounts": { "type": "array", "items": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 3, "description": "Additional amount type. This field is supported only for **American Express Direct**.\n\nFor processor-specific information, see the `additional_amount_type0` request-level field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "amount": { "type": "string", "maxLength": 12, "description": "Additional amount. This field is supported only for **American Express Direct**.\n" } } } }, "taxDetails": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n\nFor processor-specific details, see the `alternate_tax_amount`, `local_tax`, `national_tax` or `vat_tax_amount` field\ndescriptions in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "amount": { "type": "string", "maxLength": 13, "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" }, "rate": { "type": "string", "maxLength": 6, "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n\nFor processor-specific details, see the `alternate_tax_amount`, `vat_rate`, `vat_tax_rate`, `local_tax`, `national_tax`, `vat_tax_amount` or `other_tax#_rate` field descriptions in the [Level II and Level III Processing Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "code": { "type": "string", "maxLength": 4, "description": "Type of tax being applied to the item.\n\nFor possible values, see the processor-specific field descriptions in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/):\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" }, "taxId": { "type": "string", "maxLength": 15, "description": "Your tax ID number to use for the alternate tax amount. Required if you set alternate tax amount to any value,\nincluding zero. You may send this field without sending alternate tax amount.\n\nFor processor-specific details, see `alternate_tax_id` field description in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "applied": { "type": "boolean", "description": "Flag that indicates whether the alternate tax amount (`orderInformation.amountDetails.taxDetails[].amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: alternate tax amount is not included in the request.\n- `true`: alternate tax amount is included in the request.\n\nFor processor-specific details, see `alternate_tax_amount_indicator` field description in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "exemptionCode": { "type": "string", "maxLength": 1, "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n\nFor possible values and important information for using this field, see _Appendix B, \"Exemption\nStatus Values_ and _Offer-Level Tax Fields_ in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" } } } }, "serviceFeeAmount": { "type": "string", "maxLength": 15, "description": "Service fee. Required for service fee transactions.\n" }, "originalCurrency": { "type": "string", "maxLength": 15, "description": "Your local pricing currency code.\n\nFor the possible values, see the [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n" }, "cashbackAmount": { "type": "string", "maxLength": 13, "description": "Cashback amount in the acquirer's currency. If a cashback amount is included in the request, it must be included\nin the `orderInformation.amountDetails.totalAmount` value.\n\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization**\nOptional.\n**Authorization Reversal**\nOptional.\n\n#### PIN debit\nOptional field for PIN debit purchase, PIN debit credit or PIN debit reversal.\n" } } }, "billTo": { "type": "object", "properties": { "title": { "type": "string", "maxLength": 60, "description": "Title.\n" }, "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called _CyberSource Latin American Processing_. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "middleName": { "type": "string", "maxLength": 60, "description": "Customer's middle name.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### RBS WorldPay Atlanta\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "company": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n\n**CyberSource through VisaNet**\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\nFor processor-specific information, see the `company_name` field in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "address1": { "type": "string", "maxLength": 40, "description": "First line in the street address of the company purchasing the product." }, "address2": { "type": "string", "maxLength": 40, "description": "Additional address information for the company purchasing the product." }, "locality": { "type": "string", "maxLength": 30, "description": "City in the address of the company purchasing the product." }, "administrativeArea": { "type": "string", "maxLength": 2, "description": "State or province in the address of the company purchasing the product. Use the State, Province, and Territory\nCodes for the United States and Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code in the address of the company purchasing the product. The postal code must consist of 5 to 9 digits.\n\nWhen the company country is the U.S., the 9-digit postal code must follow this format:\n**[5 digits][dash][4 digits]**\n#### Example\n`12345-6789`\n\nWhen the company country is Canada, the 6-digit postal code must follow this format:\n**[alpha][numeric][alpha][space][numeric][alpha][numeric]**\n#### Example\n`A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Country in the address of the company purchasing the product. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" } } }, "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "district": { "type": "string", "maxLength": 50, "description": "Customer's neighborhood, community, or region (a barrio in Brazil) within the city or municipality. This\nfield is available only on **Cielo**.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" }, "county": { "type": "string", "maxLength": 50, "description": "U.S. county if available." }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### SEPA/BACS\nRequired for Create Mandate and Import Mandate\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\nFor processor-specific information, see the `customer_email` request-level field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n\nIt is recommended that you include the country code when the order is from outside the U.S.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nOptional field.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" } } }, "shipTo": { "type": "object", "properties": { "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", "maxLength": 2 }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "email": { "type": "string", "description": "Email of the recipient.", "maxLength": 255 }, "county": { "type": "string", "description": "U.S. county if available.", "maxLength": 50 } } }, "lineItems": { "type": "array", "items": { "type": "object", "properties": { "productCode": { "type": "string", "maxLength": 255, "description": "Type of product. The value for this field is used to identify the product category (electronic, handling, physical,\nservice, or shipping). The default value is `default`.\n\nIf you are performing an authorization transaction (`processingOptions.capture` is set to `false`), and you set\nthis field to a value other than `default` or one of the values related to shipping and/or handling, then\n`orderInformation.lineItems[].quantity`, `orderInformation.lineItems[].productName`, and\n`orderInformation.lineItems[].productSku` fields are required.\n\nOptional field.\n\nFor details, see the `product_code` field description in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nThe Product Codes for the tax service are located in the Cybersource Tax Codes guide. Contact Customer Support to request the guide. If you don't send a tax service Product Code in your tax request, product-based rules or exemptions will not be applied and the transaction will default to fully taxable in the locations where you've indicated you need to collect tax [by way of nexus, no nexus, or seller registration number fields].\n" }, "productName": { "type": "string", "maxLength": 255, "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "productSku": { "type": "string", "maxLength": 255, "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" }, "quantity": { "type": "integer", "minimum": 1, "maximum": 999999999, "default": 1, "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "unitPrice": { "type": "string", "maxLength": 15, "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in the [Merchant Descriptors Using the SCMP API Guide.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Merchant_Descriptors_SCMP_API/html/)\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" }, "unitOfMeasure": { "type": "string", "maxLength": 12, "description": "Unit of measure, or unit of measure code, for the item.\n" }, "totalAmount": { "type": "string", "maxLength": 13, "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" }, "taxAmount": { "type": "string", "maxLength": 15, "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" }, "taxRate": { "type": "string", "maxLength": 7, "description": "Tax rate applied to the item.\n\nFor details, see `tax_rate` field description in the [Level II and Level III Processing Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" }, "taxAppliedAfterDiscount": { "type": "string", "maxLength": 1, "description": "Flag to indicate how you handle discount at the line item level.\n\n - 0: no line level discount provided\n - 1: tax was calculated on the post-discount line item total\n - 2: tax was calculated on the pre-discount line item total\n\n`Note` Visa will inset 0 (zero) if an invalid value is included in this field.\n\nThis field relates to the value in the _lineItems[].discountAmount_ field.\n" }, "taxStatusIndicator": { "type": "string", "maxLength": 1, "description": "Flag to indicate whether tax is exempted or not included.\n\n - 0: tax not included\n - 1: tax included\n - 2: transaction is not subject to tax\n" }, "taxTypeCode": { "type": "string", "maxLength": 4, "description": "Type of tax being applied to the item.\n\nFor possible values, see the processor-specific field descriptions in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/):\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" }, "amountIncludesTax": { "type": "boolean", "description": "Flag that indicates whether the tax amount is included in the Line Item Total.\n\nPossible values:\n - **true**\n - **false**\n" }, "typeOfSupply": { "type": "string", "maxLength": 2, "description": "Flag to indicate whether the purchase is categorized as goods or services.\nPossible values:\n\n - 00: goods\n - 01: services\n" }, "commodityCode": { "type": "string", "maxLength": 15, "description": "Commodity code or International description code used to classify the item. Contact your acquirer for a list of\ncodes.\n" }, "discountAmount": { "type": "string", "maxLength": 13, "description": "Discount applied to the item." }, "discountApplied": { "type": "boolean", "description": "Flag that indicates whether the amount is discounted.\n\nIf you do not provide a value but you set Discount Amount to a value greater than zero, then CyberSource sets\nthis field to **true**.\n\nPossible values:\n - **true**\n - **false**\n" }, "discountRate": { "type": "string", "maxLength": 6, "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" }, "invoiceNumber": { "type": "string", "maxLength": 23, "description": "Field to support an invoice number for a transaction. You must specify the number of line items that will\ninclude an invoice number. By default, the first line item will include an invoice number field. The invoice\nnumber field can be included for up to 10 line items.\n" }, "taxDetails": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n\nFor processor-specific details, see the `alternate_tax_amount`, `local_tax`, `national_tax` or `vat_tax_amount` field\ndescriptions in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "amount": { "type": "string", "maxLength": 13, "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" }, "rate": { "type": "string", "maxLength": 6, "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n\nFor processor-specific details, see the `alternate_tax_amount`, `vat_rate`, `vat_tax_rate`, `local_tax`, `national_tax`, `vat_tax_amount` or `other_tax#_rate` field descriptions in the [Level II and Level III Processing Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "code": { "type": "string", "maxLength": 4, "description": "Type of tax being applied to the item.\n\nFor possible values, see the processor-specific field descriptions in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/):\n\n#### FDC Nashville Global\n- `alternate_tax_type_applied`\n- `alternate_tax_type_identifier`\n\n#### Worldpay VAP\n- `alternate_tax_type_identifier`\n\n#### RBS WorldPay Atlanta\n- `tax_type_applied`\n\n#### TSYS Acquiring Solutions\n- `tax_type_applied`\n- `local_tax_indicator`\n\n#### Chase Paymentech Solutions\n- `tax_type_applied`\n\n#### Elavon Americas\n- `local_tax_indicator`\n\n#### FDC Compass\n- `tax_type_applied`\n\n#### OmniPay Direct\n- `local_tax_indicator`\n" }, "taxId": { "type": "string", "maxLength": 15, "description": "Your tax ID number to use for the alternate tax amount. Required if you set alternate tax amount to any value,\nincluding zero. You may send this field without sending alternate tax amount.\n\nFor processor-specific details, see `alternate_tax_id` field description in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "applied": { "type": "boolean", "description": "Flag that indicates whether the alternate tax amount (`orderInformation.amountDetails.taxDetails[].amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: alternate tax amount is not included in the request.\n- `true`: alternate tax amount is included in the request.\n\nFor processor-specific details, see `alternate_tax_amount_indicator` field description in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "exemptionCode": { "type": "string", "maxLength": 1, "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n\nFor possible values and important information for using this field, see _Appendix B, \"Exemption\nStatus Values_ and _Offer-Level Tax Fields_ in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" } } } } } } }, "invoiceDetails": { "type": "object", "properties": { "purchaseOrderNumber": { "type": "string", "maxLength": 25, "description": "Value used by your customer to identify the order. This value is typically a purchase order number. CyberSource\nrecommends that you do not populate the field with all zeros or nines.\n\nFor processor-specific information, see the `user_po` field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "purchaseOrderDate": { "type": "string", "maxLength": 10, "description": "Date the order was processed. `Format: YYYY-MM-DD`.\n\nFor processor-specific information, see the `purchaser_order_date` field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "purchaseContactName": { "type": "string", "maxLength": 36, "description": "The name of the individual or the company contacted for company authorized purchases.\n\nFor processor-specific information, see the `authorized_contact_name` field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "taxable": { "type": "boolean", "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nFor processor-specific information, see the `tax_indicator` field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n\nPossible values:\n - **true**\n - **false**\n" }, "vatInvoiceReferenceNumber": { "type": "string", "maxLength": 15, "description": "VAT invoice number associated with the transaction.\n\nFor processor-specific information, see the `vat_invoice_ref_number` field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "commodityCode": { "type": "string", "maxLength": 4, "description": "International description code of the overall order's goods or services or the Categorizes purchases for VAT\nreporting. Contact your acquirer for a list of codes.\n\nFor processor-specific information, see the `summary_commodity_code` field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "transactionAdviceAddendum": { "type": "array", "items": { "type": "object", "properties": { "data": { "type": "string", "maxLength": 40, "description": "Four Transaction Advice Addendum (TAA) fields. These fields are used to display descriptive information\nabout a transaction on the customer's American Express card statement. When you send TAA fields, start\nwith amexdata_taa1, then ...taa2, and so on. Skipping a TAA field causes subsequent TAA fields to be\nignored.\n\nTo use these fields, contact CyberSource Customer Support to have your account enabled for this feature.\n" } } } } } }, "shippingDetails": { "type": "object", "properties": { "shipFromPostalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the address from which the goods are shipped, which is used to establish nexus. The default is\nthe postal code associated with your CyberSource account.\n\nThe postal code must consist of 5 to 9 digits. When the billing country is the U.S., the 9-digit postal code\nmust follow this format:\n\n`[5 digits][dash][4 digits]`\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n\n`[alpha][numeric][alpha][space] [numeric][alpha][numeric]`\n\nExample A1B 2C3\n\nThis field is frequently used for Level II and Level III transactions.\n" } } } } }, "buyerInformation": { "type": "object", "properties": { "merchantCustomerId": { "type": "string", "maxLength": 100, "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n\nFor processor-specific information, see the `customer_account_id` field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "vatRegistrationNumber": { "type": "string", "maxLength": 20, "description": "Customer's government-assigned tax identification number.\n\n#### Tax Calculation\nOptional for international and value added taxes only. Not applicable to U.S. and Canadian taxes.\n\nFor processor-specific information, see the purchaser_vat_registration_number field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "dateOfBirth": { "type": "string", "maxLength": 8, "description": "Recipient's date of birth. **Format**: `YYYYMMDD`.\n\nThis field is a `pass-through`, which means that CyberSource ensures that the value is eight numeric characters\nbut otherwise does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n\nFor more details, see `recipient_date_of_birth` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "gender": { "type": "string", "maxLength": 3, "description": "Customer's gender. Possible values are F (female), M (male),O (other)." }, "language": { "type": "string", "maxLength": 2, "description": "language setting of the user" }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "The value of the identification type. This field is supported only on the following processors.\n\n#### ComercioLatino\nSet this field to the Cadastro de Pessoas Fisicas (CPF).\n\n#### CyberSource Latin American Processing\nSupported for Redecard in Brazil. Set this field to the Cadastro de Pessoas Fisicas (CPF), which is required for AVS for Redecard in Brazil.\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\nFor processor-specific information, see the `personal_id` field in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n \nIf `type = PASSPORT`, this is the cardholder's passport number.\nRecommended for Discover ProtectBuy.\n" } } } } } }, "deviceInformation": { "type": "object", "properties": { "hostName": { "type": "string", "maxLength": 60, "description": "DNS resolved hostname from `ipAddress`." }, "ipAddress": { "type": "string", "maxLength": 45, "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" }, "userAgent": { "type": "string", "maxLength": 40, "description": "Customer's browser as identified from the HTTP header data. For example, `Mozilla` is the value that identifies\nthe Netscape browser.\n" } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "name": { "type": "string", "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" }, "alternateName": { "type": "string", "maxLength": 13, "description": "An alternate name for the merchant.\n\nFor the descriptions, used-by information, data types, and lengths for these fields, see the `merchant_descriptor_alternate` field description\nin [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)-->\n" }, "contact": { "type": "string", "maxLength": 14, "description": "For the descriptions, used-by information, data types, and lengths for these fields, see `merchant_descriptor_contact` field description\nin [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)-->\nContact information for the merchant.\n\n**Note** These are the maximum data lengths for the following payment processors:\n- FDCCompass (13)\n- Paymentech (13)\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of merchant's address. For the descriptions, used-by information, data types, and lengths for these fields, see `merchant_descriptor_street` field description\nin [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "locality": { "type": "string", "maxLength": 13, "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" }, "country": { "type": "string", "maxLength": 2, "description": "Merchant's country.\n\n#### PIN debit\nCountry code for your business location. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\nThis value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n**Note** If your business is located in the U.S. or Canada and you include this field in a\nrequest, you must also include `merchantInformation.merchantDescriptor.administrativeArea`.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "postalCode": { "type": "string", "maxLength": 14, "description": "Merchant's postal code.\n\n#### PIN debit\nPostal code for your business location. This value might be displayed on the cardholder's statement.\n\nIf your business is domiciled in the U.S., you can use a 5-digit or 9-digit postal code. A 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\nExample: `12345-6789`\n\nIf your business is domiciled in Canada, you can use a 6-digit or 9-digit postal code. A 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space]\n[numeric][alpha][numeric]\nExample: `A1B 2C3`\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n**Important** Mastercard requires a postal code for any country that uses postal codes.\nYou can provide the postal code in your account or you can include this field in your request.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "administrativeArea": { "type": "string", "description": "The state where the merchant is located.\n\n#### PIN debit\nState code or region code for your business. Use the Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "phone": { "type": "string", "maxLength": 13, "description": "Merchant phone as contact information for CNP transactions\n" }, "url": { "type": "string", "maxLength": 255, "description": "Address of company's website provided by merchant\n" }, "countryOfOrigin": { "type": "string", "maxLength": 2, "description": "#### Visa Platform Connect\nThis field will indicate merchant country of origin\n" }, "storeId": { "type": "string", "maxLength": 50, "description": "The identifier of the store.\n" }, "storeName": { "type": "string", "maxLength": 50, "description": "The name of the store.\n" }, "customerServicePhoneNumber": { "type": "string", "maxLength": 27, "description": "#### Visa Platform Connect\nIndicates customer service phone number of Merchant.\n" } } }, "categoryCode": { "type": "integer", "maximum": 9999, "description": "The value for this field is a four-digit number that the payment card industry uses to classify\nmerchants into market segments. A payment card company assigned one or more of these values to your business when you started\naccepting the payment card company's cards. When you do not include this field in your request, CyberSource uses the value in your\nCyberSource account.\n\nFor processor-specific information, see the `merchant_category_code` field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR4\n- Position: 150-153\n- Field: Merchant Category Code\n" }, "vatRegistrationNumber": { "type": "string", "maxLength": 21, "description": "Your government-assigned tax identification number.\n\n#### Tax Calculation\nRequired field for value added tax only. Not applicable to U.S. and Canadian taxes.\n\n#### CyberSource through VisaNet\nFor CtV processors, the maximum length is 20.\n\nFor other processor-specific information, see the `merchant_vat_registration_number` field description in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "cardAcceptorReferenceNumber": { "type": "string", "maxLength": 25, "description": "Reference number that facilitates card acceptor/corporation communication and record keeping.\n\nFor processor-specific information, see the `card_acceptor_ref_number` field description in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "taxId": { "type": "string", "maxLength": 15, "description": "Your Cadastro Nacional da Pessoa Jur\u00eddica (CNPJ) number.\n\nThis field is supported only for BNDES transactions on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR6\n- Position: 40-59\n- Field: BNDES Reference Field 1\n\nFor details, see `bill_merchant_tax_id` field description in the [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" } } }, "aggregatorInformation": { "type": "object", "properties": { "aggregatorId": { "type": "string", "maxLength": 20, "description": "Value that identifies you as a payment aggregator. Get this value from the\nprocessor.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR6\n- Position: 95-105\n- Field: Payment Facilitator ID\n\nThis field is supported for Visa, Mastercard and Discover Transactions.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n\nFor processor-specific information, see the `aggregator_id` field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "name": { "type": "string", "maxLength": 37, "description": "Your payment aggregator business name.\n\n**American Express Direct**\\\nThe maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters.\\\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n\nFor processor-specific information, see the aggregator_name field in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "subMerchant": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 37, "description": "Sub-merchant's business name.\n\n#### American Express Direct\nThe maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters.\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n\n#### FDC Nashville Global\nWith Mastercard, the maximum length of the sub-merchant name depends on the length of the aggregator name:\n- If aggregator name length is 1 through 3, maximum sub-merchant name length is 21.\n- If aggregator name length is 4 through 7, maximum sub-merchant name length is 17.\n- If aggregator name length is 8 through 12, maximum sub-merchant name length is 12.\n" }, "address1": { "type": "string", "maxLength": 38, "description": "First line of the sub-merchant's street address.\n\nFor processor-specific details, see `submerchant_street` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "locality": { "type": "string", "maxLength": 21, "description": "Sub-merchant's city.\n\nFor processor-specific details, see `submerchant_city` request field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "administrativeArea": { "type": "string", "maxLength": 3, "description": "Sub-merchant's state or province.\n\nFor possible values and also aggregator support, see `submerchant_state` request field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "postalCode": { "type": "string", "maxLength": 15, "description": "Partial postal code for the sub-merchant's address.\n\nFor processor-specific details, see `submerchant_postal_code` request field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "country": { "type": "string", "maxLength": 3, "description": "Sub-merchant's country. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n\nFor details, see the `submerchant_country` request-level field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "email": { "type": "string", "maxLength": 40, "description": "Sub-merchant's email address.\n\n**Maximum length for processors**\n\n - American Express Direct: 40\n - CyberSource through VisaNet: 40\n - FDC Compass: 40\n - FDC Nashville Global: 19\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 25-64\n- Field: American Express Seller E-mail Address\n\n**Note** The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" }, "phoneNumber": { "type": "string", "maxLength": 20, "description": "Sub-merchant's telephone number.\n\n**Maximum length for procesors**\n\n - American Express Direct: 20\n - CyberSource through VisaNet: 20\n - FDC Compass: 13\n - FDC Nashville Global: 10\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCRB\n- Position: 5-24\n- Field: American Express Seller Telephone Number\n\n**FDC Compass**\\\nThis value must consist of uppercase characters. Use one of these recommended formats:\\\n`NNN-NNN-NNNN`\\\n`NNN-AAAAAAA`\n" }, "id": { "type": "string", "maxLength": 20, "description": "The ID you assigned to your sub-merchant.\nCyberSource through VisaNet: For American Express transaction, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 65-84\n- Field: American Express Seller ID\nFor Mastercard transactions, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 117-131\n- Field: Sub-Merchant ID\nFDC Compass: This value must consist of uppercase characters.\n\nAmerican Express Direct: String (20)\nCyberSource through VisaNet with American Express: String (20)\nCyberSource through VisaNet with Visa,Mastercard and Discover: String (15)\nFDC Compass: String (20)\nFDC Nashville Global: String (14)\n" } } } } }, "pointOfSaleInformation": { "type": "object", "properties": { "terminalId": { "type": "string", "maxLength": 8, "description": "Identifier for the terminal at your retail location. You can define this value yourself, but consult the processor for requirements.\n\n#### CyberSource through VisaNet\nA list of all possible values is stored in your CyberSource account. If terminal ID validation is enabled for\nyour CyberSource account, the value you send for this field is validated against the list each time you include\nthe field in a request. To enable or disable terminal ID validation, contact CyberSource Customer Support.\n\nWhen you do not include this field in a request, CyberSource uses the default value that is defined in your CyberSource account.\n\n#### FDC Nashville Global\nTo have your account configured to support this field, contact CyberSource Customer Support. This value must be a value that FDC Nashville Global issued to you.\n\n#### For Payouts\nThis field is applicable for CyberSource through VisaNet.\n\n#### GPX\nIdentifier for the terminal at your retail location. A list of all possible values is stored in your account.\nIf terminal ID validation is enabled for your account, the value you send for this field is validated against\nthe list each time you include the field in a request. To enable or disable terminal ID validation, contact\ncustomer support.\n\nWhen you do not include this field in a request, the default value that is defined in your account is used.\n\nOptional for authorizations.\n\n#### Used by\n**Authorization**\nOptional for the following processors. When you do not include this field in a request, the default value that is\ndefined in your account is used.\n - American Express Direct\n - Credit Mutuel-CIC\n - FDC Nashville Global\n - SIX\n- Chase Paymentech Solutions: Optional field. If you include this field in your request, you must also include `pointOfSaleInformation.catLevel`.\n- FDMS Nashville: The default value that is defined in your account is used.\n- GPX\n- OmniPay Direct: Optional field.\n\nFor the following processors, this field is not used.\n- GPN\n- JCN Gateway\n- RBS WorldPay Atlanta\n- TSYS Acquiring Solutions\n- Worldpay VAP\n\n#### Card Present reply\nTerminal identifier assigned by the acquirer. This value must be printed on the receipt.\n" }, "terminalSerialNumber": { "type": "string", "maxLength": 32, "description": "Terminal serial number assigned by the hardware manufacturer. This value is provided by the client software that\nis installed on the POS terminal.\n\nThis value is not forwarded to the processor. Instead, the value is forwarded to the reporting functionality.\n\n#### Used by\n**Authorization and Credit**\nOptional. This field is supported only by client software that is installed on your POS terminals for the\nfollowing processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n" }, "cardholderVerificationMethodUsed": { "type": "integer", "description": "Method that was used to verify the cardholder's identity. Possible values:\n\n - `0`: No verification\n - `1`: Signature\n - `2`: PIN\n - `3`: Cardholder device CVM\n" }, "laneNumber": { "type": "string", "maxLength": 8, "description": "Identifier for an alternate terminal at your retail location. You define the value for this field.\n\nThis field is supported only for MasterCard transactions on FDC Nashville Global. Otherwise, this field is not used by all other processors.\nUse the `terminalId` field to identify the main terminal at your retail location. If your retail location has multiple terminals,\nuse this `laneNumber` field to identify the terminal used for the transaction.\n\nThis field is a pass-through, which means that the value is not checked or modified in any way before sending it to the processor.\n\nOptional field.\n\n#### Card present reply messaging\nIdentifier for an alternate terminal at your retail location. You defined the value for this field in the request\nmessage. This value must be printed on the receipt.\n\nThis field is supported only for MasterCard transactions on FDC Nashville Global.\n" }, "catLevel": { "type": "integer", "minimum": 1, "maximum": 9, "description": "Type of cardholder-activated terminal. Possible values:\n\n - 1: Automated dispensing machine\n - 2: Self-service terminal\n - 3: Limited amount terminal\n - 4: In-flight commerce (IFC) terminal\n - 5: Radio frequency device\n - 6: Mobile acceptance terminal\n - 7: Electronic cash register\n - 8: E-commerce device at your location\n - 9: Terminal or cash register that uses a dialup connection to connect to the transaction processing network\n\n#### Chase Paymentech Solutions\nOnly values 1, 2, and 3 are supported.\n\nRequired if `pointOfSaleInformation.terminalID` is included in the request; otherwise, optional.\n\n#### CyberSource through VisaNet\nValues 1 through 6 are supported on\nCyberSource through VisaNet, but some\nacquirers do not support all six values.\n\nOptional field.\n\n#### FDC Nashville Global\nOnly values 7, 8, and 9 are supported.\n\nOptional field for EMV transactions; otherwise, not used.\n\n#### GPN\nOnly values 6, 7, 8, and 9 are supported.\n\nRequired field.\n\n#### JCN Gateway\nOnly values 6, 7, 8, and 9 are supported.\n\nRequired field.\n\n#### TSYS Acquiring Solutions\nOnly value 6 is supported.\n\nRequired for transactions from mobile devices; otherwise, not used.\n\n#### All other processors\nNot used.\n\nNonnegative integer.\n" }, "entryMode": { "type": "string", "maxLength": 11, "description": "Method of entering payment card information into the POS terminal. Possible values:\n\n - `contact`: Read from direct contact with chip card.\n - `contactless`: Read from a contactless interface using chip data.\n - `keyed`: Manually keyed into POS terminal. This value is not supported on OmniPay Direct.\n - `msd`: Read from a contactless interface using magnetic stripe data (MSD). This value is not supported on OmniPay Direct.\n - `swiped`: Read from credit card magnetic stripe.\n\nThe `contact`, `contactless`, and `msd` values are supported only for EMV transactions.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### Card Present\nCard present information about EMV applies only to credit card processing and PIN debit processing. All other\ncard present information applies only to credit card processing.\n\n#### PIN debit\nRequired for a PIN debit purchase and a PIN debit credit request.\n" }, "terminalCapability": { "type": "integer", "minimum": 1, "maximum": 5, "description": "POS terminal's capability. Possible values:\n\n - `1`: Terminal has a magnetic stripe reader only.\n - `2`: Terminal has a magnetic stripe reader and manual entry capability.\n - `3`: Terminal has manual entry capability only.\n - `4`: Terminal can read chip cards.\n - `5`: Terminal can read contactless chip cards; cannot use contact to read chip cards.\n\nFor an EMV transaction, the value of this field must be `4` or `5`.\n\n#### PIN debit\nRequired for PIN debit purchase and PIN debit credit request.\n\n#### Used by\n**Authorization**\nRequired for the following processors:\n- American Express Direct\n- Chase Paymentech Solutions\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- FDMS Nashville\n- OmniPay Direct\n- SIX\n- Worldpay VAP\n\nOptional for the following processors:\n- CyberSource through VisaNet\n- GPN\n- GPX\n- JCN Gateway\n- RBS WorldPay Atlanta\n- TSYS Acquiring Solutions\n" }, "operatingEnvironment": { "type": "string", "maxLength": 1, "description": "Operating environment.\n\nPossible values for all card types except Mastercard:\n- `0`: No terminal used or unknown environment.\n- `1`: On merchant premises, attended.\n- `2`: On merchant premises, unattended. Examples: oil, kiosks, self-checkout, mobile telephone, personal digital assistant (PDA).\n- `3`: Off merchant premises, attended. Examples: portable POS devices at trade shows, at service calls, or in taxis.\n- `4`: Off merchant premises, unattended. Examples: vending machines, home computer, mobile telephone, PDA.\n- `5`: On premises of cardholder, unattended.\n- `9`: Unknown delivery mode.\n- `S`: Electronic delivery of product. Examples: music, software, or eTickets that are downloaded over the internet.\n- `T`: Physical delivery of product. Examples: music or software that is delivered by mail or by a courier.\n\n#### Possible values for Mastercard:\n- `2`: On merchant premises, unattended, or cardholder terminal. Examples: oil, kiosks, self-checkout, home computer, mobile telephone, personal digital assistant (PDA). Cardholder terminal is supported only for Mastercard transactions on CyberSource through VisaNet.\n- `4`: Off merchant premises, unattended, or cardholder terminal. Examples: vending machines, home computer, mobile telephone, PDA. Cardholder terminal is supported only for Mastercard transactions on CyberSource through VisaNet.\n\nThis field is supported only for American Express Direct and CyberSource through VisaNet.\n" }, "emv": { "type": "object", "properties": { "tags": { "type": "string", "maxLength": 1998, "description": "EMV data that is transmitted from the chip card to the issuer, and from the issuer to the chip card. The EMV\ndata is in the tag-length-value format and includes chip card tags, terminal tags, and transaction detail tags.\n\nFor information about the individual tags, see the \"Application Specification\" section in the EMV 4.3 Specifications: http://emvco.com\n\n**Note** Card present information about EMV applies only to credit card processing and PIN debit processing.\nAll other card present information applies only to credit card processing. PIN debit processing is available only\non FDC Nashville Global.\n\n**Important** The following tags contain sensitive information and **must not** be included in this field:\n\n - `56`: Track 1 equivalent data\n - `57`: Track 2 equivalent data\n - `5A`: Application PAN\n - `5F20`: Cardholder name\n - `5F24`: Application expiration date (This sensitivity has been relaxed for Credit Mutuel-CIC, American Express Direct, FDC Nashville Global, First Data Merchant Solutions, and SIX)\n - `99`: Transaction PIN\n - `9F0B`: Cardholder name (extended)\n - `9F1F`: Track 1 discretionary data\n - `9F20`: Track 2 discretionary data\n\nFor captures, this field is required for contact EMV transactions. Otherwise, it is optional.\n\nFor credits, this field is required for contact EMV stand-alone credits and contactless EMV stand-alone credits.\nOtherwise, it is optional.\n\n**Important** For contact EMV captures, contact EMV stand-alone credits, and contactless EMV stand-alone credits,\nyou must include the following tags in this field. For all other types of EMV transactions, the following tags\nare optional.\n\n - `95`: Terminal verification results\n - `9F10`: Issuer application data\n - `9F26`: Application cryptogram\n\n\n#### CyberSource through VisaNet\n- In Japan: 199 bytes\n- In other countries: String (252)\n\nFor Mastercard Transactions, Optionally Tag 9F60 (Authenticated Application Data) and \nTag 96 (Kernel Identifier - Terminal) can be included in the Field.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n\n#### JCN Gateway\nThe following tags must be included:\n- `4F`: Application identifier\n- `84`: Dedicated file name\n\nData length: 199 bytes\n\n#### All other processors:\nString (999)\n\n#### Used by\nAuthorization: Optional\nAuthorization Reversal: Optional\nCredit: Optional\nPIN Debit processing (purchase, credit and reversal): Optional\n" }, "cardholderVerificationMethodUsed": { "type": "integer", "description": "Method that was used to verify the cardholder's identity.\n\nPossible values:\n - `0`: No verification\n - `1`: Signature\n\nThis field is supported only on **American Express Direct**.\n" }, "cardSequenceNumber": { "type": "string", "maxLength": 3, "description": "Number assigned to a specific card when two or more cards are associated with the same primary account number.\n\nThis value enables issuers to distinguish among multiple cards that are linked to the same account.\n\nThis value can also act as a tracking tool when reissuing cards. \n\nWhen this value is available, it is provided by the chip reader. \n\nWhen the chip reader does not provide this value, do not include this field in your request.\n\nWhen sequence number is not provided via this API field, the value is extracted from EMV tag 5F34 for Mastercard transactions. To enable this feature please call support.\n\n**Note** Card present information about EMV applies only to credit card processing and PIN debit processing.\n\nAll other card present information applies only to credit card processing. \n\nPIN debit processing is available only on CyberSource through VisaNet and FDC Nashville Global.\n\n#### Used by\nAuthorization: Optional\nPIN Debit processing: Optional\n\n#### GPX\n\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "fallback": { "type": "boolean", "maxLength": 5, "description": "Indicates whether a fallback method was used to enter credit card information into the POS terminal. When a\ntechnical problem prevents a successful exchange of information between a chip card and a chip-capable terminal:\n\n 1. Swipe the card or key the credit card information into the POS terminal.\n 2. Use the pointOfSaleInformation.entryMode field to indicate whether the information was swiped or keyed.\n\n\nPossible values:\n- `true`: Fallback method was used.\n- `false` (default): Fallback method was not used.\n\nThis field is supported only on American Express Direct, Chase Paymentech Solutions, CyberSource through VisaNet,\nFDC Nashville Global, GPN, JCN Gateway, OmniPay Direct, and SIX.\n" }, "fallbackCondition": { "type": "integer", "description": "Reason for the EMV fallback transaction. An EMV fallback transaction occurs when an EMV transaction fails for\none of these reasons:\n\n - Technical failure: the EMV terminal or EMV card cannot read and process chip data.\n - Empty candidate list failure: the EMV terminal does not have any applications in common with the EMV card.\n EMV terminals are coded to determine whether the terminal and EMV card have any applications in common.\n EMV terminals provide this information to you.\n\nPossible values:\n\n - `1`: Transaction was initiated with information from a magnetic stripe, and the previous transaction at the\n EMV terminal either used information from a successful chip read or it was not a chip transaction.\n - `2`: Transaction was initiated with information from a magnetic stripe, and the previous transaction at the\n EMV terminal was an EMV fallback transaction because the attempted chip read was unsuccessful.\n\nThis field is supported only on **GPN** and **JCN Gateway**.\n**NOTE**: This field is required when an EMV transaction fails for a technical reason. Do not include this field\nwhen the EMV terminal does not have any applications in common with the EMV card.\n" }, "isRepeat": { "type": "boolean", "description": "#### Visa Platform Connect\nValue \"true\" indicates this transaction is intentionally duplicated . The field contains value \"true\" which\nindicates that merchant has intentionally duplicated single tap transaction. Merchant is intentionally sending\na duplicate auth request for a single tap txn because the issuer requested a PIN.\n" } } }, "amexCapnData": { "type": "string", "maxLength": 15, "description": "Point-of-sale details for the transaction. This value is returned only for **American Express Direct**.\nCyberSource generates this value, which consists of a series of codes that identify terminal capability,\nsecurity data, and specific conditions present at the time the transaction occurred. To comply with the CAPN\nrequirements, this value must be included in all subsequent follow-on requests, such as captures and follow-on\ncredits.\n\nWhen you perform authorizations, captures, and credits through CyberSource, CyberSource passes this value from\nthe authorization service to the subsequent services for you. However, when you perform authorizations through\nCyberSource and perform subsequent services through other financial institutions, you must ensure that your\nrequests for captures and credits include this value.\n\nFor details, see `auth_pos_data` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "trackData": { "type": "string", "description": "Card's track 1 and 2 data. For all processors except FDMS Nashville, this value consists of\none of the following:\n\n - Track 1 data\n - Track 2 data\n - Data for both tracks 1 and 2\n\nFor FDMS Nashville, this value consists of one of the following:\n - Track 1 data\n - Data for both tracks 1 and 2\n\nExample: %B4111111111111111^SMITH/JOHN ^1612101976110000868000000?;4111111111111111=16121019761186800000?\n\n#### Used by\n**Authorization**\nRequired for Chase Paymentech Solutions, Credit Mutuel-CIC, CyberSource through VisaNet, FDC Nashville Global,\nJCN Gateway, OmniPay Direct, and SIX if `pointOfSaleInformation.entryMode` is equal to one of these values:\n- `contact`\n- `contactless`\n- `msd`\n- `swiped`\nOtherwise, this field not used.\n\nRequired for all other processors if `pointOfSaleInformation.entryMode=swiped`; otherwise, this field is not used.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n\n#### PIN debit\nTrack 2 data from the debit card. The sentinels are required.\nRequired field for a PIN debit purchase and a PIN debit credit.\n" }, "storeAndForwardIndicator": { "type": "string", "maxLength": 1, "description": "When connectivity is unavailable, the client software that is installed on the POS terminal can store a\ntransaction in its memory and send it for authorization when connectivity is restored. This value is provided by\nthe client software that is installed on the POS terminal.\n\nThis value is not forwarded to the processor. Instead, the value is forwarded to the reporting functionality.\n\nPossible values:\n- `Y`: Transaction was stored and then forwarded.\n- `N` (default): Transaction was not stored and then forwarded.\n\nFor authorizations and credits, this field is supported only on these processors:\n- American Express Direct\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" }, "cardholderVerificationMethod": { "type": "array", "items": { "type": "string", "example": [ "PIN", "Signature", "pinOnGlass" ] }, "description": "Complete list of cardholder verification methods (CVMs) supported by the terminal.\nOptional field.\nPossible values:\n- `PIN`: For terminals with a PIN Pad\n- `Signature`: For terminals capable of receiving a signature\n- `pinOnGlass`: For terminals where PIN is entered on a glass-based capture mechanism\n\n**EXAMPLE**: [\"PIN\",\"Signature\"]; [\"pinOnGlass\",\"Signature\"]\n" }, "terminalInputCapability": { "type": "array", "items": { "type": "string" }, "description": "Complete list of card input methods supported by the terminal.\n\nPossible values:\n- `Keyed`: Terminal can accept card data that is entered manually.\n- `Swiped`: Terminal can accept card data from a magnetic stripe reader.\n- `Contact`: Terminal can accept card data in EMV contact mode (\"dipping a card\").\n- `Contactless`: Terminal can accept card data in EMV contactless mode (\"tapping a card\").\n- `BarCode`: Terminal can read bar codes.\n- `QRcode`: Terminal can read or scan QR codes.\n- `OCR`: Terminal can perform optical character recognition (OCT) on the card.\n\n**EXAMPLE**: [\"Keyed\",\"Swiped\",\"Contact\",\"Contactless\"]\n\n#### Used by\n**Authorization and Credit**\nOptional. This field is supported only by client software that is installed on your POS terminals for the\nfollowing processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n" }, "terminalCardCaptureCapability": { "type": "string", "maxLength": 1, "description": "Indicates whether the terminal can capture the card.\n\nPossible values:\n- `1`: Terminal can capture card.\n- `0`: Terminal cannot capture card.\n\nFor authorizations and credits, this field is supported only by these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- OmniPay Direct\n\nOptional field.\n" }, "terminalOutputCapability": { "type": "string", "maxLength": 1, "description": "Indicates whether the terminal can print or display messages.\n\nPossible values:\n- 1: Neither\n- 2: Print only\n- 3: Display only\n- 4: Print and display\n- 5: Merchant terminal supports purchase only approvals\n\nThis field is supported for authorizations and credits only on the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n- VisaNet\n\nOptional field.\n" }, "terminalPinCapability": { "type": "integer", "description": "Maximum PIN length that the terminal can capture.\n\nPossible values:\n- 0: No PIN capture capability\n- 1: PIN capture capability unknown\n- 2: PIN Pad down\n- 4: Four characters\n- 5: Five characters\n- 6: Six characters\n- 7: Seven characters\n- 8: Eight characters\n- 9: Nine characters\n- 10: Ten characters\n- 11: Eleven characters\n- 12: Twelve characters\n\nThis field is supported for authorizations and credits only on the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- OmniPay Direct\n- SIX\n- Visa Platform Connect\n\nRequired field for authorization or credit of PIN transactions.\n" }, "pinEntrySolution": { "type": "string", "description": "This field will contain the type of Pin Pad the terminal has.\n\nPossible values:\n- PCI-SPoC: Where the pin is being put on screen\n- PCI-PTS: Where the pin is being put on actual hardware pin pad\n" }, "deviceId": { "type": "string", "maxLength": 32, "description": "Value created by the client software that uniquely identifies the POS device. This value is provided by the\nclient software that is installed on the POS terminal.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on American Express Direct, FDC Nashville Global, and SIX.\n" }, "pinBlockEncodingFormat": { "type": "integer", "maximum": 9, "description": "Format that is used to encode the PIN block. This value is provided by the client software that is installed on\nthe POS terminal.\n\nPossible values:\n- `0`: ISO 9564 format 0\n- `1`: ISO 9564 format 1\n- `2`: ISO 9564 format 2\n- `3`: ISO 9564 format 3\n\n#### Used by\n**Authorization, PIN Debit**\n- Required when the cardholder enters a PIN and the card cannot verify the PIN, which means that the issuer must verify the PIN.\n- Required for PIN debit credit or PIN debit purchase.\n\nFor authorizations, this field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nThis field is also supported by processors that support chip and online PIN transactions. The following table lists the EMV Cards\nand Cardholder Verification Methods (CVMs) that these processors support:\n\n| Processor | Chip and Offline PIN | Chip and Online PIN | Chip and Signature |\n| --- | --- | --- | --- |\n| American Express Direct | Yes | Yes | Yes |\n| Chase Paymentech Solutions | No | No | Yes |\n| Credit Mutuel-CIC | Yes | Yes | Yes |\n| CyberSource through VisaNet | Yes | No | Yes |\n| FDC Nashville Global | Yes | Yes | Yes |\n| GPN | No | No | Yes |\n| OmniPay Direct | Yes | No | Yes |\n| SIX | Yes | Yes | Yes |\n\n#### GPX\nFor chip and online PIN transactions for authorization, GPX supports the following EMV Cards and Cardholder Verification Methods (CVMs):\n- Chip and Offline PIN\n- Chip and Signature\n\nFor PIN Debit Purchase and Credit Service transactions, GPX supports the following EMV Cards and Cardholder Verification Methods (CVMs):\n- Chip and Online PIN\n" }, "encryptedPin": { "type": "string", "maxLength": 16, "description": "Encrypted PIN.\n\nThis value is provided by the client software that is installed on the POS terminal.\n\n#### Used by\n**Authorization, PIN Debit**\nRequired when the cardholder enters a PIN and the card cannot verify the PIN, which means that the issuer must verify the PIN.\nRequired for PIN debit credit or PIN debit purchase.\nRequired for online PIN transactions.\n\nFor authorizations, this field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nThis field is also used by processors that support chip and online PIN transactions. The following table lists the EMV Cards\nand Cardholder Verification Methods (CVMs) that these processors support:\n\n| Processor | Chip and Offline PIN | Chip and Online PIN | Chip and Signature |\n| --- | --- | --- | --- |\n| American Express Direct | Yes | Yes | Yes |\n| Chase Paymentech Solutions | No | No | Yes |\n| Credit Mutuel-CIC | Yes | Yes | Yes |\n| CyberSource through VisaNet | Yes | No | Yes |\n| FDC Nashville Global | Yes | Yes | Yes |\n| GPN | No | No | Yes |\n| OmniPay Direct | Yes | No | Yes |\n| SIX | Yes | Yes | Yes |\n" }, "encryptedKeySerialNumber": { "type": "string", "maxLength": 20, "description": "Combination of the device's unique identifier and a transaction counter that is used in the process of\ndecrypting the encrypted PIN. The entity that injected the PIN encryption keys into the terminal decrypts the\nencrypted PIN and creates this value.\n\nFor all terminals that are using derived unique key per transaction (DUKPT) encryption, this is generated as a\nsingle number within the terminal.\n\n#### Used by\n**Authorization, PIN Debit**\n- Required when the cardholder enters a PIN and the card cannot verify the PIN, which means that the issuer must verify the PIN.\n- Required for PIN debit credit or PIN debit purchase.\n- Required for online PIN transactions\n\nFor authorizations, this field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nThis field is also used by processors that support chip and online PIN transactions. The following table lists the EMV Cards\nand Cardholder Verification Methods (CVMs) that these processors support:\n\n| Processor | Chip and Offline PIN | Chip and Online PIN | Chip and Signature |\n| --- | --- | --- | --- |\n| American Express Direct | Yes | Yes | Yes |\n| Chase Paymentech Solutions | No | No | Yes |\n| Credit Mutuel-CIC | Yes | Yes | Yes |\n| CyberSource through VisaNet | Yes | No | Yes |\n| FDC Nashville Global | Yes | Yes | Yes |\n| GPN | No | No | Yes |\n| OmniPay Direct | Yes | No | Yes |\n| SIX | Yes | Yes | Yes |\n" }, "partnerSdkVersion": { "type": "string", "maxLength": 32, "description": "Version of the software installed on the POS terminal. This value is provided by the client software that is\ninstalled on the POS terminal.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on American Express Direct, FDC Nashville Global, and SIX.\n\nFor authorizations and credits, this field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n" }, "emvApplicationIdentifierAndDedicatedFileName": { "type": "string", "maxLength": 32, "description": "This 32 byte length-maximum EBCDIC-K value is used to identify which chip application was performed between the terminal and the chip product.\nThe included values are the Application Identifier (AID) and the Dedicated File (DF) name. It is available to early- or full-option VSDC issuers.\nOnly single byte Katakana characters that can map to the EBCDIC-K table expected in the name.\n" }, "terminalCompliance": { "type": "string", "maxLength": 2, "description": "Flag that indicates whether the terminal is compliant with standards mandated by the Reserve Bank of India for card-present domestic transactions in India.\n\nFormat:\n- First character indicates whether the terminal supports terminal line encryption (TLE). Possible values:\n - 1: Not certified\n - 2: Certified\n- Second character indicates whether the terminal supports Unique Key Per Transaction (UKPT) and Derived Unique Key Per Transaction (DUKPT). Possible values:\n - 1: Not certified\n - 2: Certified\n\n**Example** `21` indicates that the terminal supports TLE but does not support UKPT/DUKPT.\n\nYou and the terminal vendors are responsible for terminal certification. If you have questions, contact your acquirer.\n\nThis field is supported only for Mastercard transactions on CyberSource through VisaNet.\n\n**Note** On CyberSource through VisaNet, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 92-93\n- Field: Mastercard Terminal Compliance Indicator\n\nThe TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment networks.\n\n#### Used by\n**Authorization**\nRequired for card-present transactions in India. Otherwise, not used.\n" }, "isDedicatedHardwareTerminal": { "type": "string", "maxLength": 1, "description": "Type of mPOS device. Possible values:\n- 0: Dongle\n- 1: Phone or tablet\n\nThis optional field is supported only for Mastercard transactions on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 141\n- Field: Mastercard mPOS Transaction\n\nThe TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource.\nCyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's\nacquirer, who uses this information to facilitate end-of-day clearing processing with payment networks.\n" }, "terminalModel": { "type": "string", "maxLength": 32, "description": "This is the model name of the reader which is used to accept the payment.\nPossible values:\n - E3555\n - P400\n - A920\n" }, "terminalMake": { "type": "string", "maxLength": 32, "description": "This is the manufacturer name of the reader which is used to accept the payment.\nPossible values:\n - PAX\n - Verifone\n - Ingenico\n" }, "serviceCode": { "type": "string", "maxLength": 3, "description": "#### Visa Platform Connect\nMastercard service code that is included in the track data. This field is supported only for Mastercard on Visa Platform Connect. \nYou can extract the service code from the track data and provide it in this API field. \n\nWhen not provided it will be extracted from:\n - Track2Data for MSR transactions\n - EMV tag 5F30 for EMV transactions\n\nTo enable this feature please call support.\n" } } }, "merchantDefinedInformation": { "type": "array", "description": "The object containing the custom data that the merchant defines.\n", "items": { "type": "object", "properties": { "key": { "type": "string", "maxLength": 50, "description": "The number you assign for as the key for your merchant-defined data field. Valid values are 0 to 100.\n\nFor example, to set or access the key for the 2nd merchant-defined data field in the array, you would reference `merchantDefinedInformation[1].key`.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].key` and\n`merchantDefinedInformation[1].key` for data that you want to provide to the issuer to identify the\ntransaction.\n\nFor details, see the `merchant_defined_data1` request-level field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "value": { "type": "string", "maxLength": 255, "description": "The value you assign for your merchant-defined data field.\n\nFor details, see `merchant_defined_data1` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event CyberSource discovers that a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, CyberSource will immediately suspend the merchant's account, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].value` and\n`merchantDefinedInformation[1].value` for data that you want to provide to the issuer to identify the\ntransaction. For details, see \"Installment Payments on CyberSource through VisaNet\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nFor installment payments with Mastercard in Brazil:\n- The value for merchantDefinedInformation[0].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 25-44\n - Field: Reference Field 2\n- The value for merchantDefinedInformation[1].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 45-64\n - Field: Reference Field 3\n" } } } }, "merchantDefinedSecureInformation": { "type": "object", "description": "The object containing the secure data that the merchant defines.\n", "properties": { "secure1": { "type": "string", "maxLength": 2048, "description": "The value you assign for your merchant-secure data field 1.\n" }, "secure2": { "type": "string", "maxLength": 2048, "description": "The value you assign for your merchant-secure data field 2.\n" }, "secure3": { "type": "string", "maxLength": 2048, "description": "The value you assign for your merchant-secure data field 3.\n" }, "secure4": { "type": "string", "maxLength": 2048, "description": "The value you assign for your merchant-secure data field 4.\n" } } }, "installmentInformation": { "type": "object", "properties": { "planType": { "type": "string", "maxLength": 1, "description": "#### American Express Direct, Cielo, and CyberSource Latin American Processing\nFlag that indicates the type of funding for the installment plan associated with the payment.\n\nPossible values:\n- `1`: Merchant-funded installment plan\n- `2`: Issuer-funded installment plan\nIf you do not include this field in the request, CyberSource uses the value in your CyberSource account.\n\nTo change the value in your CyberSource account, contact CyberSource Customer Service.\nFor details, see `installment_plan_type` field description in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### CyberSource through VisaNet and American Express\nDefined code that indicates the type of installment plan for this transaction.\n\nContact American Express for:\n- Information about the kinds of installment plans that American Express provides\n- Values for this field\n\nFor installment payments with American Express in Brazil, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP07 TCR3\n- Position: 5-6\n- Field: Plan Type\n\n* The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n\n#### CyberSource through VisaNet with Visa or Mastercard\nFlag indicating the type of funding for the installment plan associated with the payment.\nPossible values:\n- 1 or 01: Merchant-funded installment plan\n- 2 or 02: Issuer-funded installment plan\n- 43: Crediario installment plan\u2014only with Visa in Brazil\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nFor installment payments with Visa in Brazil, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR1\n- Position: 5-6\n- Field: Installment Type\n\nFor all other kinds of installment payments, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR5\n- Position: 39-40\n- Field: Installment Plan Type (Issuer or Merchant)\n" } } }, "travelInformation": { "type": "object", "properties": { "duration": { "type": "string", "maxLength": 2, "description": "Duration of the auto rental or lodging rental.\n\n#### Auto rental\nThis field is supported for Visa, MasterCard, and American Express.\n**Important** If this field is not included when the `processingInformation.industryDataType` is auto rental,\nthe transaction is declined.\n" }, "agency": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 8, "description": "International Air Transport Association (IATA) code of travel agency that made the vehicle rental reservation.\n" }, "name": { "type": "string", "maxLength": 25, "description": "Name of travel agency that made the reservation.\n" } } }, "autoRental": { "type": "object", "properties": { "noShowIndicator": { "type": "boolean", "description": "No Show Indicator provides an indicator noting that the individual did not show up after making a reservation for a vehicle.\nPossible values:\n- true\n- false\n" }, "customerName": { "type": "string", "maxLength": 40, "description": "Name of the individual making the rental agreement.\n\nValid data lengths by card:\n\n|Card Specific Validation|VISA|MasterCard|Discover|AMEX|\n|--- |--- |--- |--- |\n| Filed Length| 40| 40| 29| 26|\n| Field Type| AN| ANS| AN| AN|\n| M/O/C| O| M| M| M|\n" }, "vehicleClass": { "type": "string", "maxLength": 4, "description": "Classification of the rented auto.\n\n**NOTE** For VISA, this is a 2-byte optional code.\n\nValid values for American Express & MasterCard:\n\n|American Express |MasterCard |Description|\n|--- |--- |--- |\n| 0001| 0001| Mini|\n| 0002| 0002| Subcompact|\n| 0003| 0003| Economy|\n| 0004| 0004| Compact|\n| 0005| 0005| Midsize|\n| 0006| 0006| Intermediate|\n| 0007| 0007| Standard|\n| 0008| 0008| Fulll size|\n| 0009| 0009| Luxury|\n| 0010| 0010| Premium|\n| 0011| 0011| Minivan|\n| 0012| 0012| 12-passenger van|\n| 0013| 0013| Moving van|\n| 0014| 0014| 15-passenger van|\n| 0015| 0015| Cargo van|\n| 0016| 0016| 12-foot truck|\n| 0017| 0017| 20-foot truck|\n| 0018| 0018| 24-foot truck|\n| 0019| 0019| 26-foot truck|\n| 0020| 0020| Moped|\n| 0021| 0021| Stretch|\n| 0022| 0022| Regular|\n| 0023| 0023| Unique|\n| 0024| 0024| Exotic|\n| 0025| 0025| Small/medium truck|\n| 0026| 0026| Large truck|\n| 0027| 0027| Small SUV|\n| 0028| 0028| Medium SUV|\n| 0029| 0029| Large SUV|\n| 0030| 0030| Exotic SUV|\n| 9999| 9999| Miscellaneous|\n\nAdditional Values allowed **only** for `American Express`:\n\n|American Express|MasterCard|Description|\n|--- |--- |--- |\n| 0031| NA| Four Wheel Drive|\n| 0032| NA| Special|\n| 0099| NA| Taxi|\n" }, "distanceTravelled": { "type": "string", "maxLength": 5, "description": "Total number of miles driven by the customer.\nThis field is supported only for MasterCard and American Express.\n" }, "distanceUnit": { "type": "string", "maxLength": 1, "description": "Miles/Kilometers Indicator shows whether the \"miles\" fields are expressed in miles or kilometers.\n\nAllowed values:\n- `K` - Kilometers\n- `M` - Miles\n" }, "returnDateTime": { "type": "string", "maxLength": 21, "description": "Date/time the auto was returned to the rental agency.\nFormat: ``yyyy-MM-dd HH-mm-ss z``\nThis field is supported for Visa, MasterCard, and American Express.\n" }, "rentalDateTime": { "type": "string", "maxLength": 21, "description": "Date/time the auto was picked up from the rental agency.\nFormat: `yyyy-MM-dd HH-mm-ss z`\nThis field is supported for Visa, MasterCard, and American Express.\n" }, "maxFreeDistance": { "type": "string", "maxLength": 4, "description": "Maximum number of free miles or kilometers allowed to a customer for the duration of the auto rental agreement.\nThis field is supported only for MasterCard and American Express.\n" }, "insuranceIndicator": { "type": "boolean", "description": "Used for MC and Discover\n\nValid values:\n- `true` - Yes (insurance was purchased)\n- `false` - No (insurance was not purchased)\n" }, "programCode": { "type": "string", "maxLength": 2, "description": "Used to identify special circumstances applicable to the Card Transaction or Cardholder, such as \"renter\" or \"show\".\n\nThis code is `2 digit` value agreed by Merchant and processor.\n" }, "returnAddress": { "type": "object", "properties": { "city": { "type": "string", "maxLength": 25, "description": "City where the auto was returned to the rental agency.\n" }, "state": { "type": "string", "maxLength": 3, "description": "State in which the auto was returned to the rental agency. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for MasterCard and American Express.\n" }, "country": { "type": "string", "maxLength": 3, "description": "Country where the auto was returned to the rental agency. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" }, "locationId": { "type": "string", "maxLength": 10, "description": "Code, address, phone number, etc. used to identify the location of the auto rental return.\nThis field is supported only for MasterCard and American Express.\n" }, "address1": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the rental address's street address.\n" }, "postalCode": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the return address's postal code.\n" }, "location": { "type": "string", "maxLength": 38, "description": "This field contains the location where the taxi passenger was dropped off or where the auto rental vehicle was returned.\n" } } }, "rentalAddress": { "type": "object", "properties": { "city": { "type": "string", "maxLength": 25, "description": "City in which the auto was rented.\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for American Express.\n\nFor all other card types, this field is ignored.\n" }, "state": { "type": "string", "maxLength": 3, "description": "State in which the auto was rented. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n" }, "country": { "type": "string", "maxLength": 3, "description": "Country where the auto was rented. Use the [ISO Standard Country Codes.](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\nThis field is supported only for American Express.\n" }, "locationId": { "type": "string", "maxLength": 10, "description": "The agency code, address, phone number, etc., used to identify the location where the vehicle was rented.\n" }, "address1": { "type": "string", "maxLength": 13, "description": "Address from where the vehicle was rented.\n" }, "address2": { "type": "string", "maxLength": 13, "description": "Address from where the vehicle was rented.\n" }, "postalCode": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the rental address's postal code.\n" }, "location": { "type": "string", "maxLength": 38, "description": "This field contains the location where a taxi passenger was picked up or where an auto rental vehicle was picked up. In most cases, this is the rental agency's business name that appears on the storefront and/or customer receipts, commonly referred to as the DBA (Doing Business As) name. However, if the vehicle was picked up at another location (e.g., a hotel,auto dealership, repair shop, etc.), the name of that location should be used. This entry must be easily recognized by the Cardmember to avoid unnecessary inquiries. If the name is more than 38 characters, use proper and meaningful abbreviation, when possible.\n" } } }, "agreementNumber": { "type": "string", "maxLength": 25, "description": "Auto rental agency's agreement (invoice) number provided to the customer. It is used to trace any inquiries about transactions.\nThis field is supported for Visa, MasterCard, and American Express.\nThis Merchant-defined value, which may be composed of any combination of characters and/or numerals, may become\npart of the descriptive bill on the Cardmember's statement.\n" }, "odometerReading": { "type": "string", "maxLength": 8, "description": "Odometer reading at time of vehicle rental.\n" }, "vehicleIdentificationNumber": { "type": "string", "maxLength": 20, "description": "This field contains a unique identifier assigned by the company to the vehicle.\n" }, "companyId": { "type": "string", "maxLength": 12, "description": "Corporate Identifier provides the unique identifier of the corporation or entity renting the vehicle:\n\n|Card Specific Validation|VISA|MasterCard|Discover|AMEX|\n|--- |--- |--- |--- |\n| Filed Length| NA| 12| NA| NA|\n| Field Type| NA| AN| NA| NA|\n| M/O/C| NA| O| NA| NA|\n" }, "numberOfAdditionalDrivers": { "type": "string", "maxLength": 1, "description": "The number of additional drivers included on the rental agreement not including the individual who signed the rental agreement.\n" }, "driverAge": { "type": "string", "maxLength": 3, "description": "Age of the driver renting the vehicle.\n" }, "specialProgramCode": { "type": "string", "maxLength": 2, "description": "Program code used to identify special circumstances, such as \"frequent renter\" or \"no show\" status for the renter.\nPossible values:\n- `0`: not applicable (default)\n- `1`: frequent renter\n- `2`: no show\n\nFor authorizations, this field is supported only for Visa.\n\nFor captures, this field is supported for Visa, MasterCard, and American Express.\n\nCode for special programs applicable to the Card Transaction or the Cardholder.\n" }, "vehicleMake": { "type": "string", "maxLength": 10, "description": "Make of the vehicle being rented (e.g., Chevrolet or Ford).\n" }, "vehicleModel": { "type": "string", "maxLength": 10, "description": "Model of the vehicle being rented (e.g., Cavalier or Focus).\n" }, "timePeriod": { "type": "string", "maxLength": 7, "description": "Indicates the time period for which the vehicle rental rate applies (e.g., daily, weekly or monthly). Daily, Weekly and Monthly are valid values.\n" }, "commodityCode": { "type": "string", "maxLength": 15, "description": "Commodity code or International description code used to classify the item. Contact your acquirer for a list of\ncodes.\n" }, "customerServicePhoneNumber": { "type": "string", "maxLength": 17, "description": "Customer service telephone number that is used to resolve questions or disputes. Include the area code, exchange, and number.\nThis field is supported only for MasterCard and American Express.\n" }, "taxDetails": { "type": "object", "properties": { "amount": { "type": "string", "maxLength": 13, "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n" }, "rate": { "type": "string", "maxLength": 6, "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n" }, "applied": { "type": "boolean", "description": "Flag that indicates whether the tax amount (`travelInformation.autoRental.taxDetails.amount`) is\nincluded in the request.\n\nPossible values:\n- `false`: tax amount is not included in the request.\n- `true`: tax amount is included in the request.\n" }, "exemptionCode": { "type": "string", "maxLength": 1, "description": "Status code for exemption from sales and use tax. This field is a pass-through, which means that\nCyberSource does not verify the value or modify it in any way before sending it to the processor.\n" }, "taxType": { "type": "string", "maxLength": 10, "description": "Different taxes the rental agency applies to the rental agreement such as tourist tax, airport tax, or rental tax.\n" }, "taxSummary": { "type": "string", "maxLength": 12, "description": "Summary of all tax types\n" } } }, "insuranceAmount": { "type": "string", "maxLength": 12, "description": "Insurance charges.\nField is conditional and can include decimal point.\n" }, "oneWayDropOffAmount": { "type": "string", "maxLength": 12, "description": "Extra charges incurred for a one-way rental agreement for the auto.\nThis field is supported only for Visa.\n" }, "adjustedAmountIndicator": { "type": "string", "maxLength": 1, "description": "For **MasterCard** and **Discover**:\nAdjusted amount indicator code that indicates\nany miscellaneous charges incurred after the\nauto was returned. Possible values:\n- `A` - Drop-off charges\n- `B` - Delivery charges\n- `C` - Parking expenses\n- `D` - Extra hours\n- `E` - Violations\n- `X` - More than one of the above charges\n\nFor **American Express**:\nAudit indicator code that indicates any\nadjustment for mileage, fuel, auto damage,\netc. made to a rental agreement and whether\nthe cardholder was notified.\n\nPossible value for the authorization service:\n- `A` (default): adjustment amount greater than 0 (zero)\n\nPossible values for the capture service:\n- `X` - Multiple adjustments\n- `Y` - One adjustment only; Cardmember notified\n- `Z` - One adjustment only; Cardmember not notified. This value is used as the default if the request does not include this field and includes an adjustment amount greater than 0 (zero).\nThis is an optional field.\n" }, "adjustedAmount": { "type": "string", "maxLength": 12, "description": "Adjusted Amount indicates whether any miscellaneous charges were incurred after the vehicle was returned.\n\nFor authorizations, this field is supported only for American Express.\n\nFor captures, this field is supported only for MasterCard and American Express.\n**NOTE** For American Express, this field is required if the `travelInformation.autoRental.adjustedAmountIndicator` field\nis included in the request and has a value; otherwise, this field is optional.\n\nFor all other card types, this field is ignored.\n" }, "fuelCharges": { "type": "string", "maxLength": 12, "description": "Extra gasoline charges that extend beyond the basic rental agreement.\nThis field is supported only for Visa.\n" }, "weeklyRentalRate": { "type": "string", "maxLength": 12, "description": "Weekly Rental Amount provides the amount charged for a seven-day rental period. Field - Time Period needs to be populated with Weekly if this field is present\n" }, "dailyRentalRate": { "type": "string", "maxLength": 12, "description": "Daily auto rental rate charged.\nThis field is supported only for MasterCard and American Express.\n\nField - Time Period needs to be populated with Daily if this field is present\n" }, "ratePerMile": { "type": "string", "maxLength": 12, "description": "Rate charged for each mile.\nThis field is supported only for MasterCard and American Express.\n" }, "mileageCharge": { "type": "string", "maxLength": 12, "description": "Regular Mileage Charge provides the amount charged for regular miles traveled during vehicle rental. Two decimal places\n" }, "extraMileageCharge": { "type": "string", "maxLength": 12, "description": "Extra mileage charges that extend beyond the basic rental agreement.\nThis field is supported only for Visa.\n" }, "lateFeeAmount": { "type": "string", "maxLength": 12, "description": "Extra charges related to a late return of the rented auto.\nThis field is supported only for Visa.\n" }, "towingCharge": { "type": "string", "maxLength": 4, "description": "(Towing Charges) provides the amount charged to tow the rental vehicle.\n" }, "extraCharge": { "type": "string", "maxLength": 12, "description": "(Extra Charges) provides the extra charges associated with the vehicle rental.\n" }, "gpsCharge": { "type": "string", "maxLength": 12, "description": "Amount charged for renting a Global Positioning Service (GPS).\n" }, "phoneCharge": { "type": "string", "maxLength": 12, "description": "Additional charges incurred for phone usage included on the total bill.\n" }, "parkingViolationCharge": { "type": "string", "maxLength": 12, "description": "Extra charges incurred due to a parking violation for the auto.\nThis field is supported only for Visa.\n" }, "otherCharges": { "type": "string", "maxLength": 12, "description": "Total amount charged for all other miscellaneous charges not previously defined.\n" }, "companyName": { "type": "string", "maxLength": 50, "description": "Merchant to send their auto rental company name\n" }, "affiliateName": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the affiliate name.\n" } } }, "lodging": { "type": "object", "properties": { "checkInDate": { "type": "string", "maxLength": 6, "description": "Date on which the guest checked in. In the case of a no-show or a reservation, the scheduled arrival date.\nFormat: `MMDDYY`. For best interchange rates, make sure it is a valid date.\n" }, "checkOutDate": { "type": "string", "maxLength": 6, "description": "Date on which the guest checked out.\nFormat: `MMDDYY`. For best interchange rates, make sure it is a valid date.\n" }, "room": { "type": "array", "description": "The object containing the number of nights and the daily rate that applies for that no of nights.\n", "items": { "type": "object", "properties": { "dailyRate": { "type": "string", "maxLength": 8, "description": "Daily cost of the room.\n" }, "numberOfNights": { "type": "integer", "minimum": 1, "maximum": 9999, "description": "Number of nights billed at the rate specified by `travelInformation.lodging.room[].dailyRate`.\n" } } } }, "smokingPreference": { "type": "string", "maxLength": 1, "description": "Smoking preference of the guest.\nPossible values:\n- `Y`: smoking room\n- `N`: non-smoking room\n" }, "numberOfRooms": { "type": "integer", "minimum": 1, "maximum": 99, "description": "Number of rooms booked by the cardholder.\n" }, "numberOfGuests": { "type": "integer", "minimum": 1, "maximum": 99, "description": "Number of guests staying in the room.\n" }, "roomBedType": { "type": "string", "maxLength": 12, "description": "Type of room, such as queen, king, or two doubles.\n" }, "roomTaxType": { "type": "string", "maxLength": 10, "description": "Type of tax, such as tourist or hotel.\n" }, "roomRateType": { "type": "string", "maxLength": 12, "description": "Type of rate, such as corporate or senior citizen.\n" }, "guestName": { "type": "string", "maxLength": 40, "description": "Name of the guest under which the room is reserved.\n" }, "customerServicePhoneNumber": { "type": "string", "maxLength": 17, "description": "Your toll-free customer service phone number.\n" }, "corporateClientCode": { "type": "string", "maxLength": 17, "description": "Code assigned to a business. You can use this code to identify corporate rates and discounts for guests.\n" }, "additionalDiscountAmount": { "type": "string", "maxLength": 12, "description": "Amount of an additional coupon or discount.\n" }, "roomLocation": { "type": "string", "maxLength": 10, "description": "Location of room, such as lake view or ocean view.\n" }, "specialProgramCode": { "type": "string", "maxLength": 1, "description": "Code that identifies special circumstances.\nPossible values:\n- `1`: lodging (default)\n- `2`: no show reservation\n- `3`: advanced deposit\n" }, "totalTaxAmount": { "type": "string", "maxLength": 12, "description": "Total tax amount.\n" }, "prepaidCost": { "type": "string", "maxLength": 12, "description": "Prepaid amount, such as a deposit.\n" }, "foodAndBeverageCost": { "type": "string", "maxLength": 12, "description": "Cost for all food and beverages.\n" }, "roomTaxAmount": { "type": "string", "maxLength": 12, "description": "Total tax for the room.\n" }, "adjustmentAmount": { "type": "string", "maxLength": 12, "description": "Adjusted amount charged in addition to the reservation amount after the stay is complete.\n" }, "phoneCost": { "type": "string", "maxLength": 12, "description": "Cost of telephone services.\n" }, "restaurantCost": { "type": "string", "maxLength": 12, "description": "Cost of restaurant purchases\n" }, "roomServiceCost": { "type": "string", "maxLength": 12, "description": "Cost of room service.\n" }, "miniBarCost": { "type": "string", "maxLength": 12, "description": "Cost of mini-bar purchases.\n" }, "laundryCost": { "type": "string", "maxLength": 12, "description": "Cost of laundry services.\n" }, "miscellaneousCost": { "type": "string", "maxLength": 12, "description": "Miscellaneous costs.\n" }, "giftShopCost": { "type": "string", "maxLength": 12, "description": "Cost of gift shop purchases.\n" }, "movieCost": { "type": "string", "maxLength": 12, "description": "Cost of movies.\n" }, "healthClubCost": { "type": "string", "maxLength": 12, "description": "Cost of health club services.\n" }, "valetParkingCost": { "type": "string", "maxLength": 12, "description": "Cost of valet parking services.\n" }, "cashDisbursementCost": { "type": "string", "maxLength": 12, "description": "Cost of the cash that was disbursed plus any associated service fees\n" }, "nonRoomCost": { "type": "string", "maxLength": 12, "description": "Cost of non-room purchases, such as meals and gifts.\n" }, "businessCenterCost": { "type": "string", "maxLength": 12, "description": "Cost of business center services.\n" }, "loungeBarCost": { "type": "string", "maxLength": 12, "description": "Cost of lounge and bar purchases.\n" }, "transportationCost": { "type": "string", "maxLength": 12, "description": "Cost of transportation services.\n" }, "gratuityAmount": { "type": "string", "maxLength": 12, "description": "Gratuity.\n" }, "conferenceRoomCost": { "type": "string", "maxLength": 12, "description": "Cost of conference room services.\n" }, "audioVisualCost": { "type": "string", "maxLength": 12, "description": "Cost of audio visual services.\n" }, "banquestCost": { "type": "string", "maxLength": 12, "description": "Cost of banquet services.\n" }, "nonRoomTaxAmount": { "type": "string", "maxLength": 12, "description": "Tax on non-room purchases.\n" }, "earlyCheckOutCost": { "type": "string", "maxLength": 12, "description": "Service fee for early departure.\n" }, "internetAccessCost": { "type": "string", "maxLength": 12, "description": "Cost of Internet access.\n" }, "name": { "type": "string", "maxLength": 255, "description": "Name of the hotel for which the reservation is for. Mandatory in case the\nmerchant's business type is Hotel.\n" }, "hotelName": { "type": "string", "description": "The name of the hotel for which the reservation was made.\n" }, "checkInDateTime": { "type": "string", "description": "The date of the check-in in GMT+8 offset.\n" }, "checkOutDateTime": { "type": "string", "description": "The date of the check-out in GMT+8 offset.\n" } } }, "transit": { "type": "object", "properties": { "airline": { "type": "object", "properties": { "isDomestic": { "type": "string", "maxLength": 255, "description": "Specifies if the flight is:\nDomestic (01)\nInternational (02)\nIf Y then 01 else 02\n" }, "bookingReferenceNumber": { "type": "string", "maxLength": 15, "description": "Reference number for the airline booking.\nRequired if ticket numbers are not issued.\n" }, "carrierName": { "type": "string", "maxLength": 15, "description": "Airline that generated the ticket.\nFormat: English characters only.\nOptional request field.\n" }, "ticketIssuer": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 4, "description": "IATA2 airline code.\nFormat: English characters only.\nRequired for Mastercard; optional for all other card types.\n" }, "name": { "type": "string", "maxLength": 20, "description": "Name of the ticket issuer. If you do not include this field,\nCyberSource uses the value for your merchant name that is in the CyberSource merchant configuration database.\n" }, "address": { "type": "string", "maxLength": 16, "description": "Address of the company issuing the ticket.\n" }, "locality": { "type": "string", "maxLength": 18, "description": "City in which the transaction occurred.\nIf the name of the city exceeds 18 characters, use meaningful abbreviations.\nFormat: English characters only.\nOptional request field.\n" }, "administrativeArea": { "type": "string", "maxLength": 18, "description": "State in which transaction occured.\n" }, "postalCode": { "type": "string", "maxLength": 15, "description": "Zip code of the city in which transaction occured.\n" }, "country": { "type": "string", "maxLength": 18, "description": "Country in which transaction occured.\n" } } }, "ticketNumber": { "type": "string", "maxLength": 15, "description": "Ticket number.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" }, "checkDigit": { "type": "string", "maxLength": 1, "description": "Check digit for the ticket number. CyberSource recommends that you validate the check digit.\nWith Discover and Diners Club, a valid ticket number has these characteristics:\n- The value is numeric.\n- The first three digits are a valid IATA2 license plate carrier code.\n- The last digit is a check digit or zero (0).\n- All remaining digits are nonzero.\n" }, "restrictedTicketIndicator": { "type": "integer", "maxLength": 1, "description": "Flag that indicates whether or not the ticket is restricted (nonrefundable).\nPossible values:\n- 0: No restriction (refundable)\n- 1: Restricted (nonrefundable)\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" }, "transactionType": { "type": "integer", "maxLength": 2, "description": "Type of charge.\nPossible values:\n- 01: Charge is for an airline ticket\n- 02: Charge is for an item that is not an airline ticket\n" }, "extendedPaymentCode": { "type": "string", "maxLength": 3, "description": "The field is not currently supported.\n" }, "passengerName": { "type": "string", "maxLength": 42, "description": "Name of the passenger to whom the ticket was issued. This will always be a single passenger's name.\nIf there are more than one passengers, provide only the primary passenger's name.\nDo not include special characters such as commas, hyphens, or apostrophes.\nOnly ASCII characters are supported.\nFormat: English characters only.\nOptional request field.\n" }, "customerCode": { "type": "string", "maxLength": 40, "description": "Reference number or code that identifies the cardholder.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" }, "documentType": { "type": "string", "maxLength": 1, "description": "Airline document type code that specifies the purpose of the transaction.\nFormat: English characters only.\nOptional request field.\n\n| Code | Description |\n| --- | --- |\n| 01 | Passenger ticket |\n| 02 | Additional collection |\n| 03 | Excess baggage |\n| 04 | Miscellaneous charge order (MCO) or prepaid ticket authorization |\n| 05 | Special service ticket |\n| 06 | Supported refund |\n| 07 | Unsupported refund |\n| 08 | Lost ticket application |\n| 09 | Tour order voucher |\n| 10 | Ticket by mail |\n| 11 | Undercharge adjustment |\n| 12 | Group ticket |\n| 13 | Exchange adjustment |\n| 14 | SPD or air freight |\n| 15 | In-flight adjustment |\n| 16 | Agency passenger ticket |\n| 17 | Agency tour order or voucher |\n| 18 | Agency miscellaneous charge order (MCO) |\n| 19 | Agency exchange order |\n| 20 | Agency group ticket |\n| 21 | Debit adjustment for duplicate refund or use |\n| 22 | In-flight merchandise order |\n| 23 | Catalogue merchandise order |\n| 24 | In-flight phone charges |\n| 25 | Frequent flyer fee or purchase |\n| 26 | Kennel charge |\n| 27 | Animal transportation charge |\n| 28 | Firearms case |\n| 29 | Upgrade charge |\n| 30 | Credit for unused transportation |\n| 31 | Credit for class of service adjustment |\n| 32 | Credit for denied boarding |\n| 33 | Credit for miscellaneous refund |\n| 34 | Credit for lost ticket refund |\n| 35 | Credit for exchange refund |\n| 36 | Credit for overcharge adjustment |\n| 37 | Credit for multiple Unused tickets |\n| 38 | Exchange order |\n| 39 | Self-service ticket |\n| 41 | In-flight duty-free purchase |\n| 42 | Senior citizen discount booklets |\n| 43 | Club membership fee |\n| 44 | Coupon book |\n| 45 | In-flight charges |\n| 46 | Tour deposit |\n| 47 | Frequent flyer overnight delivery charge |\n| 48 | Frequent flyer fulfillment |\n| 49 | Small package delivery |\n| 50 | Vendor sale |\n| 51 | Miscellaneous taxes or fees |\n| 52 | Travel agency fee |\n| 60 | Vendor refund or credit |\n| 64 | Duty free sale |\n| 65 | Preferred seat upgrade |\n| 66 | Cabin upgrade |\n| 67 | Lounge or club access or day pass |\n| 68 | Agent assisted reservation or ticketing fee |\n| 69 | Ticket change or cancel fee |\n| 70 | Trip insurance |\n| 71 | Unaccompanied minor |\n| 72 | Standby fee |\n| 73 | Curbside baggage |\n| 74 | In-flight medical equipment |\n| 75 | Ticket or pass print fee |\n| 76 | Checked sporting or special equipment |\n| 77 | Dry ice fee |\n| 78 | Mail or postage fee |\n| 79 | Club membership fee or temporary trial |\n| 80 | Frequent flyer activation or reinstatement |\n| 81 | Gift certificate |\n| 82 | Onboard or in-flight prepaid voucher |\n| 83 | Optional services fee |\n| 84 | Advance purchase for excess baggage |\n| 85 | Advance purchase for preferred seat upgrade |\n| 86 | Advance purchase for cabin upgrade |\n| 87 | Advance purchase for optional services |\n| 88 | WiFi |\n| 89 | Packages |\n| 90 | In-flight entertainment or internet access |\n| 91 | Overweight bag fee |\n| 92 | Sleep sets |\n| 93 | Special purchase fee |\n" }, "documentNumber": { "type": "string", "maxLength": 14, "description": "The field is not currently supported.\n" }, "documentNumberOfParts": { "type": "integer", "maxLength": 4, "description": "The field is not currently supported.\n" }, "invoiceNumber": { "type": "string", "maxLength": 25, "description": "Invoice number for the airline transaction.\n" }, "invoiceDate": { "type": "integer", "maxLength": 8, "description": "Invoice date. The format is YYYYMMDD.\nIf this value is\nincluded in the request, it is used in the creation of the invoice number. See \"Invoice Number,\"\n" }, "additionalCharges": { "type": "string", "maxLength": 20, "description": "Description of the charge if the charge does not involve an airline ticket.\nFor example: Excess baggage.\n" }, "totalFeeAmount": { "type": "string", "maxLength": 12, "description": "Total fee for the ticket. This value cannot exceed `99999999999999999999` (twenty 9s).\nFormat: English characters only.\nOptional request field.\n" }, "clearingSequence": { "type": "string", "maxLength": 2, "description": "Number that identifies the clearing message when multiple clearing messages are allowed per authorized transaction.\nEach clearing message linked to one authorization request must include a unique clearing sequence number between 1 and the total number of clearing records.\nFormat: English characters only.\nOptional request field.\n" }, "clearingCount": { "type": "string", "maxLength": 2, "description": "Total number of clearing messages associated with the authorization request.\nFormat: English characters only.\nOptional request field.\n" }, "totalClearingAmount": { "type": "string", "maxLength": 20, "description": "Total clearing amount for all transactions in the clearing count set.\nThis value cannot exceed `99999999999999999999` (twenty 9s).\nFormat: English characters only.\nIf this field is not set and if the total amount from the original authorization is not NULL,\nthe total clearing amount is set to the total amount from the original authorization.\n" }, "numberOfPassengers": { "type": "integer", "maxLength": 3, "description": "Number of passengers for whom the ticket was issued.\nFormat: English characters only.\nOptional request field.\n" }, "reservationSystemCode": { "type": "string", "maxLength": 20, "description": "Code that specifies the computerized reservation system used to make the reservation and purchase the ticket.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces;\nspecial characters are not included.\nOptional request field.\n" }, "processIdentifier": { "type": "string", "maxLength": 3, "description": "Airline process identifier. This value is the airline's three-digit IATA1 code\nwhich is used to process extended payment airline tickets.\n" }, "ticketIssueDate": { "type": "string", "maxLength": 8, "description": "Date on which the transaction occurred.\nFormat: `YYYYMMDD`\nFormat: English characters only.\nOptional request field.\n" }, "electronicTicketIndicator": { "type": "boolean", "description": "Flag that indicates whether an electronic ticket was issued.\nPossible values:\n- `true`\n- `false`\nOptional request field.\n" }, "originalTicketNumber": { "type": "string", "maxLength": 14, "description": "Original ticket number when the transaction is for a replacement ticket.\n" }, "purchaseType": { "type": "string", "maxLength": 3, "description": "Type of purchase. Possible values:\n- `EXC`: Exchange ticket\n- `MSC`: Miscellaneous (not a ticket purchase and not a transaction related to an exchange ticket)\n- `REF`: Refund\n- `TKT`: Ticket\nFormat: English characters only.\nOptional request field.\n" }, "creditReasonIndicator": { "type": "string", "maxLength": 1, "description": "Reason for the credit.\nPossible values:\n- `A`: Cancellation of the ancillary passenger transport purchase.\n- `B`: Cancellation of the airline ticket and the passenger transport ancillary purchase.\n- `C`: Cancellation of the airline ticket.\n- `O`: Other.\n- `P`: Partial refund of the airline ticket.\nFormat: English characters only.\n\nOptional request field.\n" }, "ticketChangeIndicator": { "type": "string", "maxLength": 1, "description": "Type of update.\nPossible values:\n- `C`: Change to the existing ticket.\n- `N`: New ticket.\nFormat: English characters only\nOptional request field.\n" }, "planNumber": { "type": "string", "maxLength": 1, "description": "Plan number based on the fare.\nThis value is provided by the airline.\nFormat: English characters only.\nOptional request field.\n" }, "arrivalDate": { "type": "string", "maxLength": 8, "description": "Date of arrival for the last leg of the trip.\nFormat: `MMDDYYYY`\nEnglish characters only.\nOptional request field.\n" }, "restrictedTicketDesciption": { "type": "string", "maxLength": 20, "description": "Text that describes the ticket limitations, such as _nonrefundable_.\nFormat: English characters only.\nOptional request field.\n" }, "exchangeTicketAmount": { "type": "string", "maxLength": 12, "description": "Amount of the exchanged ticket.\nFormat: English characters only.\n" }, "exchangeTicketFeeAmount": { "type": "string", "maxLength": 12, "description": "Fee for exchanging the ticket.\nFormat: English characters only.\nOptional request field.\n" }, "reservationType": { "type": "string", "maxLength": 32, "description": "The field is not currently supported.\n" }, "boardingFeeAmount": { "type": "string", "maxLength": 12, "description": "Boarding fee.\n" }, "legs": { "type": "array", "items": { "type": "object", "properties": { "carrierCode": { "type": "string", "maxLength": 4, "description": "IATA code for the carrier for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "flightNumber": { "type": "string", "maxLength": 6, "description": "Flight number for this leg of the trip.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "originatingAirportCode": { "type": "string", "maxLength": 5, "description": "IATA code for the originating airport for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "class": { "type": "string", "maxLength": 3, "description": "IATA code for the class of service for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "stopoverIndicator": { "type": "integer", "maxLength": 1, "description": "Code that indicates whether a stopover is allowed on this leg of the trip. Possible values:\n- `O` (capital letter \"O\") (default): Stopover allowed\n- `X` (capital letter \"X\"): Stopover not allowed\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "departureDate": { "type": "integer", "maxLength": 8, "description": "Departure date for the first leg of the trip.\nFormat: `YYYYMMDD`.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "destinationAirportCode": { "type": "string", "maxLength": 3, "description": "IATA code for the destination airport for this leg of the trip.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "fareBasis": { "type": "string", "maxLength": 15, "description": "Code for the fare basis for this leg of the trip.\nThe fare basis is assigned by the carriers and indicates a particular ticket type,\nsuch as business class or discounted/nonrefundable.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nFormat: English characters only.\nOptional request field for travel legs.auto_rental_regular_mileage_cost\n" }, "departTaxAmount": { "type": "string", "maxLength": 12, "description": "Amount of departure tax for this leg of the trip.\n" }, "conjunctionTicket": { "type": "string", "maxLength": 25, "description": "Ticket that contains additional coupons for this leg of the trip on an itinerary that has more than four segments.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "exchangeTicketNumber": { "type": "string", "maxLength": 25, "description": "New ticket number that is issued when the ticket is exchanged for this leg of the trip.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "couponNumber": { "type": "string", "maxLength": 1, "description": "Coupon number. Each leg on the ticket requires a separate coupon, and each coupon is identified by the coupon number.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "departureTime": { "type": "integer", "maxLength": 4, "description": "Time of departure for this leg of the trip. The format is military time and HHMM:\nIf not all zeros, then the hours must be `00-23` and the minutes must be `00-59`.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "departureTimeMeridian": { "type": "string", "maxLength": 1, "description": "AM or PM for the departure time.\nPossible values:\n- A: 12:00 midnight to 11:59 a.m.\n- P: 12:00 noon to 11:59 p.m\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "arrivalTime": { "type": "integer", "maxLength": 4, "description": "Time of arrival for this leg of the trip.\nThe format is military time and HHMM:\nIf not all zeros, then the hours must be `00-23` and the minutes must be `00-59`\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "arrivalTimeMeridian": { "type": "string", "maxLength": 1, "description": "AM or PM for the arrival time for this leg of the trip.\nPossible values:\n- `A`: 12:00 midnight to 11:59 a.m.\n- `P`: 12:00 noon to 11:59 p.m.\nFormat: English characters only.\nRestricted string data type that indicates a sequence of letters, numbers, and spaces; special characters are not included.\nOptional request field for travel legs.\n" }, "endorsementsRestrictions": { "type": "string", "maxLength": 20, "description": "Notes or notations about endorsements and restrictions for this leg of the trip.\nEndorsements can be notations added by the travel agency, including mandatory government-required notations such as value added tax.\nRestrictions are limitations for the ticket based on the type of fare, such as a nonrefundable ticket or a 3-day minimum stay.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "totalFareAmount": { "type": "string", "maxLength": 15, "description": "Total fare for this leg of the trip.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "feeAmount": { "type": "string", "maxLength": 12, "description": "Fee for this leg of the trip, such as an airport fee or country fee.\nFormat: English characters only.\nOptional request field for travel legs.\n" }, "taxAmount": { "type": "string", "maxLength": 12, "description": "Tax for this leg of the trip.\nFormat: English characters only.\nOptional request field for travel legs.\n" } } } }, "ancillaryInformation": { "type": "object", "properties": { "ticketNumber": { "type": "string", "maxLength": 15, "description": "Ticket number, which consists of the carrier code, form, and serial number, without the check digit.\n**Important** This field is required in the U.S. in order for you to qualify for either the\ncustom payment service (CPS) or the electronic interchange reimbursement fee (EIRF) program.\nFormat: English characters only.\nOptional field for ancillary services.\n" }, "passengerName": { "type": "string", "maxLength": 20, "description": "Name of the passenger. If the passenger's name is not available, this value is the cardholder's name. If neither the passenger's name nor the cardholder's name is available,\nthis value is a description of the ancillary purchase.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom payment service (CPS) or the electronic interchange reimbursement fee (EIRF)\nprogram.\nFormat: English characters only.\nOptional field for ancillary service.\n" }, "connectedTicketNumber": { "type": "string", "maxLength": 15, "description": "Number for the airline ticket to which the ancillary purchase is connected.\n\nIf this purchase has a connection or relationship to another purchase such as a baggage fee for a passenger transport ticket, this field must contain the ticket number for the other purchase.\n\nFor a stand-alone purchase, the value for this field must be the same as the value for the `travelInformation.transit.airline.ancillaryInformation.ticketNumber` field.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom payment service (CPS) or the electronic interchange reimbursement fee (EIRF)\nprogram.\nFormat: English characters only.\nOptional request field for ancillary services.\n" }, "creditReasonIndicator": { "type": "string", "maxLength": 15, "description": "Reason for the credit.\nPossible values:\n- `A`: Cancellation of the ancillary passenger transport purchase.\n- `B`: Cancellation of the airline ticket and the passenger transport ancillary purchase.\n- `C`: Cancellation of the airline ticket.\n- `O`: Other.\n- `P`: Partial refund of the airline ticket.\nFormat: English characters only.\nOptional field for ancillary services.\n" }, "service": { "type": "array", "items": { "type": "object", "properties": { "categoryCode": { "type": "string", "maxLength": 4, "description": "Category code for the ancillary service that is provided. Obtain the codes from the International\nAir Transport Association (IATA).\n**Note** `#` is either 0, 1, 2, or 3.\n**Important** This field is required in the U.S. in order for you to qualify for either the custom\npayment service (CPS) or the electronic interchange reimbursement fee (EIRF)program.\nFormat: English characters only.\nOptional request field for ancillary services.\n" }, "subCategoryCode": { "type": "string", "maxLength": 4, "description": "Subcategory code for the ancillary service category. Obtain the codes from the International\nAir Transport Association (IATA).\n**Note** `#` is either 0, 1, 2, or 3.\nFormat English characters only.\nOptional request field for ancillary services.\n" } } } } } }, "flightType": { "type": "string", "maxLength": 2, "description": "Specifies the type of flight.\nOne way (0)\nReturn (1)\nTransit (2)\nTransit & Return (3)\nMulti-City (4)\n" }, "insuranceAmount": { "type": "string", "maxLength": 255, "description": "The total cost of the flight insurance. Example: 10000.00\n" }, "frequentFlyerNumber": { "type": "string", "maxLength": 255, "description": "The consumer's frequent flyer number. Leave 0 if there is no\nfrequent flyer number\n" }, "thirdPartyStatus": { "type": "string", "maxLength": 255, "description": "Specifies if the travel agent joins the flight (0) or not (1)\n" }, "passengerType": { "type": "string", "maxLength": 50, "description": "List of passenger types in a booking code:\nA (Adult)\nC (Child)\nComma separated values for total number of passenger\n" }, "totalInsuranceAmount": { "type": "string", "maxLength": 50, "description": "Total insurance amount. We have per leg and not total\n" } } } } }, "vehicleData": { "type": "object", "properties": { "connectorType": { "type": "string", "maxLength": 3, "description": "This field will contain connector type values for electric vehicle transactions.\n\nPossible Values:\n001 (AC - J1772 Type 1)\n002 (AC - Mennekes - Type 2)\n003 (AC - GB/T)\n100 (DC - CCS1)\n101 (DC - CHAdeMO)\n102 (DC - CCS2)\n103 (DC - GB/T)\n200 (NACS \u2013 Tesla)\n" }, "chargingReasonCode": { "type": "string", "maxLength": 3, "description": "This field will contain charging reason code values for electric vehicle transactions.\n\nPossible Values:\n010 (Other Error)\n011 (Connector Lock Failure)\n012 (EV Communication Error)\n013 (Ground Failure)\n014 (High Temperature)\n015 (Internal Error)\n016 (Over Current Failure)\n017 (Over Voltage)\n018 (Power Meter Failure)\n019 (Power Switch Failure)\n020 (Reader Failure)\n021 (Reset Failure)\n022 (Under Voltage)\n023 (Weak Signal)\n100 (No Error)\n200 (Payment Related Error)\n" } } } } }, "recipientInformation": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 35, "description": "First name of recipient of the funds.\n* Required for Mastercard Payment of Winnings (POW) transactions.\n* Must not be all numeric.\n* Must contain only ASCII characters in range 32-122.\n* Must not be greater than 35 characters including spaces.\n* Required for POW on Barclays\n" }, "lastName": { "type": "string", "maxLength": 35, "description": "Last name of recipient of the funds.\n* Required for Mastercard Payment of Winnings (POW) transactions.\n* Must not be all numeric.\n* Must contain only ASCII characters in range 32-122.\n* Must not be greater than 35 characters including spaces.\n* Required for POW on Barclays\n" } } }, "senderInformation": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 35, "description": "First name of the sender of the funds. For Gaming Payment of Winnings transactions these are the merchant details.\n* Required for Mastercard Payment of Winnings (POW) transactions.\n* Must not be all numeric.\n* Must contain only ASCII characters in range 32-122.\n* Must not be greater than 35 characters including spaces.\n* Required for POW on Barclays.\n" }, "lastName": { "type": "string", "maxLength": 35, "description": "Last name of the sender of the funds. For Gaming Payment of Winnings transactions these are the merchant details.\n* Optional for Mastercard Payment of Winnings (POW) transactions.\n* Must not be all numeric.\n* Must contain only ASCII characters in range 32-122.\n* Must not be greater than 35 characters including spaces.\n* Optional for POW on Barclays.\n" }, "address1": { "type": "string", "maxLength": 50, "description": "Street address of the sender of the funds. For Gaming Payment of Winnings transactions these are the merchant details.\n* Required for Mastercard Payment of Winnings (POW) transactions.\n* Must not be all numeric.\n* Must contain only ASCII characters in range 32-122.\n* Must not be greater than 50 characters including spaces.\n* Required for POW on Barclays.\n" }, "locality": { "type": "string", "maxLength": 25, "description": "City of the sender of the funds. For Gaming Payment of Winnings transactions these are the merchant details.\n* Required for Mastercard Payment of Winnings (POW) transactions.\n* Must not be all numeric.\n* Must contain only ASCII characters in range 32-122.\n* Must not be greater than 25 characters including spaces.\n* Required for POW on Barclays.\n" }, "countryCode": { "type": "string", "maxLength": 3, "description": "Country of the sender of the funds. For Gaming Payment of Winnings transactions these are the merchant details.\n* Required for Mastercard Payment of Winnings (POW) transactions.\n* Must be a valid three character ISO country code as defined by ISO 3166.\n* Must not be greater than 3 characters.\n* Required for POW on Barclays.\n" }, "account": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 50, "description": "Account number of the sender of the funds. For Gaming Payment of Winnings transactions this is the merchant account number.\n* Required for Mastercard Payment of Winnings (POW) transactions.\n* Must contain only ASCII characters in range 32-122.\n* Must not be greater than 50 characters.\n* Required for POW on Barclays.\n" }, "fundsSource": { "type": "string", "maxLength": 2, "description": "Source of funds for the sender. For Gaming Payment of Winnings transactions this is the merchant account type.\n* Required for Mastercard Payment of Winnings (POW) transactions.\n* Valid values:\n * 00 - Other\n * 01 - RTN + Bank Account\n * 02 - IBAN\n * 03 - Card Account\n * 04 - Email\n * 05 - PhoneNumber\n * 06 - Bank account number (BAN) + Bank Identification Code (BIC)\n * 07 - Wallet ID\n * 08 - Social Network ID\n" } } } } }, "promotionInformation": { "type": "object", "properties": { "additionalCode": { "type": "string", "maxLength": 12, "description": "Additional rental agency marketed coupons for consumers to discount the rate of the vehicle rental agreement.\n" }, "code": { "type": "string", "maxLength": 12, "description": "Code for a promotion or discount.\n" } } } }, "example": { "clientReferenceInformation": { "code": "12345678" }, "orderInformation": { "billTo": { "country": "US", "firstName": "Test", "lastName": "test", "phoneNumber": "9999999999", "address1": "test", "postalCode": "48104-2201", "locality": "Ann Arbor", "administrativeArea": "MI", "email": "test@cybs.com" }, "amountDetails": { "totalAmount": "200", "currency": "usd" } }, "paymentInformation": { "card": { "expirationYear": "2031", "number": "4111111111111111", "expirationMonth": "03", "type": "001" } } } } } ], "responses": { "201": { "description": "Successful response.", "schema": { "title": "ptsV2CreditsPost201Response", "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." } } }, "void": { "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.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - PENDING\n - COMPLETED (as in the case of PIN Debit Full Financial Credit)\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "submitLocalDateTime": { "type": "string", "maxLength": 14, "description": "Date and time at your physical location.\n\nFormat: `YYYYMMDDhhmmss`, where YYYY = year, MM = month, DD = day, hh = hour, mm = minutes ss = seconds\n\n#### PIN Debit\nOptional field for PIN Debit purchase and credit requests.\n" }, "ownerMerchantId": { "type": "string", "description": "Merchant ID that was used to create the subscription or customer profile for which the service was requested.\n\nIf your CyberSource account is enabled for Recurring Billing, this field is returned only if you are using\nsubscription sharing and if your merchant ID is in the same merchant ID pool as the owner merchant ID.\n\nIf your CyberSource account is enabled for Payment Tokenization, this field is returned only if you are using\nprofile sharing and if your merchant ID is in the same merchant ID pool as the owner merchant ID.\n" } } }, "creditAmountDetails": { "type": "object", "properties": { "creditAmount": { "type": "string", "maxLength": 15, "description": "Amount that was credited to the cardholder's account.\n\nReturned by PIN debit credit.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" } } }, "processingInformation": { "type": "object", "properties": { "bankTransferOptions": { "type": "object", "properties": { "settlementMethod": { "type": "string", "maxLength": 1, "description": "Method used for settlement.\n\nPossible values:\n- `A`: Automated Clearing House (default for credits and for transactions using Canadian dollars)\n- `F`: Facsimile draft (U.S. dollars only)\n- `B`: Best possible (U.S. dollars only) (default if the field has not already been configured for your\nmerchant ID)\n\nFor details, see `ecp_settlement_method` field description for credit cars and `ecp_debit_settlement_method` for debit cards in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } }, "enhancedDataEnabled": { "type": "boolean", "description": "The possible values for the reply field are:\n- `true` : the airline data was included in the request to the processor.\n- `false` : the airline data was not included in the request to the processor.\n\nReturned by authorization, capture, or credit services.\n" } } }, "processorInformation": { "type": "object", "properties": { "approvalCode": { "type": "string", "maxLength": 6, "description": "Authorization code. Returned only when the processor returns this value.\n\nThe length of this value depends on your processor.\n\nReturned by authorization service.\n\n#### PIN debit\nAuthorization code that is returned by the processor.\n\nReturned by PIN debit credit.\n\n#### Elavon Encrypted Account Number Program\nThe returned value is OFFLINE.\n\n#### TSYS Acquiring Solutions\nThe returned value for a successful zero amount authorization is 000000.\n" }, "transactionId": { "type": "string", "maxLength": 18, "description": "Processor transaction ID.\n\nThis value identifies the transaction on a host system. This value is supported only for Moneris. It contains\nthis information:\n\n - Terminal used to process the transaction\n - Shift during which the transaction took place\n - Batch number\n - Transaction number within the batch\n\nYou must store this value. If you give the customer a receipt, display this value on the receipt.\n\nExample For the value 66012345001069003:\n\n - Terminal ID = 66012345\n - Shift number = 001\n - Batch number = 069\n - Transaction number = 003\n" }, "forwardedAcquirerCode": { "type": "string", "maxLength": 32, "description": "Name of the Japanese acquirer that processed the transaction. Returned only for JCN Gateway.\nPlease contact the CyberSource Japan Support Group for more information.\n" }, "merchantNumber": { "type": "string", "maxLength": 15, "description": "Identifier that was assigned to you by your acquirer. This value must be printed on the receipt.\n\n#### Returned by\nAuthorizations and Credits.\n\nThis reply field is only supported by merchants who have installed client software on their POS terminals and\nuse these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n" }, "responseCode": { "type": "string", "maxLength": 10, "description": "For most processors, this is the error message sent directly from the bank. Returned only when the processor\nreturns this value.\n\n**Important** Do not use this field to evaluate the result of the authorization.\n\n#### PIN debit\nResponse value that is returned by the processor or bank.\n**Important** Do not use this field to evaluate the results of the transaction request.\n\nReturned by PIN debit credit, PIN debit purchase, and PIN debit reversal.\n\n#### AIBMS\nIf this value is `08`, you can accept the transaction if the customer provides you with identification.\n\n#### Atos\nThis value is the response code sent from Atos and it might also include the response code from the bank.\nFormat: `aa,bb` with the two values separated by a comma and where:\n- `aa` is the two-digit error message from Atos.\n- `bb` is the optional two-digit error message from the bank.\n\n#### Comercio Latino\nThis value is the status code and the error or response code received from the processor separated by a colon.\nFormat: [status code]:E[error code] or [status code]:R[response code]\nExample `2:R06`\n\n#### JCN Gateway\nProcessor-defined detail error code. The associated response category code is in the `processorInformation.responseCategoryCode` field.\nString (3)\n" }, "achVerification": { "type": "object", "properties": { "resultCode": { "type": "string", "maxLength": 2, "description": "Results from the ACH verification service.\nFor details about this service and the possible values for the results, see \"ACH Verification\" and \"Verification Codes\" in the [Electronic Check Services Using the SCMP API](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/).\n" }, "resultCodeRaw": { "type": "string", "maxLength": 10, "description": "Raw results from the ACH verification service.\nFor details about this service and the possible values for the raw results, see \"ACH Verification\" and \"Verification Codes\" in the [Electronic Check Services Using the SCMP API](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/).\n" } } }, "networkTransactionId": { "type": "string", "description": "Same value as `processorInformation.transactionId`" }, "settlementDate": { "type": "string", "maxLength": 4, "description": "Field contains a settlement date. The date is in mmdd format, where: mm = month and dd = day.\n" } } }, "paymentInformation": { "type": "object", "properties": { "bank": { "type": "object", "properties": { "account": { "type": "object", "properties": { "correctedAccountNumber": { "type": "string", "maxLength": 17, "description": "Corrected account number from the ACH verification service.\n\nFor details, see `ecp_debit_corrected_account_number` or `ecp_credit_corrected_account_number` field descriptions in [Electronic Check Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } }, "correctedRoutingNumber": { "type": "string", "maxLength": 9, "description": "Corrected account number from the ACH verification service.\n\nFor details, see `ecp_debit_corrected_routing_number` or `ecp_credit_corrected_routing_number` reply field descriptions in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } }, "customer": { "type": "object", "properties": { "customerId": { "type": "string", "description": "Unique identifier for the customer's card and billing information.\n\nWhen you use Payment Tokenization or Recurring Billing and you include this value in\nyour request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n\n**NOTE** When you use Payment Tokenization or Recurring Billing, the value for the Customer ID is actually the Cybersource payment token for a customer. This token stores information such as the consumer's card number so it can be applied towards bill payments, recurring payments, or one-time payments. By using this token in a payment API request, the merchant doesn't need to pass in data such as the card number or expiration date in the request itself.\n\nFor details, see the `subscription_id` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "id": { "type": "string", "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "paymentInstrument": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Payment Instrument token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Instrument Identifier token used in the transaction.\nWhen you include this value in your request, many of the fields that can be supplied for an authorization or credit\nbecome optional.\n", "minLength": 12, "maxLength": 32 }, "state": { "type": "string", "description": "Issuers state for the card number.\nValid values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" } } }, "shippingAddress": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Customers Shipping Address token used in the transaction.\nWhen you include this value in your request, many of the shipping fields that can be supplied for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "settlementAmount": { "type": "string", "maxLength": 12, "description": "This is a multicurrency field. It contains the transaction amount (field 4), converted to the Currency used to bill the cardholder's account.\nThis field is returned for OCT transactions.\n" }, "settlementCurrency": { "type": "string", "maxLength": 3, "description": "This is a multicurrency-only field. It contains a 3-digit numeric code that identifies the currency used by the issuer to bill the cardholder's account.\nThis field is returned for OCT transactions.\n" }, "exchangeRate": { "type": "string", "maxLength": 13, "description": "Exchange rate returned by the DCC service. Includes a decimal point and a maximum of 4 decimal places.\n\nFor details, see `exchange_rate` request-level field description in the [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf)\n" }, "foreignAmount": { "type": "string", "maxLength": 15, "description": "Set this field to the converted amount that was returned by the DCC provider.\nFor processor-specific information, see the `foreign_amount` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "foreignCurrency": { "type": "string", "maxLength": 5, "description": "Set this field to the converted amount that was returned by the DCC provider.\n" } } }, "invoiceDetails": { "type": "object", "properties": { "level3TransmissionStatus": { "type": "boolean", "description": "Indicates whether CyberSource sent the Level III information to the processor. The possible values are:\n\nIf your account is not enabled for Level III data or if you did not include the purchasing level field in your\nrequest, CyberSource does not include the Level III data in the request sent to the processor.\n\nPossible values:\n- **true**\n- **false**\n" } } } } }, "pointOfSaleInformation": { "type": "object", "properties": { "terminalId": { "type": "string", "maxLength": 8, "description": "Identifier for the terminal at your retail location. You can define this value yourself, but consult the processor for requirements.\n\n#### CyberSource through VisaNet\nA list of all possible values is stored in your CyberSource account. If terminal ID validation is enabled for\nyour CyberSource account, the value you send for this field is validated against the list each time you include\nthe field in a request. To enable or disable terminal ID validation, contact CyberSource Customer Support.\n\nWhen you do not include this field in a request, CyberSource uses the default value that is defined in your CyberSource account.\n\n#### FDC Nashville Global\nTo have your account configured to support this field, contact CyberSource Customer Support. This value must be a value that FDC Nashville Global issued to you.\n\n#### For Payouts\nThis field is applicable for CyberSource through VisaNet.\n\n#### GPX\nIdentifier for the terminal at your retail location. A list of all possible values is stored in your account.\nIf terminal ID validation is enabled for your account, the value you send for this field is validated against\nthe list each time you include the field in a request. To enable or disable terminal ID validation, contact\ncustomer support.\n\nWhen you do not include this field in a request, the default value that is defined in your account is used.\n\nOptional for authorizations.\n\n#### Used by\n**Authorization**\nOptional for the following processors. When you do not include this field in a request, the default value that is\ndefined in your account is used.\n - American Express Direct\n - Credit Mutuel-CIC\n - FDC Nashville Global\n - SIX\n- Chase Paymentech Solutions: Optional field. If you include this field in your request, you must also include `pointOfSaleInformation.catLevel`.\n- FDMS Nashville: The default value that is defined in your account is used.\n- GPX\n- OmniPay Direct: Optional field.\n\nFor the following processors, this field is not used.\n- GPN\n- JCN Gateway\n- RBS WorldPay Atlanta\n- TSYS Acquiring Solutions\n- Worldpay VAP\n\n#### Card Present reply\nTerminal identifier assigned by the acquirer. This value must be printed on the receipt.\n" } } } }, "example": { "_links": { "self": { "href": "/pts/v2/credits/4963014324246004901546", "method": "GET" }, "void": { "href": "/pts/v2/credits/4963014324246004901546/voids", "method": "POST" } }, "id": "4963014324246004901546", "submitTimeUtc": "2017-06-01T071712Z", "status": "200", "reconciliationId": "39570714X3E1LBQ8", "statusInformation": { "reason": "SUCCESS", "message": "Successful transaction." }, "clientReferenceInformation": { "code": "12345678" }, "creditAmountDetails": { "currency": "usd", "creditAmount": "200.00" }, "orderInformation": { "amountDetails": { "currency": "usd" } } } } }, "400": { "description": "Invalid request.", "schema": { "title": "ptsV2CreditsPost400Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_CARD\n - INVALID_MERCHANT_CONFIGURATION\n - INVALID_AMOUNT\n - CAPTURE_ALREADY_VOIDED\n - ACCOUNT_NOT_ALLOWED_CREDIT\n - NOT_SUPPORTED\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" } } } } } } }, "502": { "description": "Unexpected system error or system timeout.", "schema": { "title": "ptsV2CreditsPost502Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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": "Credit", "sample-name": "Process Credit", "value": { "clientReferenceInformation": { "code": "12345678" }, "orderInformation": { "billTo": { "country": "US", "firstName": "John", "lastName": "Deo", "phoneNumber": "9321499232", "address1": "900 Metro Center Blvd", "postalCode": "48104-2201", "locality": "Foster City", "administrativeArea": "CA", "email": "test@cybs.com" }, "amountDetails": { "totalAmount": "200", "currency": "usd" } }, "paymentInformation": { "card": { "expirationYear": "2031", "number": "4111111111111111", "expirationMonth": "03", "type": "001" } } } }, "example1": { "summary": "Electronic Check Stand-Alone Credits", "sample-name": "Process Credit ECheck Stand-Alone", "value": { "clientReferenceInformation": { "code": "TC46125-1" }, "paymentInformation": { "paymentType": { "name": "CHECK" }, "bank": { "account": { "type": "C", "number": "4100", "checkNumber": "123456" }, "routingNumber": "071923284" } }, "orderInformation": { "amountDetails": { "totalAmount": "100", "currency": "USD" }, "billTo": { "firstName": "John", "lastName": "Doe", "address1": "1 Market St", "locality": "san francisco", "administrativeArea": "CA", "postalCode": "94105", "country": "US", "email": "test@cybs.com", "phoneNumber": "4158880000" } } } }, "example2": { "summary": "Service Fees Credit", "sample-name": "Process Credit with Service Fees", "value": { "clientReferenceInformation": { "code": "12345678" }, "orderInformation": { "billTo": { "firstName": "John", "lastName": "Doe", "address1": "1 Market St", "postalCode": "94105", "locality": "san francisco", "administrativeArea": "CA", "country": "US", "phoneNumber": "4158880000", "email": "test@cybs.com" }, "amountDetails": { "totalAmount": "2325.00", "currency": "usd", "serviceFeeAmount": "30.0" } }, "paymentInformation": { "card": { "expirationYear": "2031", "number": "4111111111111111", "expirationMonth": "03" } } } }, "example3": { "summary": "Credit with Customer Token Id", "sample-name": "Credit with Customer Token Id", "value": { "clientReferenceInformation": { "code": "12345678" }, "orderInformation": { "amountDetails": { "totalAmount": "200", "currency": "usd" } }, "paymentInformation": { "customer": { "id": "7500BB199B4270EFE05340588D0AFCAD" } } }, "parentTag": "Credit with Tokenization" }, "example4": { "summary": "Credit with Customer, Payment Instrument and Shipping Address Token Id", "sample-name": "Credit with Customer, Payment Instrument and Shipping Address Token Id", "value": { "clientReferenceInformation": { "code": "12345678" }, "orderInformation": { "amountDetails": { "totalAmount": "200", "currency": "usd" } }, "paymentInformation": { "customer": { "id": "7500BB199B4270EFE05340588D0AFCAD" }, "paymentInstrument": { "id": "7500BB199B4270EFE05340588D0AFCPI" }, "shippingAddress": { "id": "7500BB199B4270EFE05340588D0AFCSA" } } }, "parentTag": "Credit with Tokenization" }, "example5": { "summary": "Credit with Instrument Identifier Token Id", "sample-name": "Credit with Instrument Identifier Token Id", "value": { "clientReferenceInformation": { "code": "12345678" }, "orderInformation": { "billTo": { "country": "US", "firstName": "John", "lastName": "Deo", "phoneNumber": "9321499232", "address1": "900 Metro Center Blvd", "postalCode": "48104-2201", "locality": "Foster City", "administrativeArea": "CA", "email": "test@cybs.com" }, "amountDetails": { "totalAmount": "200", "currency": "usd" } }, "paymentInformation": { "card": { "expirationYear": "2031", "expirationMonth": "03", "type": "001" }, "instrumentIdentifier": { "id": "7500BB199B4270EFE05340588D0AFCII" } } }, "parentTag": "Credit with Tokenization" }, "example6": { "summary": "Credit Using Bluefin PCI P2PE with Visa Platform Connect", "sample-name": "Credit Using Bluefin PCI P2PE with Visa Platform Connect", "value": { "clientReferenceInformation": { "code": "demomerchant" }, "pointOfSaleInformation": { "cardPresent": "Y", "catLevel": 1, "entryMode": "keyed", "terminalCapability": 2 }, "processingInformation": { "commerceIndicator": "retail" }, "orderInformation": { "billTo": { "country": "US", "lastName": "Deo", "address1": "201 S. Division St.", "postalCode": "48104-2201", "locality": "Ann Arbor", "administrativeArea": "MI", "firstName": "John", "phoneNumber": 999999999, "district": "MI", "email": "test@cybs.com" }, "amountDetails": { "totalAmount": "100.00", "currency": "USD" } }, "paymentInformation": { "card": { "expirationYear": 2050, "expirationMonth": 12 }, "fluidData": { "descriptor": "Ymx1ZWZpbg==", "value": "02d700801f3c20008383252a363031312a2a2a2a2a2a2a2a303030395e46444d53202020202020202020202020202020202020202020205e323231322a2a2a2a2a2a2a2a3f2a3b363031312a2a2a2a2a2a2a2a303030393d323231322a2a2a2a2a2a2a2a3f2a7a75ad15d25217290c54b3d9d1c3868602136c68d339d52d98423391f3e631511d548fff08b414feac9ff6c6dede8fb09bae870e4e32f6f462d6a75fa0a178c3bd18d0d3ade21bc7a0ea687a2eef64551751e502d97cb98dc53ea55162cdfa395431323439323830303762994901000001a000731a8003" } } }, "parentTag": "Card Present with Visa Platform Connect" }, "example7": { "summary": "Credit Using Bluefin PCI P2PE for Card Present Enabled Acquirer", "sample-name": "Credit Using Bluefin PCI P2PE for Card Present Enabled Acquirer", "value": { "clientReferenceInformation": { "code": "demomerchant" }, "pointOfSaleInformation": { "cardPresent": "Y", "catLevel": 1, "entryMode": "keyed", "terminalCapability": 2 }, "processingInformation": { "commerceIndicator": "retail" }, "orderInformation": { "billTo": { "country": "US", "lastName": "Deo", "address1": "201 S. Division St.", "postalCode": "48104-2201", "locality": "Ann Arbor", "administrativeArea": "MI", "firstName": "John", "phoneNumber": 999999999, "district": "MI", "email": "test@cybs.com" }, "amountDetails": { "totalAmount": "100.00", "currency": "USD" } }, "paymentInformation": { "card": { "expirationYear": 2050, "expirationMonth": 12 }, "fluidData": { "descriptor": "Ymx1ZWZpbg==", "value": "02d700801f3c20008383252a363031312a2a2a2a2a2a2a2a303030395e46444d53202020202020202020202020202020202020202020205e323231322a2a2a2a2a2a2a2a3f2a3b363031312a2a2a2a2a2a2a2a303030393d323231322a2a2a2a2a2a2a2a3f2a7a75ad15d25217290c54b3d9d1c3868602136c68d339d52d98423391f3e631511d548fff08b414feac9ff6c6dede8fb09bae870e4e32f6f462d6a75fa0a178c3bd18d0d3ade21bc7a0ea687a2eef64551751e502d97cb98dc53ea55162cdfa395431323439323830303762994901000001a000731a8003" } } }, "parentTag": "Card Present Enabled Acquirer" }, "example8": { "summary": "Pin Debit Credit Using Swiped Track Data with Visa Platform Connect", "sample-name": "Pin Debit Credit Using Swiped Track Data with Visa Platform Connect", "value": { "clientReferenceInformation": { "code": "Pin Debit Credit Swiped Track Data", "partner": { "thirdPartyCertificationNumber": "PTP1234" } }, "processingInformation": { "commerceIndicator": "retail", "networkRoutingOrder": "VMHF" }, "merchantInformation": { "transactionLocalDateTime": 20200323103021 }, "orderInformation": { "amountDetails": { "totalAmount": "202.00", "currency": "USD" } }, "paymentInformation": { "paymentType": { "name": "CARD", "subTypeName": "DEBIT" }, "card": { "useAs": "", "sourceAccountType": "UA" } }, "pointOfSaleInformation": { "trackData": "%B4111111111111111^JONES/JONES ^3312101976110000868000000?;4111111111111111=33121019761186800000?", "entryMode": "swiped", "terminalCapability": 4 } }, "parentTag": "Card Present with Visa Platform Connect" }, "example9": { "summary": "Pin Debit Credit Using EMV Technology with Contactless Read with Visa Platform Connect", "sample-name": "Pin Debit Credit Using EMV Technology with Contactless Read with Visa Platform Connect", "value": { "clientReferenceInformation": { "code": "Pin Debit Credit Using EMV Contactless", "partner": { "thirdPartyCertificationNumber": "PTP1234" } }, "processingInformation": { "commerceIndicator": "retail", "networkRoutingOrder": "VMHF" }, "merchantInformation": { "transactionLocalDateTime": 20200323103021 }, "orderInformation": { "amountDetails": { "totalAmount": "202.00", "currency": "USD" } }, "paymentInformation": { "paymentType": { "name": "CARD", "subTypeName": "DEBIT" }, "card": { "useAs": "", "sourceAccountType": "UA" } }, "pointOfSaleInformation": { "trackData": ";4111111111111111=33121019761186800000?", "entryMode": "contactless", "terminalCapability": 4, "emv": { "tags": "9F3303204000950500000000009F3704518823719F100706011103A000009F26081E1756ED0E2134E29F36020015820200009C01009F1A0208409A030006219F02060000000020005F2A0208409F0306000000000000", "cardSequenceNumber": 1 } } }, "parentTag": "Card Present with Visa Platform Connect" }, "example10": { "summary": "EBT - Merchandise Return / Credit Voucher from SNAP", "sample-name": "EBT - Merchandise Return / Credit Voucher from SNAP", "value": { "clientReferenceInformation": { "code": "Merchandise Return / Credit Voucher from SNAP", "partner": { "thirdPartyCertificationNumber": "PTP1234" } }, "processingInformation": { "commerceIndicator": "retail", "networkRoutingOrder": "K", "purchaseOptions": { "isElectronicBenefitsTransfer": true }, "electronicBenefitsTransfer": { "voucherSerialNumber": "123451234512345", "category": "FOOD" } }, "merchantInformation": { "categoryCode": "5411" }, "orderInformation": { "amountDetails": { "totalAmount": "204.00", "currency": "USD" } }, "paymentInformation": { "card": { "type": "001" }, "paymentType": { "name": "CARD", "subTypeName": "DEBIT" } }, "pointOfSaleInformation": { "trackData": "%B4111111111111111^JONES/JONES ^3312101976110000868000000?;4111111111111111=33121019761186800000?", "entryMode": "swiped", "terminalCapability": 4, "pinBlockEncodingFormat": 1, "encryptedPin": "52F20658C04DB351", "encryptedKeySerialNumber": "FFFF1B1D140000000005" } }, "parentTag": "Card Present with Visa Platform Connect" }, "exampl11": { "summary": "PIN-less Debit Credit Using EMV Technology with Contactless Less Than or Equal to $50", "sample-name": "PIN-less Debit Credit Using EMV Technology with Contactless Less Than or Equal to $50", "value": { "clientReferenceInformation": { "code": "PIN-less Debit Credit using EMV Contactless", "partner": { "thirdPartyCertificationNumber": "PTP1234" } }, "processingInformation": { "commerceIndicator": "retail", "networkRoutingOrder": "VMHF" }, "merchantInformation": { "transactionLocalDateTime": 20200323103021 }, "orderInformation": { "amountDetails": { "totalAmount": "10.00", "currency": "USD" } }, "paymentInformation": { "paymentType": { "name": "CARD", "subTypeName": "DEBIT" }, "card": { "useAs": "", "sourceAccountType": "UA" } }, "pointOfSaleInformation": { "trackData": ";4111111111111111=33121019761186800000?", "entryMode": "contactless", "terminalCapability": 4, "terminalPinCapability": 0, "emv": { "tags": "9F3303204000950500000000009F3704518823719F100706011103A000009F26081E1756ED0E2134E29F36020015820200009C01009F1A0208409A030006219F02060000000020005F2A0208409F0306000000000000", "cardSequenceNumber": 1 } } }, "parentTag": "Card Present with Visa Platform Connect" } } } }, "/pts/v2/payments/{id}/voids": { "post": { "summary": "Void a Payment", "description": "Void a Payment API is only used, if you have requested Authorization and Capture together in [/pts/v2/payments](https://developer.cybersource.com/api-reference-assets/index.html#payments_payments) API call. Include the payment ID in the POST request to cancel the payment.\n", "tags": [ "void" ], "operationId": "voidPayment", "x-devcenter-metaData": { "categoryTag": "Payments", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/payments/developer/ctv/rest/payments/payments-intro.html" }, "parameters": [ { "name": "voidPaymentRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "pausedRequestId": { "type": "string", "maxLength": 26, "description": "Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call.\n" }, "comments": { "type": "string", "description": "Comments" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" }, "thirdPartyCertificationNumber": { "type": "string", "maxLength": 12, "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" } } }, "applicationName": { "type": "string", "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" }, "applicationVersion": { "type": "string", "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "applicationUser": { "type": "string", "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" }, "transactionId": { "type": "string", "maxLength": 30, "description": "Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request.\n\n**Note** Use this field only if you want to support merchant-initiated reversal and void operations.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, and Void**\nOptional field.\n\n#### PIN Debit\nFor a PIN debit reversal, your request must include a request ID or a merchant transaction identifier.\nOptional field for PIN debit purchase or credit requests.\n" } } }, "paymentInformation": { "type": "object", "properties": { "paymentType": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" }, "subTypeName": { "type": "string", "description": "In case the APM supports multiple modes of initiation (e.g. Alipay via QR Code or Barcode)\n" }, "method": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n" } } } } } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. For details, see:\n- \"Authorization Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Capture Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Credit Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\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. For details, see \"Zero Amount Authorizations,\" \"Credit Information for Specific Processors\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\nRequired for creating a new invoice.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. For details, see `grand_total_amount` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in \"Authorization Information for Specific Processors\" of the [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" } } } } }, "agreementInformation": { "type": "object", "properties": { "agreementId": { "type": "string", "maxLength": 50, "description": "Value of the returned in the billing agreement service response.\n" } } }, "merchantInformation": { "type": "object", "properties": { "transactionLocalDateTime": { "type": "string", "maxLength": 16, "description": "Local Time of the transaction\nSet the timestamp for the exchange rate by ISO 8601 UTC format.\nFormat: \"YYYYMMdd'T'HHmmss'Z'\" (20151103T123456Z)\n" } } }, "processingInformation": { "type": "object", "properties": { "actionList": { "type": "array", "description": "Array of actions (one or more) to be included in the void to invoke bundled services along with void.\nPossible values:\n- `AP_CANCEL`: Use this when Alternative Payment Void service is requested.\n", "items": { "type": "string" } } } } }, "example": { "clientReferenceInformation": { "transactionId": "" } } } }, { "name": "id", "in": "path", "description": "The payment ID returned from a previous payment request.", "required": true, "type": "string" } ], "responses": { "201": { "description": "Successful response.", "schema": { "title": "ptsV2PaymentsVoidsPost201Response", "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.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - VOIDED\n - CANCELLED\n - FAILED\n" }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "submitLocalDateTime": { "type": "string", "maxLength": 14, "description": "Date and time at your physical location.\n\nFormat: `YYYYMMDDhhmmss`, where YYYY = year, MM = month, DD = day, hh = hour, mm = minutes ss = seconds\n\n#### PIN Debit\nOptional field for PIN Debit purchase and credit requests.\n" }, "ownerMerchantId": { "type": "string", "description": "Merchant ID that was used to create the subscription or customer profile for which the service was requested.\n\nIf your CyberSource account is enabled for Recurring Billing, this field is returned only if you are using\nsubscription sharing and if your merchant ID is in the same merchant ID pool as the owner merchant ID.\n\nIf your CyberSource account is enabled for Payment Tokenization, this field is returned only if you are using\nprofile sharing and if your merchant ID is in the same merchant ID pool as the owner merchant ID.\n" } } }, "voidAmountDetails": { "type": "object", "properties": { "voidAmount": { "type": "string", "description": "Total amount of the void.\n\n#### PIN Debit\nAmount of the reversal.\n\nReturned by PIN debit reversal.\n" }, "originalTransactionAmount": { "type": "string", "description": "Amount of the original transaction." }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" } } }, "processorInformation": { "type": "object", "properties": { "responseCode": { "type": "string", "maxLength": 10, "description": "For most processors, this is the error message sent directly from the bank. Returned only when the processor\nreturns this value.\n\n**Important** Do not use this field to evaluate the result of the authorization.\n\n#### PIN debit\nResponse value that is returned by the processor or bank.\n**Important** Do not use this field to evaluate the results of the transaction request.\n\nReturned by PIN debit credit, PIN debit purchase, and PIN debit reversal.\n\n#### AIBMS\nIf this value is `08`, you can accept the transaction if the customer provides you with identification.\n\n#### Atos\nThis value is the response code sent from Atos and it might also include the response code from the bank.\nFormat: `aa,bb` with the two values separated by a comma and where:\n- `aa` is the two-digit error message from Atos.\n- `bb` is the optional two-digit error message from the bank.\n\n#### Comercio Latino\nThis value is the status code and the error or response code received from the processor separated by a colon.\nFormat: [status code]:E[error code] or [status code]:R[response code]\nExample `2:R06`\n\n#### JCN Gateway\nProcessor-defined detail error code. The associated response category code is in the `processorInformation.responseCategoryCode` field.\nString (3)\n" }, "responseDetails": { "type": "string", "maxLength": 60, "description": "The reason for when the transaction status is Pending or Reversed.\nPossible values:\n- `PAYER_SHIPPING_UNCONFIRMED`\n- `MULTI_CURRENCY`\n- `RISK_REVIEW`\n- `REGULATORY_REVIEW`\n- `VERIFICATION_REQUIRED`\n- `ORDER`\n- `OTHER`\n" }, "transactionId": { "type": "string", "description": "Identifier of the order transaction.\n" } } }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number that you use to reconcile CyberSource reports with your reports.\n" } }, "example": { "_links": { "self": { "href": "/pts/v2/voids/4963015122056179201545", "method": "GET" } }, "id": "4963015122056179201545", "submitTimeUtc": "2017-06-01T071832Z", "status": "VOIDED", "clientReferenceInformation": { "transactionId": "909080801" }, "orderInformation": { "amountDetails": { "currency": "USD" } }, "voidAmountDetails": { "currency": "usd", "voidAmount": "102.21" } } } }, "400": { "description": "Invalid request.", "schema": { "title": "ptsV2PaymentsVoidsPost400Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_MERCHANT_CONFIGURATION\n - NOT_VOIDABLE\n - NOT_SUPPORTED\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" } } } } } } }, "502": { "description": "Unexpected system error or system timeout.", "schema": { "title": "ptsV2PaymentsVoidsPost502Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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": "Void a Payment", "value": { "clientReferenceInformation": { "code": "test_void" } }, "depends": { "example": { "path": "/pts/v2/payments", "verb": "post", "exampleId": "example0" }, "fieldMapping": [ { "sourceField": "id", "destinationField": "id", "fieldTypeInDestination": "path" } ] } }, "example1": { "summary": "Pin Debit Purchase Reversal - Void", "value": { "clientReferenceInformation": { "code": "Pin Debit Purchase Reversal(Void)" }, "orderInformation": { "amountDetails": { "totalAmount": "202.00", "currency": "USD" } }, "paymentInformation": { "paymentType": { "name": "CARD", "subTypeName": "DEBIT" } } }, "depends": { "example": { "path": "/pts/v2/payments", "verb": "post", "exampleId": "example1" }, "fieldMapping": [ { "sourceField": "id", "destinationField": "id", "fieldTypeInDestination": "path" } ] } }, "example2": { "summary": "EBT - Reversal of Purchase from SNAP Account", "value": { "clientReferenceInformation": { "code": "Reversal of Purchase from SNAP Account" }, "orderInformation": { "amountDetails": { "totalAmount": "101.00", "currency": "USD" } }, "paymentInformation": { "card": { "type": "001" }, "paymentType": { "name": "CARD", "subTypeName": "DEBIT" } } }, "depends": { "example": { "path": "/pts/v2/payments", "verb": "post", "exampleId": "example2" }, "fieldMapping": [ { "sourceField": "id", "destinationField": "id", "fieldTypeInDestination": "path" } ] } } } } }, "/pts/v2/captures/{id}/voids": { "post": { "summary": "Void a Capture", "description": "Refund a capture API is only used, if you have requested Capture independenlty using [/pts/v2/payments/{id}/captures](https://developer.cybersource.com/api-reference-assets/index.html#payments_capture) API call. Include the capture ID in the POST request to cancel the capture.\n", "tags": [ "void" ], "operationId": "voidCapture", "x-devcenter-metaData": { "categoryTag": "Payments", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/payments/developer/ctv/rest/payments/payments-intro.html" }, "parameters": [ { "name": "voidCaptureRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "pausedRequestId": { "type": "string", "maxLength": 26, "description": "Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call.\n" }, "comments": { "type": "string", "description": "Comments" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" }, "thirdPartyCertificationNumber": { "type": "string", "maxLength": 12, "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" } } }, "applicationName": { "type": "string", "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" }, "applicationVersion": { "type": "string", "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "applicationUser": { "type": "string", "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" }, "transactionId": { "type": "string", "maxLength": 30, "description": "Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request.\n\n**Note** Use this field only if you want to support merchant-initiated reversal and void operations.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, and Void**\nOptional field.\n\n#### PIN Debit\nFor a PIN debit reversal, your request must include a request ID or a merchant transaction identifier.\nOptional field for PIN debit purchase or credit requests.\n" } } }, "paymentInformation": { "type": "object", "properties": { "paymentType": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" }, "subTypeName": { "type": "string", "description": "In case the APM supports multiple modes of initiation (e.g. Alipay via QR Code or Barcode)\n" }, "method": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n" } } } } } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. For details, see:\n- \"Authorization Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Capture Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Credit Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\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. For details, see \"Zero Amount Authorizations,\" \"Credit Information for Specific Processors\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\nRequired for creating a new invoice.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. For details, see `grand_total_amount` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in \"Authorization Information for Specific Processors\" of the [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" } } } } }, "agreementInformation": { "type": "object", "properties": { "agreementId": { "type": "string", "maxLength": 50, "description": "Value of the returned in the billing agreement service response.\n" } } }, "merchantInformation": { "type": "object", "properties": { "transactionLocalDateTime": { "type": "string", "maxLength": 16, "description": "Local Time of the transaction\nSet the timestamp for the exchange rate by ISO 8601 UTC format.\nFormat: \"YYYYMMdd'T'HHmmss'Z'\" (20151103T123456Z)\n" } } }, "processingInformation": { "type": "object", "properties": { "actionList": { "type": "array", "description": "Array of actions (one or more) to be included in the void to invoke bundled services along with void.\nPossible values:\n- `AP_CANCEL`: Use this when Alternative Payment Void service is requested.\n", "items": { "type": "string" } } } } }, "example": { "clientReferenceInformation": { "transactionId": "" } } } }, { "name": "id", "in": "path", "description": "The capture ID returned from a previous capture request.", "required": true, "type": "string" } ], "responses": { "201": { "description": "Successful response.", "schema": { "title": "ptsV2CapturesVoidsPost201Response", "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.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - VOIDED\n - CANCELLED\n - FAILED\n" }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "submitLocalDateTime": { "type": "string", "maxLength": 14, "description": "Date and time at your physical location.\n\nFormat: `YYYYMMDDhhmmss`, where YYYY = year, MM = month, DD = day, hh = hour, mm = minutes ss = seconds\n\n#### PIN Debit\nOptional field for PIN Debit purchase and credit requests.\n" }, "ownerMerchantId": { "type": "string", "description": "Merchant ID that was used to create the subscription or customer profile for which the service was requested.\n\nIf your CyberSource account is enabled for Recurring Billing, this field is returned only if you are using\nsubscription sharing and if your merchant ID is in the same merchant ID pool as the owner merchant ID.\n\nIf your CyberSource account is enabled for Payment Tokenization, this field is returned only if you are using\nprofile sharing and if your merchant ID is in the same merchant ID pool as the owner merchant ID.\n" } } }, "voidAmountDetails": { "type": "object", "properties": { "voidAmount": { "type": "string", "description": "Total amount of the void.\n\n#### PIN Debit\nAmount of the reversal.\n\nReturned by PIN debit reversal.\n" }, "originalTransactionAmount": { "type": "string", "description": "Amount of the original transaction." }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" } } }, "processorInformation": { "type": "object", "properties": { "responseCode": { "type": "string", "maxLength": 10, "description": "For most processors, this is the error message sent directly from the bank. Returned only when the processor\nreturns this value.\n\n**Important** Do not use this field to evaluate the result of the authorization.\n\n#### PIN debit\nResponse value that is returned by the processor or bank.\n**Important** Do not use this field to evaluate the results of the transaction request.\n\nReturned by PIN debit credit, PIN debit purchase, and PIN debit reversal.\n\n#### AIBMS\nIf this value is `08`, you can accept the transaction if the customer provides you with identification.\n\n#### Atos\nThis value is the response code sent from Atos and it might also include the response code from the bank.\nFormat: `aa,bb` with the two values separated by a comma and where:\n- `aa` is the two-digit error message from Atos.\n- `bb` is the optional two-digit error message from the bank.\n\n#### Comercio Latino\nThis value is the status code and the error or response code received from the processor separated by a colon.\nFormat: [status code]:E[error code] or [status code]:R[response code]\nExample `2:R06`\n\n#### JCN Gateway\nProcessor-defined detail error code. The associated response category code is in the `processorInformation.responseCategoryCode` field.\nString (3)\n" }, "responseDetails": { "type": "string", "maxLength": 60, "description": "The reason for when the transaction status is Pending or Reversed.\nPossible values:\n- `PAYER_SHIPPING_UNCONFIRMED`\n- `MULTI_CURRENCY`\n- `RISK_REVIEW`\n- `REGULATORY_REVIEW`\n- `VERIFICATION_REQUIRED`\n- `ORDER`\n- `OTHER`\n" }, "transactionId": { "type": "string", "description": "Identifier of the order transaction.\n" } } }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number that you use to reconcile CyberSource reports with your reports.\n" } }, "example": { "_links": { "self": { "href": "/pts/v2/voids/4963015122056179201545", "method": "GET" } }, "id": "4963015122056179201545", "submitTimeUtc": "2017-06-01T071832Z", "status": "VOIDED", "clientReferenceInformation": { "transactionId": "909080801" }, "orderInformation": { "amountDetails": { "currency": "USD" } }, "voidAmountDetails": { "currency": "usd", "voidAmount": "102.21" } } } }, "400": { "description": "Invalid request.", "schema": { "title": "ptsV2CapturesVoidsPost400Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_MERCHANT_CONFIGURATION\n - NOT_VOIDABLE\n - NOT_SUPPORTED\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" } } } } } } }, "502": { "description": "Unexpected system error or system timeout.", "schema": { "title": "ptsV2CapturesVoidsPost502Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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": "Void a Capture", "value": { "clientReferenceInformation": { "code": "test_void" } }, "depends": { "example": { "path": "/pts/v2/payments/{id}/captures", "verb": "post", "exampleId": "example0" }, "fieldMapping": [ { "sourceField": "id", "destinationField": "id", "fieldTypeInDestination": "path" } ] } } } } }, "/pts/v2/refunds/{id}/voids": { "post": { "summary": "Void a Refund", "description": "Include the refund ID in the POST request to cancel the refund.", "tags": [ "void" ], "operationId": "voidRefund", "x-devcenter-metaData": { "categoryTag": "Payments", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/payments/developer/ctv/rest/payments/payments-intro.html" }, "parameters": [ { "name": "voidRefundRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "pausedRequestId": { "type": "string", "maxLength": 26, "description": "Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call.\n" }, "comments": { "type": "string", "description": "Comments" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" }, "thirdPartyCertificationNumber": { "type": "string", "maxLength": 12, "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" } } }, "applicationName": { "type": "string", "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" }, "applicationVersion": { "type": "string", "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "applicationUser": { "type": "string", "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" }, "transactionId": { "type": "string", "maxLength": 30, "description": "Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request.\n\n**Note** Use this field only if you want to support merchant-initiated reversal and void operations.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, and Void**\nOptional field.\n\n#### PIN Debit\nFor a PIN debit reversal, your request must include a request ID or a merchant transaction identifier.\nOptional field for PIN debit purchase or credit requests.\n" } } }, "paymentInformation": { "type": "object", "properties": { "paymentType": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" }, "subTypeName": { "type": "string", "description": "In case the APM supports multiple modes of initiation (e.g. Alipay via QR Code or Barcode)\n" }, "method": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n" } } } } } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. For details, see:\n- \"Authorization Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Capture Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Credit Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\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. For details, see \"Zero Amount Authorizations,\" \"Credit Information for Specific Processors\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\nRequired for creating a new invoice.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. For details, see `grand_total_amount` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in \"Authorization Information for Specific Processors\" of the [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" } } } } }, "agreementInformation": { "type": "object", "properties": { "agreementId": { "type": "string", "maxLength": 50, "description": "Value of the returned in the billing agreement service response.\n" } } }, "merchantInformation": { "type": "object", "properties": { "transactionLocalDateTime": { "type": "string", "maxLength": 16, "description": "Local Time of the transaction\nSet the timestamp for the exchange rate by ISO 8601 UTC format.\nFormat: \"YYYYMMdd'T'HHmmss'Z'\" (20151103T123456Z)\n" } } }, "processingInformation": { "type": "object", "properties": { "actionList": { "type": "array", "description": "Array of actions (one or more) to be included in the void to invoke bundled services along with void.\nPossible values:\n- `AP_CANCEL`: Use this when Alternative Payment Void service is requested.\n", "items": { "type": "string" } } } } }, "example": { "clientReferenceInformation": { "transactionId": "" } } } }, { "name": "id", "in": "path", "description": "The refund ID returned from a previous refund request.", "required": true, "type": "string" } ], "responses": { "201": { "description": "Successful response.", "schema": { "title": "ptsV2RefundsVoidsPost201Response", "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.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - VOIDED\n - CANCELLED\n - FAILED\n" }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "submitLocalDateTime": { "type": "string", "maxLength": 14, "description": "Date and time at your physical location.\n\nFormat: `YYYYMMDDhhmmss`, where YYYY = year, MM = month, DD = day, hh = hour, mm = minutes ss = seconds\n\n#### PIN Debit\nOptional field for PIN Debit purchase and credit requests.\n" }, "ownerMerchantId": { "type": "string", "description": "Merchant ID that was used to create the subscription or customer profile for which the service was requested.\n\nIf your CyberSource account is enabled for Recurring Billing, this field is returned only if you are using\nsubscription sharing and if your merchant ID is in the same merchant ID pool as the owner merchant ID.\n\nIf your CyberSource account is enabled for Payment Tokenization, this field is returned only if you are using\nprofile sharing and if your merchant ID is in the same merchant ID pool as the owner merchant ID.\n" } } }, "voidAmountDetails": { "type": "object", "properties": { "voidAmount": { "type": "string", "description": "Total amount of the void.\n\n#### PIN Debit\nAmount of the reversal.\n\nReturned by PIN debit reversal.\n" }, "originalTransactionAmount": { "type": "string", "description": "Amount of the original transaction." }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" } } }, "processorInformation": { "type": "object", "properties": { "responseCode": { "type": "string", "maxLength": 10, "description": "For most processors, this is the error message sent directly from the bank. Returned only when the processor\nreturns this value.\n\n**Important** Do not use this field to evaluate the result of the authorization.\n\n#### PIN debit\nResponse value that is returned by the processor or bank.\n**Important** Do not use this field to evaluate the results of the transaction request.\n\nReturned by PIN debit credit, PIN debit purchase, and PIN debit reversal.\n\n#### AIBMS\nIf this value is `08`, you can accept the transaction if the customer provides you with identification.\n\n#### Atos\nThis value is the response code sent from Atos and it might also include the response code from the bank.\nFormat: `aa,bb` with the two values separated by a comma and where:\n- `aa` is the two-digit error message from Atos.\n- `bb` is the optional two-digit error message from the bank.\n\n#### Comercio Latino\nThis value is the status code and the error or response code received from the processor separated by a colon.\nFormat: [status code]:E[error code] or [status code]:R[response code]\nExample `2:R06`\n\n#### JCN Gateway\nProcessor-defined detail error code. The associated response category code is in the `processorInformation.responseCategoryCode` field.\nString (3)\n" }, "responseDetails": { "type": "string", "maxLength": 60, "description": "The reason for when the transaction status is Pending or Reversed.\nPossible values:\n- `PAYER_SHIPPING_UNCONFIRMED`\n- `MULTI_CURRENCY`\n- `RISK_REVIEW`\n- `REGULATORY_REVIEW`\n- `VERIFICATION_REQUIRED`\n- `ORDER`\n- `OTHER`\n" }, "transactionId": { "type": "string", "description": "Identifier of the order transaction.\n" } } }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number that you use to reconcile CyberSource reports with your reports.\n" } }, "example": { "_links": { "self": { "href": "/pts/v2/voids/4963015122056179201545", "method": "GET" } }, "id": "4963015122056179201545", "submitTimeUtc": "2017-06-01T071832Z", "status": "VOIDED", "clientReferenceInformation": { "transactionId": "909080801" }, "orderInformation": { "amountDetails": { "currency": "USD" } }, "voidAmountDetails": { "currency": "usd", "voidAmount": "102.21" } } } }, "400": { "description": "Invalid request.", "schema": { "title": "ptsV2RefundsVoidsPost400Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_MERCHANT_CONFIGURATION\n - NOT_VOIDABLE\n - NOT_SUPPORTED\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" } } } } } } }, "502": { "description": "Unexpected system error or system timeout.", "schema": { "title": "ptsV2RefundsVoidsPost502Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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": "Void a Refund", "value": { "clientReferenceInformation": { "code": "test_void" } }, "depends": { "example": { "path": "/pts/v2/payments/{id}/refunds", "verb": "post", "exampleId": "example0" }, "fieldMapping": [ { "sourceField": "id", "destinationField": "id", "fieldTypeInDestination": "path" } ] } } } } }, "/pts/v2/credits/{id}/voids": { "post": { "summary": "Void a Credit", "description": "Include the credit ID in the POST request to cancel the credit.", "tags": [ "void" ], "operationId": "voidCredit", "x-devcenter-metaData": { "categoryTag": "Payments", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/payments/developer/ctv/rest/payments/payments-intro.html" }, "parameters": [ { "name": "voidCreditRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "pausedRequestId": { "type": "string", "maxLength": 26, "description": "Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call.\n" }, "comments": { "type": "string", "description": "Comments" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" }, "thirdPartyCertificationNumber": { "type": "string", "maxLength": 12, "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" } } }, "applicationName": { "type": "string", "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" }, "applicationVersion": { "type": "string", "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "applicationUser": { "type": "string", "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" }, "transactionId": { "type": "string", "maxLength": 30, "description": "Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request.\n\n**Note** Use this field only if you want to support merchant-initiated reversal and void operations.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, and Void**\nOptional field.\n\n#### PIN Debit\nFor a PIN debit reversal, your request must include a request ID or a merchant transaction identifier.\nOptional field for PIN debit purchase or credit requests.\n" } } }, "paymentInformation": { "type": "object", "properties": { "paymentType": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" }, "subTypeName": { "type": "string", "description": "In case the APM supports multiple modes of initiation (e.g. Alipay via QR Code or Barcode)\n" }, "method": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n" } } } } } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. For details, see:\n- \"Authorization Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Capture Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Credit Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\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. For details, see \"Zero Amount Authorizations,\" \"Credit Information for Specific Processors\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\nRequired for creating a new invoice.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. For details, see `grand_total_amount` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in \"Authorization Information for Specific Processors\" of the [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" } } } } }, "agreementInformation": { "type": "object", "properties": { "agreementId": { "type": "string", "maxLength": 50, "description": "Value of the returned in the billing agreement service response.\n" } } }, "merchantInformation": { "type": "object", "properties": { "transactionLocalDateTime": { "type": "string", "maxLength": 16, "description": "Local Time of the transaction\nSet the timestamp for the exchange rate by ISO 8601 UTC format.\nFormat: \"YYYYMMdd'T'HHmmss'Z'\" (20151103T123456Z)\n" } } }, "processingInformation": { "type": "object", "properties": { "actionList": { "type": "array", "description": "Array of actions (one or more) to be included in the void to invoke bundled services along with void.\nPossible values:\n- `AP_CANCEL`: Use this when Alternative Payment Void service is requested.\n", "items": { "type": "string" } } } } }, "example": { "clientReferenceInformation": { "transactionId": "" } } } }, { "name": "id", "in": "path", "description": "The credit ID returned from a previous credit request.", "required": true, "type": "string" } ], "responses": { "201": { "description": "Successful response.", "schema": { "title": "ptsV2CreditsVoidsPost201Response", "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.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - VOIDED\n - CANCELLED\n - FAILED\n" }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "submitLocalDateTime": { "type": "string", "maxLength": 14, "description": "Date and time at your physical location.\n\nFormat: `YYYYMMDDhhmmss`, where YYYY = year, MM = month, DD = day, hh = hour, mm = minutes ss = seconds\n\n#### PIN Debit\nOptional field for PIN Debit purchase and credit requests.\n" }, "ownerMerchantId": { "type": "string", "description": "Merchant ID that was used to create the subscription or customer profile for which the service was requested.\n\nIf your CyberSource account is enabled for Recurring Billing, this field is returned only if you are using\nsubscription sharing and if your merchant ID is in the same merchant ID pool as the owner merchant ID.\n\nIf your CyberSource account is enabled for Payment Tokenization, this field is returned only if you are using\nprofile sharing and if your merchant ID is in the same merchant ID pool as the owner merchant ID.\n" } } }, "voidAmountDetails": { "type": "object", "properties": { "voidAmount": { "type": "string", "description": "Total amount of the void.\n\n#### PIN Debit\nAmount of the reversal.\n\nReturned by PIN debit reversal.\n" }, "originalTransactionAmount": { "type": "string", "description": "Amount of the original transaction." }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" } } }, "processorInformation": { "type": "object", "properties": { "responseCode": { "type": "string", "maxLength": 10, "description": "For most processors, this is the error message sent directly from the bank. Returned only when the processor\nreturns this value.\n\n**Important** Do not use this field to evaluate the result of the authorization.\n\n#### PIN debit\nResponse value that is returned by the processor or bank.\n**Important** Do not use this field to evaluate the results of the transaction request.\n\nReturned by PIN debit credit, PIN debit purchase, and PIN debit reversal.\n\n#### AIBMS\nIf this value is `08`, you can accept the transaction if the customer provides you with identification.\n\n#### Atos\nThis value is the response code sent from Atos and it might also include the response code from the bank.\nFormat: `aa,bb` with the two values separated by a comma and where:\n- `aa` is the two-digit error message from Atos.\n- `bb` is the optional two-digit error message from the bank.\n\n#### Comercio Latino\nThis value is the status code and the error or response code received from the processor separated by a colon.\nFormat: [status code]:E[error code] or [status code]:R[response code]\nExample `2:R06`\n\n#### JCN Gateway\nProcessor-defined detail error code. The associated response category code is in the `processorInformation.responseCategoryCode` field.\nString (3)\n" }, "responseDetails": { "type": "string", "maxLength": 60, "description": "The reason for when the transaction status is Pending or Reversed.\nPossible values:\n- `PAYER_SHIPPING_UNCONFIRMED`\n- `MULTI_CURRENCY`\n- `RISK_REVIEW`\n- `REGULATORY_REVIEW`\n- `VERIFICATION_REQUIRED`\n- `ORDER`\n- `OTHER`\n" }, "transactionId": { "type": "string", "description": "Identifier of the order transaction.\n" } } }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number that you use to reconcile CyberSource reports with your reports.\n" } }, "example": { "_links": { "self": { "href": "/pts/v2/voids/4963015122056179201545", "method": "GET" } }, "id": "4963015122056179201545", "submitTimeUtc": "2017-06-01T071832Z", "status": "VOIDED", "clientReferenceInformation": { "transactionId": "909080801" }, "orderInformation": { "amountDetails": { "currency": "USD" } }, "voidAmountDetails": { "currency": "usd", "voidAmount": "102.21" } } } }, "400": { "description": "Invalid request.", "schema": { "title": "ptsV2CreditsVoidsPost400Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_MERCHANT_CONFIGURATION\n - NOT_VOIDABLE\n - NOT_SUPPORTED\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" } } } } } } }, "502": { "description": "Unexpected system error or system timeout.", "schema": { "title": "ptsV2CreditsVoidsPost502Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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": "Void a Credit", "value": { "clientReferenceInformation": { "code": "test_void" } }, "depends": { "example": { "path": "/pts/v2/credits", "verb": "post", "exampleId": "example0" }, "fieldMapping": [ { "sourceField": "id", "destinationField": "id", "fieldTypeInDestination": "path" } ] } } } } }, "/pts/v2/voids": { "post": { "summary": "Timeout Void", "description": "This is to void a previous payment, capture, refund, or credit that merchant does not receive a reply(Mostly due to timeout). To use this feature/API, make sure to pass unique value to field - clientReferenceInformation -> transactionId in your payment, capture, refund, or credit API call and use same transactionId in this API request payload to reverse the payment.", "tags": [ "void" ], "operationId": "mitVoid", "x-devcenter-metaData": { "categoryTag": "Payments", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/payments/developer/ctv/rest/payments/payments-intro.html" }, "x-example": { "example0": { "summary": "Timeout void", "value": { "clientReferenceInformation": { "transactionId": "" } } } }, "parameters": [ { "name": "mitVoidRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" }, "pausedRequestId": { "type": "string", "maxLength": 26, "description": "Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call.\n" }, "transactionId": { "type": "string", "maxLength": 30, "description": "Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request.\n\n**Note** Use this field only if you want to support merchant-initiated reversal and void operations.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, and Void**\nOptional field.\n\n#### PIN Debit\nFor a PIN debit reversal, your request must include a request ID or a merchant transaction identifier.\nOptional field for PIN debit purchase or credit requests.\n" }, "comments": { "type": "string", "description": "Comments" }, "partner": { "type": "object", "properties": { "originalTransactionId": { "type": "string", "maxLength": 32, "description": "Value that links the previous transaction to the current follow-on request. This value is assigned by the client\nsoftware that is installed on the POS terminal, which makes it available to the terminal's software and to\nCyberSource. Therefore, you can use this value to reconcile transactions between CyberSource and the terminal's\nsoftware.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" }, "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" }, "thirdPartyCertificationNumber": { "type": "string", "maxLength": 12, "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" } } }, "applicationName": { "type": "string", "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" }, "applicationVersion": { "type": "string", "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "applicationUser": { "type": "string", "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" } } }, "paymentInformation": { "type": "object", "properties": { "paymentType": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" }, "subTypeName": { "type": "string", "description": "In case the APM supports multiple modes of initiation (e.g. Alipay via QR Code or Barcode)\n" }, "method": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n" } } } } } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. For details, see:\n- \"Authorization Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Capture Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Credit Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\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. For details, see \"Zero Amount Authorizations,\" \"Credit Information for Specific Processors\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\nRequired for creating a new invoice.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. For details, see `grand_total_amount` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in \"Authorization Information for Specific Processors\" of the [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" } } } } }, "processingInformation": { "type": "object", "properties": { "paymentId": { "type": "string", "maxLength": 28, "description": "This field is to accept the id of credit/capture in the body of L1 requests so the type of void can be identified and processed correctly downstream." } } } }, "example": { "clientReferenceInformation": { "transactionId": "" } } } } ], "responses": { "201": { "description": "Successful response.", "schema": { "title": "ptsV2VoidsPost200Response", "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.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - VOIDED\n - CANCELLED\n - FAILED\n" }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "submitLocalDateTime": { "type": "string", "maxLength": 14, "description": "Date and time at your physical location.\n\nFormat: `YYYYMMDDhhmmss`, where YYYY = year, MM = month, DD = day, hh = hour, mm = minutes ss = seconds\n\n#### PIN Debit\nOptional field for PIN Debit purchase and credit requests.\n" }, "ownerMerchantId": { "type": "string", "description": "Merchant ID that was used to create the subscription or customer profile for which the service was requested.\n\nIf your CyberSource account is enabled for Recurring Billing, this field is returned only if you are using\nsubscription sharing and if your merchant ID is in the same merchant ID pool as the owner merchant ID.\n\nIf your CyberSource account is enabled for Payment Tokenization, this field is returned only if you are using\nprofile sharing and if your merchant ID is in the same merchant ID pool as the owner merchant ID.\n" } } }, "voidAmountDetails": { "type": "object", "properties": { "voidAmount": { "type": "string", "description": "Total amount of the void.\n\n#### PIN Debit\nAmount of the reversal.\n\nReturned by PIN debit reversal.\n" }, "originalTransactionAmount": { "type": "string", "description": "Amount of the original transaction." }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" } } }, "processorInformation": { "type": "object", "properties": { "responseCode": { "type": "string", "maxLength": 10, "description": "For most processors, this is the error message sent directly from the bank. Returned only when the processor\nreturns this value.\n\n**Important** Do not use this field to evaluate the result of the authorization.\n\n#### PIN debit\nResponse value that is returned by the processor or bank.\n**Important** Do not use this field to evaluate the results of the transaction request.\n\nReturned by PIN debit credit, PIN debit purchase, and PIN debit reversal.\n\n#### AIBMS\nIf this value is `08`, you can accept the transaction if the customer provides you with identification.\n\n#### Atos\nThis value is the response code sent from Atos and it might also include the response code from the bank.\nFormat: `aa,bb` with the two values separated by a comma and where:\n- `aa` is the two-digit error message from Atos.\n- `bb` is the optional two-digit error message from the bank.\n\n#### Comercio Latino\nThis value is the status code and the error or response code received from the processor separated by a colon.\nFormat: [status code]:E[error code] or [status code]:R[response code]\nExample `2:R06`\n\n#### JCN Gateway\nProcessor-defined detail error code. The associated response category code is in the `processorInformation.responseCategoryCode` field.\nString (3)\n" }, "responseDetails": { "type": "string", "maxLength": 60, "description": "The reason for when the transaction status is Pending or Reversed.\nPossible values:\n- `PAYER_SHIPPING_UNCONFIRMED`\n- `MULTI_CURRENCY`\n- `RISK_REVIEW`\n- `REGULATORY_REVIEW`\n- `VERIFICATION_REQUIRED`\n- `ORDER`\n- `OTHER`\n" }, "transactionId": { "type": "string", "description": "Identifier of the order transaction.\n" } } }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number that you use to reconcile CyberSource reports with your reports.\n" } }, "example": { "_links": { "self": { "href": "/pts/v2/voids/4963015122056179201545", "method": "GET" } }, "id": "4963015122056179201545", "submitTimeUtc": "2017-06-01T071832Z", "status": "VOIDED", "clientReferenceInformation": { "transactionId": "909080801" }, "orderInformation": { "amountDetails": { "currency": "USD" } }, "voidAmountDetails": { "currency": "usd", "voidAmount": "102.21" } } } }, "400": { "description": "Invalid request.", "schema": { "title": "ptsV2VoidsPost400Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_MERCHANT_CONFIGURATION\n - NOT_VOIDABLE\n - NOT_SUPPORTED\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" } } } } } } }, "502": { "description": "Unexpected system error or system timeout.", "schema": { "title": "ptsV2VoidsPost502Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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." } } } } } } }, "/pts/v1/transaction-batches": { "get": { "summary": "Get a List of Batch Files", "description": "Provide the search range", "tags": [ "TransactionBatches" ], "operationId": "getTransactionBatches", "x-devcenter-metaData": { "categoryTag": "Transaction_Batches", "developerGuides": "https://developer.cybersource.com/api/developer-guides/dita-transaction-batch-api/txn_batch_api_intro.html" }, "x-queryParameterDefaults": { "startTime": "2020-02-22T01:47:57.000Z", "endTime": "2020-02-22T22:47:57.000Z" }, "produces": [ "application/hal+json" ], "parameters": [ { "name": "startTime", "in": "query", "description": "Valid report Start Time in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n **Example date format:**\n - yyyy-MM-dd'T'HH:mm:ss.SSSZZ\n", "required": true, "type": "string", "format": "date-time" }, { "name": "endTime", "in": "query", "description": "Valid report End Time in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n **Example date format:**\n - yyyy-MM-dd'T'HH:mm:ss.SSSZZ\n", "required": true, "type": "string", "format": "date-time" } ], "responses": { "200": { "description": "OK", "schema": { "title": "ptsV1TransactionBatchesGet200Response", "type": "object", "properties": { "transactionBatches": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier assigned to the batch file.", "example": "psy8s1d", "pattern": "^[a-zA-Z0-9_+-]*$", "minLength": 1, "maxLength": 8 }, "uploadDate": { "type": "string", "description": "Date when the batch template was update.", "example": "2018-01-01" }, "completionDate": { "type": "string", "description": "The date when the batch template processing completed.", "example": "2018-01-01" }, "transactionCount": { "type": "integer", "description": "Number of transactions in the transaction.", "example": 7534 }, "acceptedTransactionCount": { "type": "integer", "description": "Number of transactions accepted.", "example": 50013 }, "rejectedTransactionCount": { "type": "string", "description": "Number of transactions rejected.", "example": 2508 }, "status": { "type": "string", "description": "The status of you batch template processing.", "example": "Completed" } } } }, "_links": { "type": "object", "properties": { "self": { "type": "object", "properties": { "href": { "type": "string", "example": "/pts/v1/transaction-batches" }, "method": { "type": "string", "example": "GET" } } } } }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" } } } }, "400": { "description": "Bad Request", "schema": { "title": "ptsV1TransactionBatchesGet400Response", "type": "object", "properties": { "errorInformation": { "type": "object", "properties": { "reason": { "type": "string" }, "message": { "type": "string" }, "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.\n" }, "message": { "type": "string", "description": "The detailed message related to the status and reason listed above.\n" } } } } } }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" } } } }, "401": { "description": "Not Authorized", "schema": { "title": "ptsV1TransactionBatchesGet401Response", "type": "object", "properties": { "errorInformation": { "type": "object", "properties": { "reason": { "type": "string" }, "message": { "type": "string" }, "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.\n" }, "message": { "type": "string", "description": "The detailed message related to the status and reason listed above.\n" } } } } } }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" } } } }, "403": { "description": "No Authenticated", "schema": { "title": "ptsV1TransactionBatchesGet403Response", "type": "object", "properties": { "errorInformation": { "type": "object", "properties": { "reason": { "type": "string" }, "message": { "type": "string" }, "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.\n" }, "message": { "type": "string", "description": "The detailed message related to the status and reason listed above.\n" } } } } } }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" } } } }, "404": { "description": "No Reports Found", "schema": { "title": "ptsV1TransactionBatchesGet404Response", "type": "object", "properties": { "errorInformation": { "type": "object", "properties": { "reason": { "type": "string" }, "message": { "type": "string" }, "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.\n" }, "message": { "type": "string", "description": "The detailed message related to the status and reason listed above.\n" } } } } } }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" } } } }, "500": { "description": "Bad Gateway", "schema": { "title": "ptsV1TransactionBatchesGet500Response", "type": "object", "properties": { "errorInformation": { "type": "object", "properties": { "reason": { "type": "string", "description": "The reason of status" }, "message": { "type": "string", "description": "The detailed message related to the status and reason listed above." } } }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" } } } } } } }, "/pts/v1/transaction-batches/{id}": { "get": { "summary": "Get Individual Batch File", "description": "Provide the search range", "tags": [ "TransactionBatches" ], "operationId": "getTransactionBatchId", "x-devcenter-metaData": { "categoryTag": "Transaction_Batches", "developerGuides": "https://developer.cybersource.com/api/developer-guides/dita-transaction-batch-api/txn_batch_api_intro.html" }, "x-depends": { "example": { "path": "/pts/v1/transaction-batches", "verb": "get", "exampleId": "Get a list of batch files" }, "fieldMapping": [ { "sourceField": "transactionBatches[0].id", "destinationField": "id", "fieldTypeInDestination": "path" } ] }, "produces": [ "application/hal+json" ], "parameters": [ { "name": "id", "in": "path", "description": "The batch id assigned for the template.", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "title": "ptsV1TransactionBatchesIdGet200Response", "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier assigned to the batch file.", "example": "psy8s1d", "pattern": "^[a-zA-Z0-9_+-]*$", "minLength": 1, "maxLength": 8 }, "uploadDate": { "type": "string", "description": "Date when the batch template was update.", "example": "2018-01-01" }, "completionDate": { "type": "string", "description": "The date when the batch template processing completed.", "example": "2018-01-01" }, "transactionCount": { "type": "integer", "description": "Number of transactions in the transaction.", "example": 7534 }, "acceptedTransactionCount": { "type": "integer", "description": "Number of transactions accepted.", "example": 50013 }, "rejectedTransactionCount": { "type": "string", "description": "Number of transactions rejected.", "example": 2508 }, "status": { "type": "string", "description": "The status of you batch template processing.", "example": "Completed" }, "_links": { "type": "object", "properties": { "transactions": { "type": "array", "items": { "type": "object", "properties": { "href": { "type": "string", "description": "Self link for this request", "example": "/tss/v2/transactions/5289798134206292501013" }, "method": { "type": "string" } } } } } } } } }, "400": { "description": "Bad Request", "schema": { "title": "ptsV1TransactionBatchesGet400Response", "type": "object", "properties": { "errorInformation": { "type": "object", "properties": { "reason": { "type": "string" }, "message": { "type": "string" }, "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.\n" }, "message": { "type": "string", "description": "The detailed message related to the status and reason listed above.\n" } } } } } }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" } } } }, "401": { "description": "Not Authorized", "schema": { "title": "ptsV1TransactionBatchesGet401Response", "type": "object", "properties": { "errorInformation": { "type": "object", "properties": { "reason": { "type": "string" }, "message": { "type": "string" }, "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.\n" }, "message": { "type": "string", "description": "The detailed message related to the status and reason listed above.\n" } } } } } }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" } } } }, "403": { "description": "No Authenticated", "schema": { "title": "ptsV1TransactionBatchesGet403Response", "type": "object", "properties": { "errorInformation": { "type": "object", "properties": { "reason": { "type": "string" }, "message": { "type": "string" }, "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.\n" }, "message": { "type": "string", "description": "The detailed message related to the status and reason listed above.\n" } } } } } }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" } } } }, "404": { "description": "No Reports Found", "schema": { "title": "ptsV1TransactionBatchesGet404Response", "type": "object", "properties": { "errorInformation": { "type": "object", "properties": { "reason": { "type": "string" }, "message": { "type": "string" }, "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.\n" }, "message": { "type": "string", "description": "The detailed message related to the status and reason listed above.\n" } } } } } }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" } } } }, "502": { "description": "Bad Gateway", "schema": { "title": "ptsV1TransactionBatchesGet502Response", "type": "object", "properties": { "errorInformation": { "type": "object", "properties": { "reason": { "type": "string", "description": "The reason of status" }, "message": { "type": "string", "description": "The detailed message related to the status and reason listed above." } } }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" } } } } } } }, "/pts/v1/transaction-batch-details/{id}": { "get": { "tags": [ "TransactionBatches" ], "summary": "Get Transaction Details for a given Batch Id", "description": "Provides real-time detailed status information about the transactions that you previously uploaded in the Business Center or processed with the Offline Transaction File Submission service.\n", "operationId": "getTransactionBatchDetails", "x-streaming": true, "x-devcenter-metaData": { "categoryTag": "Transaction_Batches", "developerGuides": "https://developer.cybersource.com/api/developer-guides/dita-transaction-batch-api/txn_batch_api_intro.html", "enableDownload": true, "x-custom-headers": { "accept": [ "text/csv", "application/xml", "text/vnd.cybersource.map-csv" ] } }, "x-queryParameterDefaults": { "uploadDate": "2019-08-30", "status": "Rejected" }, "x-depends": { "example": { "path": "/pts/v1/transaction-batches/{id}", "verb": "get", "exampleId": "Get individual batch file" }, "fieldMapping": [ { "sourceField": "id", "destinationField": "id", "fieldTypeInDestination": "path" } ] }, "produces": [ "text/csv", "application/xml", "text/vnd.cybersource.map-csv" ], "parameters": [ { "name": "id", "in": "path", "description": "The batch id assigned for the template.", "required": true, "type": "string" }, { "name": "uploadDate", "in": "query", "description": "Date in which the original batch file was uploaded. Date must be in ISO-8601 format.\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n**Example date format:**\n - yyyy-MM-dd\n", "required": false, "type": "string", "format": "date" }, { "name": "status", "in": "query", "description": "Allows you to filter by rejected response.\n\nValid values:\n- Rejected\n", "required": false, "type": "string" } ], "responses": { "200": { "description": "OK", "examples": { "text/vnd.cybersource.map-csv": "merchantID=testrest,batchID=01lzdah4\n\nmerchantReferenceCode=7vvc3645,purchaseTotals_currency=GBP,ccAuthReversalReply_processorResponse=00,ccAuthReversalReply_requestDateTime=2019-03-08 10:50:23 GMT,ccAuthReversalReply_amount=8.00,decision=ACCEPT,requestID=5520424090516341303098,merchantReferenceCode=7Y3E112F,requestToken=Ahj//wSTLNz0kRV6lzumGxkyXTozqrWfMbTWSi9xQvvlQFRe4pB8qekDsTiONhk0kyxdfAw3sUHMmWbkw9bmwBX9cAAA+Rh4,reasonCode=100,ccAuthReversalReply_reasonCode=100\n", "text/csv": "Submission Date/Time,Submission File ID,link_to_request,request_id,transaction_date,cybs_mid,processor_mid,hierarchy_id,trans_ref_number,merchant_ref_number,transaction_type,amount,transaction_amount_currency,payment_method,payment_type,account_suffix,decision,reason_code,reserved,auth_trans_ref_number,auth_date,auth_request_id,auth_amount,auth_currency,auth_code,auth_reason_code,auth_rcode,merchant_defined_data1,merchant_defined_data2,merchant_defined_data3,merchant_defined_data4\n2019-03-08 10:50:23 GMT,01lzdah4,5520424090516341303098,5520424090516341303098,2019-03-08 10:53:29 GMT,testrest,,101011000871000110003,51512455,4,ics_auth,8.00,GBP ,credit card,Visa,1111,,100,,,,5520424090516341303098,,,,,,3817,,,\n", "application/xml": "\n\n\n \n 5520424090516341303098\n 5520424090516341303098\n 2019-03-08 10:53:29 GMT\n pa_gpn\n 101011000871000110003\n 51512455\n 7vvc3645\n ics_auth\n 8.00\n GBP\n credit card\n Visa\n 1111\n 100\n \n 5520424090516341303098\n \n 3817\n \n\n" } }, "400": { "description": "Bad Request", "schema": { "title": "ptsV1TransactionBatchDetailsGet400Response", "type": "object", "properties": { "errorInformation": { "type": "object", "properties": { "reason": { "type": "string" }, "message": { "type": "string" }, "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.\n" }, "message": { "type": "string", "description": "The detailed message related to the status and reason listed above.\n" } } } } } }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" } } } }, "401": { "description": "Not Authorized", "schema": { "title": "ptsV1TransactionBatchDetailsGet401Response", "type": "object", "properties": { "errorInformation": { "type": "object", "properties": { "reason": { "type": "string" }, "message": { "type": "string" }, "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.\n" }, "message": { "type": "string", "description": "The detailed message related to the status and reason listed above.\n" } } } } } }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" } } } }, "403": { "description": "No Authenticated", "schema": { "title": "ptsV1TransactionBatchDetailsGet403Response", "type": "object", "properties": { "errorInformation": { "type": "object", "properties": { "reason": { "type": "string" }, "message": { "type": "string" }, "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.\n" }, "message": { "type": "string", "description": "The detailed message related to the status and reason listed above.\n" } } } } } }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" } } } }, "404": { "description": "No Reports Found", "schema": { "title": "ptsV1TransactionBatchDetailsGet404Response", "type": "object", "properties": { "errorInformation": { "type": "object", "properties": { "reason": { "type": "string" }, "message": { "type": "string" }, "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.\n" }, "message": { "type": "string", "description": "The detailed message related to the status and reason listed above.\n" } } } } } }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" } } } }, "502": { "description": "Bad Gateway", "schema": { "title": "ptsV1TransactionBatchDetailsGet502Response", "type": "object", "properties": { "errorInformation": { "type": "object", "properties": { "reason": { "type": "string", "description": "The reason of status" }, "message": { "type": "string", "description": "The detailed message related to the status and reason listed above." } } }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" } } } } } } }, "/pts/v2/refresh-payment-status/{id}": { "post": { "summary": "Check a Payment Status", "description": "Checks and updates the payment status\n", "tags": [ "payments" ], "operationId": "refreshPaymentStatus", "x-devcenter-metaData": { "categoryTag": "Payments", "testingTriggers": "https://developer.cybersource.com/hello-world/testing-guide.html", "responseCodes": "https://developer.cybersource.com/api/reference/response-codes.html", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/payments/developer/ctv/rest/payments/payments-intro.html" }, "parameters": [ { "name": "id", "in": "path", "description": "The payment id whose status needs to be checked and updated.", "required": true, "type": "string" }, { "name": "refreshPaymentStatusRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "paymentInformation": { "type": "object", "properties": { "customer": { "type": "object", "properties": { "customerId": { "type": "string", "description": "Unique identifier for the customer's card and billing information.\n\nWhen you use Payment Tokenization or Recurring Billing and you include this value in\nyour request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n\n**NOTE** When you use Payment Tokenization or Recurring Billing, the value for the Customer ID is actually the Cybersource payment token for a customer. This token stores information such as the consumer's card number so it can be applied towards bill payments, recurring payments, or one-time payments. By using this token in a payment API request, the merchant doesn't need to pass in data such as the card number or expiration date in the request itself.\n\nFor details, see the `subscription_id` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" } } }, "paymentType": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" }, "method": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n" } } } } } } }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" } } }, "agreementInformation": { "type": "object", "properties": { "agreementId": { "type": "string", "description": "The identifier for the billing agreement.\n" } } }, "processingInformation": { "type": "object", "properties": { "actionList": { "type": "array", "description": "Array of actions (one or more) to be included in the payment to invoke bundled services along with payment status.\n\nPossible values are one or more of follows:\n\n - `AP_STATUS`: Use this when Alternative Payment check status service is requested.\n\n - `AP_SESSION_STATUS`: Use this when Alternative Payment check status service for Paypal, Klarna is requested.\n\n - `AP_INITIATE_STATUS`: Use this when Alternative Payment check status service for KCP is requested.\n", "items": { "type": "string" } } } } } } } ], "responses": { "201": { "description": "Successful response.", "schema": { "title": "ptsV2PaymentsPost201Response", "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "An unique identification number generated by Cybersource to identify the submitted request. Returned by all services.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - AUTHORIZED\n - PARTIAL_AUTHORIZED\n - AUTHORIZED_PENDING_REVIEW\n - AUTHORIZED_RISK_DECLINED\n - PENDING_AUTHENTICATION\n - PENDING_REVIEW\n - DECLINED\n - INVALID_REQUEST\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "processorInformation": { "type": "object", "properties": { "transactionId": { "type": "string", "maxLength": 50, "description": "Network transaction identifier (TID). You can use this value to identify a specific transaction when you are\ndiscussing the transaction with your processor. Not all processors provide this value.\n\nReturned by the authorization service.\n\n#### PIN debit\nTransaction identifier generated by the processor.\n\nReturned by PIN debit credit.\n\n#### GPX\nProcessor transaction ID.\n\n#### Cielo\nFor Cielo, this value is the non-sequential unit (NSU) and is supported for all transactions. The value is generated by Cielo or the issuing bank.\n\n#### Comercio Latino\nFor Comercio Latino, this value is the proof of sale or non-sequential unit (NSU) number generated by the acquirers Cielo and Rede, or the issuing bank.\n\n#### CyberSource through VisaNet and GPN\nFor details about this value for CyberSource through VisaNet and GPN, see \"Network Transaction Identifiers\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Moneris\nThis value identifies the transaction on a host system. It contains the following information:\n- Terminal used to process the transaction\n- Shift during which the transaction took place\n- Batch number\n- Transaction number within the batch\nYou must store this value. If you give the customer a receipt, display this value on the receipt.\n\n**Example** For the value\n66012345001069003:\n- Terminal ID = 66012345\n- Shift number = 001\n- Batch number = 069\n- Transaction number = 003\n" }, "tradeNumber": { "type": "string", "description": "The description for this field is not available." }, "rawResponse": { "type": "string", "description": "This field is set to the value of failure reason returned by the processor.\n" }, "responseCode": { "type": "string", "description": "This field is set to the value of response code returned by the processor.\n" }, "sellerProtection": { "type": "object", "properties": { "type": { "type": "string", "description": "The kind of seller protection in force for the transaction. This field is\nreturned only when the protection eligibility value is set to\nELIGIBLE or PARTIALLY_ELIGIBLE.\nPossible values\n- ITEM_NOT_RECEIVED_ELIGIBLE: Sellers are protected\nagainst claims for items not received.\n- UNAUTHORIZED_PAYMENT_ELIGIBLE: Sellers are\nprotected against claims for unauthorized payments.\nOne or both values can be returned.\n" }, "eligibility": { "type": "string", "description": "The level of seller protection in force for the transaction.\nPossible values:\n- `ELIGIBLE`\n- `PARTIALLY_ELIGIBLE`\n- `INELIGIBLE`\n" }, "eligibilityType": { "type": "string", "maxLength": 60, "description": "The kind of seller protection in force for the transaction. This field is returned only when the protection_eligibility property is set to ELIGIBLE or PARTIALLY_ELIGIBLE.\nPossible values:\n- `ITEM_NOT_RECEIVED_ELIGIBLE: Sellers are protected against claims for items not received.`\n- `UNAUTHORIZED_PAYMENT_ELIGIBLE: Sellers are protected against claims for unauthorized payments.`\nOne or both values can be returned.\n" } } }, "avs": { "type": "object", "properties": { "codeRaw": { "type": "string", "maxLength": 10, "description": "AVS result code sent directly from the processor. Returned only when the processor returns this value.\n**Important** Do not use this field to evaluate the result of AVS. Use for debugging purposes only.\n\nReturned by authorization service.\n" } } } } }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" }, "paymentInformation": { "type": "object", "properties": { "paymentType": { "type": "object", "properties": { "method": { "type": "object", "properties": { "type": { "type": "string", "description": "The payment channel that facilitates the transactions. This parameter can be used if the payment channels are listed on the merchant's site, and the payment channel is known.\n\nPossible Values:\n\n#### Via PPRO\n- `alfaVa`\n- `kredivo`\n- `consumerBarCode`\n- `merchantQrCode`\n- `dokuWallet`\n" } } } } }, "customer": { "type": "object", "properties": { "customerId": { "type": "string", "description": "Unique identifier for the customer's card and billing information.\n\nWhen you use Payment Tokenization or Recurring Billing and you include this value in\nyour request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n\n**NOTE** When you use Payment Tokenization or Recurring Billing, the value for the Customer ID is actually the Cybersource payment token for a customer. This token stores information such as the consumer's card number so it can be applied towards bill payments, recurring payments, or one-time payments. By using this token in a payment API request, the merchant doesn't need to pass in data such as the card number or expiration date in the request itself.\n\nFor details, see the `subscription_id` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" } } }, "bank": { "type": "object", "properties": { "account": { "type": "object", "properties": { "ibanSuffix": { "type": "string", "description": "The description for this field is not available." } } } } } } }, "orderInformation": { "type": "object", "properties": { "billTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called _CyberSource Latin American Processing_. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### RBS WorldPay Atlanta\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "nameSuffix": { "type": "string", "maxLength": 60, "description": "Customer's name suffix.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### SEPA/BACS\nRequired for Create Mandate and Import Mandate\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\nFor processor-specific information, see the `customer_email` request-level field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "verificationStatus": { "type": "string", "description": "Whether buyer has verified their identity. Used in case of PayPal transactions.\n\nPossible Values:\n* VERIFIED\n* UNVERIFIED\n" } } }, "shipTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "First name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Last name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Second line of the shipping address.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "City of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S. or\nCanada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", "maxLength": 2 }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Phone number associated with the shipping address." } } } } }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" } } } } } }, "400": { "description": "Invalid request.", "schema": { "type": "object", "title": "ptsV2PaymentsPost400Response", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_CARD\n - CARD_TYPE_NOT_ACCEPTED\n - INVALID_MERCHANT_CONFIGURATION\n - PROCESSOR_UNAVAILABLE\n - INVALID_AMOUNT\n - INVALID_CARD_TYPE\n - INVALID_PAYMENT_ID\n - NOT_SUPPORTED\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" } } } } } } }, "502": { "description": "Unexpected system error or system timeout.", "schema": { "title": "ptsV2PaymentsPost502Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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." } } } } } } }, "/pts/v2/billing-agreements": { "post": { "summary": "Create a Billing Agreement", "description": "#### Standing Instruction:\nStanding Instruction with or without Token. Transaction amount in case First payment is coming along with registration. Only 2 decimal places allowed\n\n#### Create Mandate:\nYou can create a mandate through the direct debit mandate flow.\nPossible create mandate status values:\n - Pending\u2014the create mandate request was successfully processed.\n - Failed\u2014the create mandate request was not accepted.\n\n#### Import Mandate:\nIn the Bacs scheme, a mandate is created with a status of active. Direct debit collections can be made against it immediately.\nYou can import a mandate to the CyberSource database when:\n - You have existing customers with signed, active mandates\n - You manage mandates outside of CyberSource.\n\nWhen you import an existing mandate to the CyberSource database, provide a unique value for the mandate ID or the request results in an error.\nIf an import mandate request is not accepted, the import mandate status value is failed.\n", "tags": [ "billingAgreements" ], "operationId": "billingAgreementsRegistration", "x-devcenter-metaData": { "categoryTag": "Payments", "developerGuides": "https://developer.cybersource.com/api/developer-guides/dita-payments/GettingStarted.html" }, "parameters": [ { "name": "createBillingAgreement", "in": "body", "required": true, "schema": { "type": "object", "properties": { "agreementInformation": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 50, "description": "Identifier for the mandate.\n#### SEPA/BACS\nRequired for mandates services\n" }, "dateSigned": { "type": "string", "description": "Date the mandate has been signed. Format YYYYMMdd\n#### SEPA/BACS\nRequired for Import Mandate\n", "maxLength": 8 } } }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n\n#### SEPA/BACS\nRequired for mandates services\n#### Paypal\nRequired for billing agreements\n\n\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" }, "pausedRequestId": { "type": "string", "maxLength": 26, "description": "Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call.\n" }, "transactionId": { "type": "string", "maxLength": 30, "description": "Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request.\n\n**Note** Use this field only if you want to support merchant-initiated reversal and void operations.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, and Void**\nOptional field.\n\n#### PIN Debit\nFor a PIN debit reversal, your request must include a request ID or a merchant transaction identifier.\nOptional field for PIN debit purchase or credit requests.\n" }, "comments": { "type": "string", "description": "Comments" }, "partner": { "type": "object", "properties": { "originalTransactionId": { "type": "string", "maxLength": 32, "description": "Value that links the previous transaction to the current follow-on request. This value is assigned by the client\nsoftware that is installed on the POS terminal, which makes it available to the terminal's software and to\nCyberSource. Therefore, you can use this value to reconcile transactions between CyberSource and the terminal's\nsoftware.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" }, "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" }, "thirdPartyCertificationNumber": { "type": "string", "maxLength": 12, "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" } } }, "applicationName": { "type": "string", "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" }, "applicationVersion": { "type": "string", "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "applicationUser": { "type": "string", "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" } } }, "aggregatorInformation": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 37, "description": "Your payment aggregator business name.\n\n**American Express Direct**\\\nThe maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters.\\\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n\nFor processor-specific information, see the aggregator_name field in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "subMerchant": { "type": "object", "properties": { "cardAcceptorId": { "type": "string", "maxLength": 15, "description": "Unique identifier assigned by the payment card company to the sub-merchant." }, "id": { "type": "string", "maxLength": 20, "description": "The ID you assigned to your sub-merchant.\nCyberSource through VisaNet: For American Express transaction, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 65-84\n- Field: American Express Seller ID\nFor Mastercard transactions, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 117-131\n- Field: Sub-Merchant ID\nFDC Compass: This value must consist of uppercase characters.\n\nAmerican Express Direct: String (20)\nCyberSource through VisaNet with American Express: String (20)\nCyberSource through VisaNet with Visa,Mastercard and Discover: String (15)\nFDC Compass: String (20)\nFDC Nashville Global: String (14)\n" }, "name": { "type": "string", "maxLength": 37, "description": "Sub-merchant's business name.\n\n#### American Express Direct\nThe maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters.\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n\n#### FDC Nashville Global\nWith Mastercard, the maximum length of the sub-merchant name depends on the length of the aggregator name:\n- If aggregator name length is 1 through 3, maximum sub-merchant name length is 21.\n- If aggregator name length is 4 through 7, maximum sub-merchant name length is 17.\n- If aggregator name length is 8 through 12, maximum sub-merchant name length is 12.\n" }, "address1": { "type": "string", "maxLength": 38, "description": "First line of the sub-merchant's street address.\n\nFor processor-specific details, see `submerchant_street` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "locality": { "type": "string", "maxLength": 21, "description": "Sub-merchant's city.\n\nFor processor-specific details, see `submerchant_city` request field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "administrativeArea": { "type": "string", "maxLength": 3, "description": "Sub-merchant's state or province.\n\nFor possible values and also aggregator support, see `submerchant_state` request field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "region": { "type": "string", "maxLength": 3, "description": "Sub-merchant's region.\n\n**Example**\\\n`NE` indicates that the sub-merchant is in the northeast region.\n\nFor processor-specific details, see `submerchant_region` request field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "postalCode": { "type": "string", "maxLength": 15, "description": "Partial postal code for the sub-merchant's address.\n\nFor processor-specific details, see `submerchant_postal_code` request field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "country": { "type": "string", "maxLength": 3, "description": "Sub-merchant's country. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n\nFor details, see the `submerchant_country` request-level field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "email": { "type": "string", "maxLength": 40, "description": "Sub-merchant's email address.\n\n**Maximum length for processors**\n\n - American Express Direct: 40\n - CyberSource through VisaNet: 40\n - FDC Compass: 40\n - FDC Nashville Global: 19\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 25-64\n- Field: American Express Seller E-mail Address\n\n**Note** The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" }, "phoneNumber": { "type": "string", "maxLength": 20, "description": "Sub-merchant's telephone number.\n\n**Maximum length for procesors**\n\n - American Express Direct: 20\n - CyberSource through VisaNet: 20\n - FDC Compass: 13\n - FDC Nashville Global: 10\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCRB\n- Position: 5-24\n- Field: American Express Seller Telephone Number\n\n**FDC Compass**\\\nThis value must consist of uppercase characters. Use one of these recommended formats:\\\n`NNN-NNN-NNNN`\\\n`NNN-AAAAAAA`\n" } } } } }, "consumerAuthenticationInformation": { "type": "object", "properties": { "authenticationTransactionContextId": { "type": "string", "maxLength": 30, "description": "Payer authentication transaction identifier passed to link the validation and authorization calls.\n" }, "cavv": { "type": "string", "maxLength": 255, "description": "Unique identifier generated by the card-issuing bank for Visa, American Express, JCB, Diners Club, and\nDiscover transactions after the customer is authenticated. The value is in base64. When you\nrequest the card authorization service, CyberSource automatically converts the value, not the field name,\nto the format required by your payment processor.\n" }, "transactionToken": { "type": "string", "maxLength": 256, "description": "Web based token used to authenticate consumer with Rupay authentication provider.\n" }, "xid": { "type": "string", "description": "Transaction identifier generated by CyberSource for successful enrollment or validation checks.\nUse this value, which is in base64, to match an outgoing PAReq with an incoming PARes.\nCyberSource forwards the XID with the card authorization service to these payment processors in these cases:\n- Barclays\n- Streamline (when the **ecommerceIndicator**`=spa`)\n" } } }, "deviceInformation": { "type": "object", "properties": { "httpAcceptBrowserValue": { "type": "string", "maxLength": 255, "description": "Value of the Accept header sent by the customer's web browser.\n**Note** If the customer's browser provides a value, you must include it in your request.\n" }, "ipAddress": { "type": "string", "maxLength": 45, "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" }, "userAgentBrowserValue": { "type": "string", "maxLength": 255, "description": "Value of the User-Agent header sent by the customer's web browser.\nNote If the customer's browser provides a value, you must include it in your request.\n" } } }, "installmentInformation": { "type": "object", "properties": { "alertPreference": { "type": "string", "maxLength": 5, "description": "Applicable only for SI. Required in case the authentication is initiated for SI registration.\nValid Values:\n- `SMS`\n- `EMAIL`\n- `BOTH`\n" }, "firstInstallmentDate": { "type": "string", "maxLength": 6, "description": "Date of the first installment payment. Format: YYMMDD. When you do not include this field, CyberSource sends a string of six zeros (000000) to the processor.\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThis field is supported only for Crediario installment payments in Brazil on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR9\n- Position: 42-47\n- Field: Date of First Installment\n" }, "identifier": { "type": "string", "maximum": 60, "description": "Standing Instruction/Installment identifier.\n" }, "lastInstallmentDate": { "type": "string", "maxLength": 8, "description": "End date of the SI transactions.\nCannot be later than card expiry date. Ideally this can be set to expiry date.\nRequired in case the authentication is initiated for SI registration.\n" }, "maxAmount": { "type": "string", "maxLength": 12, "description": "Maximum Amount for which SI can be initiated.\nRequired in case the authentication is initiated for SI registration.\n" }, "minAmount": { "type": "string", "maxLength": 12, "description": "Minimum Amount for which SI can be initiated.\nRequired in case the authentication is initiated for SI registration.\n" }, "paymentType": { "type": "string", "maxLength": 1, "description": "Payment plan for the installments.\n\nPossible values:\n- 0 (default): Regular installment. This value is not allowed for airline transactions.\n- 1: Installment payment with down payment.\n- 2: Installment payment without down payment. This value is supported only for airline transactions.\n- 3: Installment payment; down payment and boarding fee will follow. This value is supported only for airline transactions.\n- 4: Down payment only; regular installment payment will follow.\n- 5: Boarding fee only. This value is supported only for airline transactions.\n\nThis field is supported only for installment payments with Visa on CyberSource through VisaNet in Brazil.\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR1\n- Position: 9\n- Field: Merchant Installment Supporting Information\n" }, "preferredDay": { "type": "string", "maxLength": 2, "description": "Preferred date for initiating the SI transaction every month.\nThis field need not be sent in case the SI has to be initiated as and when required, e.g., topping up the wallet, etc.\n" }, "sequence": { "type": "integer", "maximum": 99, "description": "Installment number when making payments in installments. Used along with `totalCount` to track which payment is being processed.\n\nFor example, the second of 5 payments would be passed to CyberSource as `sequence` = 2 and `totalCount` = 5.\n\nFor details, see \"Installment Payments\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Chase Paymentech Solutions and FDC Compass\nThis field is optional because this value is required in the merchant descriptors.\nFor details, see \"Chase Paymentech Solutions Merchant Descriptors\" and \"FDC Compass Merchant Descriptors\" in the [Merchant Descriptors Using the SCMP API]\n(https://apps.cybersource.com/library/documentation/dev_guides/Merchant_Descriptors_SCMP_API/html/)\n\n#### CyberSource through VisaNet\nWhen you do not include this field in a request for a Crediario installment payment, CyberSource sends a value of 0 to the processor.\n\nFor Crediario installment payments, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP01 TCR9\n- Position: 38-40\n- Field: Installment Payment Number\n\n* The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "postalCode": { "type": "string", "maxLength": 14, "description": "Merchant's postal code.\n\n#### PIN debit\nPostal code for your business location. This value might be displayed on the cardholder's statement.\n\nIf your business is domiciled in the U.S., you can use a 5-digit or 9-digit postal code. A 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\nExample: `12345-6789`\n\nIf your business is domiciled in Canada, you can use a 6-digit or 9-digit postal code. A 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space]\n[numeric][alpha][numeric]\nExample: `A1B 2C3`\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n**Important** Mastercard requires a postal code for any country that uses postal codes.\nYou can provide the postal code in your account or you can include this field in your request.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "contact": { "type": "string", "maxLength": 14, "description": "For the descriptions, used-by information, data types, and lengths for these fields, see `merchant_descriptor_contact` field description\nin [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)-->\nContact information for the merchant.\n\n**Note** These are the maximum data lengths for the following payment processors:\n- FDCCompass (13)\n- Paymentech (13)\n" }, "locality": { "type": "string", "maxLength": 13, "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" }, "name": { "type": "string", "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" } } }, "categoryCode": { "type": "integer", "maximum": 9999, "description": "The value for this field is a four-digit number that the payment card industry uses to classify\nmerchants into market segments. A payment card company assigned one or more of these values to your business when you started\naccepting the payment card company's cards. When you do not include this field in your request, CyberSource uses the value in your\nCyberSource account.\n\nFor processor-specific information, see the `merchant_category_code` field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR4\n- Position: 150-153\n- Field: Merchant Category Code\n" }, "administrativeArea": { "type": "string", "description": "The state where the merchant is located.\n\n#### PIN debit\nState code or region code for your business. Use the Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "transactionLocalDateTime": { "type": "string", "maxLength": 14, "description": "Date and time at your physical location.\n\nFormat: `YYYYMMDDhhmmss`, where:\n - `YYYY` = year\n - `MM` = month\n - `DD` = day\n - `hh` = hour\n - `mm` = minutes\n - `ss` = seconds\n\n#### Used by\n**Authorization**\nRequired for these processors:\n- American Express Direct - American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- SIX\n\nOptional for all other processors.\n" }, "cancelUrl": { "type": "string", "maxLength": 255, "description": "URL to which the customer is directed if they fail to sign the mandate.\n#### SEPA\nRequired for Create Mandate and Update Mandate\n#### BACS\nRequired for Create Mandate\n" }, "successUrl": { "type": "string", "maxLength": 255, "description": "URL to which the customer is directed if they fail to sign the mandate.\n#### SEPA\nRequired for Create Mandate and Update Mandate\n#### BACS\nRequired for Create Mandate\n" }, "failureUrl": { "type": "string", "maxLength": 255, "description": "URL to which the customer is directed if they fail to sign the mandate.\n#### SEPA\nRequired for Create Mandate and Update Mandate\n#### BACS\nRequired for Create Mandate\n" } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. For details, see:\n- \"Authorization Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Capture Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Credit Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\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. For details, see \"Zero Amount Authorizations,\" \"Credit Information for Specific Processors\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\nRequired for creating a new invoice.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. For details, see `grand_total_amount` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in \"Authorization Information for Specific Processors\" of the [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" } } }, "billTo": { "type": "object", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n" }, "administrativeArea": { "type": "string", "maxLength": 50, "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n" }, "buildingNumber": { "type": "string", "maxLength": 256, "description": "Building number in the street address.\n\nFor example, if the street address is:\nRua da Quitanda 187\nthen the building number is 187.\n\nThis field is supported only for:\n - Cielo transactions.\n - Redecard customer validation with CyberSource Latin American Processing.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Company's Name, e.g. VISA" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### SEPA/BACS\nRequired for Create Mandate and Import Mandate\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "county": { "type": "string", "maxLength": 50, "description": "U.S. county if available." }, "district": { "type": "string", "maxLength": 50, "description": "Customer's neighborhood, community, or region\nwithin the city or municipality. \n#### SEPA/BACS\nWhen you include this field in a request, the value for this field must\nbe the same as the value for the billTo_state field.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\nFor processor-specific information, see the `customer_email` request-level field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called _CyberSource Latin American Processing_. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "middleName": { "type": "string", "maxLength": 60, "description": "Customer's middle name.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### RBS WorldPay Atlanta\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n\nIt is recommended that you include the country code when the order is from outside the U.S.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nOptional field.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" }, "title": { "type": "string" } } } } }, "paymentInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nValid values: `01` through `12`. Leading 0 is required.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value\n(`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is\nin the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause\nthe issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (_type_=039), if there is no expiration date on the card, use `12`.\n\n#### FDMS Nashville\nRequired field.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the payment card expires.\n\nFormat: `YYYY`.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`1900` through `3000`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (**_type_**`=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDMS Nashville\nRequired field.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. If you send in 2 digits, they must be the last 2 digits of the year.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "number": { "type": "string", "maxLength": 20, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n\n#### FDMS Nashville\nRequired. String (19)\n\n#### GPX\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Number.\n\n#### FDMS Nashville\nRequired for American Express or if swiped; otherwise, optional.\n\n#### Ingenico ePayments\nDo not include this field when `commerceIndicator=recurring`.\n**Note** Ingenico ePayments was previously called _Global Collect_.\n\n#### TSYS Acquiring Solutions\nOptional if pointOfSaleInformation.entryMode=keyed; otherwise, not used.\n\n#### GPX\nOptional.\n\n#### All other processors:\nOptional.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `014`: Enroute[^1]\n- `021`: JAL[^1]\n- `024`: Maestro (UK Domestic)[^1]\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `042`: Maestro (International)[^1]\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `054`: Elo[^3]\n- `062`: China UnionPay\n- '070': EFTPOS\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" } } }, "tokenizedCard": { "type": "object", "properties": { "cryptogram": { "type": "string", "maxLength": 255, "description": "This field contains token information." }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "One of two possible meanings:\n- The two-digit month in which a token expires.\n- The two-digit month in which a card expires.\nFormat: `MM`\nPossible values: `01` through `12`\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_type=039`), if there is no expiration date on the card, use `12`.\\\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Samsung Pay and Apple Pay\nMonth in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\nFor processor-specific information, see the `customer_cc_expmo` field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n\nFor processor-specific information, see the `customer_cc_expyr` or `token_expiration_year` field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "number": { "type": "string", "maxLength": 20, "description": "Customer's payment network token value.\n" }, "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it specifies the entity that\nprovided you with information about the token.\n\nPossible value:\n- `2`: Near-field communication (NFC) transaction. The customer's mobile device provided the token data for a contactless EMV transaction. For recurring\ntransactions, use this value if the original transaction was a contactless EMV transaction.\n\n#### Visa Platform Connect\n- `1`: For Rupay and In App tokenization. Example: InApp apple pay.\n- `3`: Card/Credential On File Tokenization.\n\n**NOTE** No CyberSource through VisaNet acquirers support EMV at this time.\n\nRequired field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.\n\n#### Rupay\n- `3`: Card/Credential On File Tokenization.\n- `4`: Tokenizined Transaction. Should be used for Guest Checkout transactions with token.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `014`: Enroute[^1]\n- `021`: JAL[^1]\n- `024`: Maestro (UK Domestic)[^1]\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `042`: Maestro (International)[^1]\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `054`: Elo[^3]\n- `062`: China UnionPay\n- '070': EFTPOS\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" } } }, "paymentType": { "type": "object", "properties": { "method": { "type": "object", "properties": { "name": { "type": "string", "description": "Identifier for the payment type.\nPossible Values: \n - SENTENIAL\n - PAYPAL\n#### SEPA/BACS\nRequired for mandates services\n#### Paypal\nRequired for billing agreements\n" } } }, "name": { "type": "string", "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `EWALLET`\n- `directDebitSepa`\n- `directDebitBacs`\n#### SEPA/BACS\nRequired for mandates services\n#### Paypal\nRequired for billing agreements\n" } } }, "bank": { "type": "object", "properties": { "account": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 30, "description": "Customer's bank account number.\n#### BACS\nRequired for Create Mandate, Import Mandate, and Update Mandate\n" } } }, "iban": { "type": "string", "maxLength": 34, "description": "International Bank Account Number (IBAN).\n#### SEPA\nRequired for mandates services\n" }, "swiftCode": { "type": "string", "maxLength": 20, "description": "Bank's SWIFT code. You can use this field only when scoring a direct debit transaction.\n#### BACS\nRequired for mandates services\n" }, "scheme": { "type": "string", "maxLength": 25, "description": "The scheme that sets the rules for the direct\ndebit process. Possible values:\n - SEPA\n - BACS\n#### SEPA/BACS\nRequired for mandates services\n" } } } } }, "processingInformation": { "type": "object", "properties": { "commerceIndicator": { "type": "string", "maxLength": 20, "description": "Type of transaction. Used to determine fees based on channel.\n\nPossible values:\n\n - aesk: American Express SafeKey authentication was successful.\n - aesk_attempted: American Express SafeKey authentication was attempted but did not succeed. \u2022 install: Installment payment.\n - install_internet: Non-U.S. e-commerce (Internet) installment payment. This value is supported only on Visa Platform Connect.\n - internet (default for authorizations): E-commerce order placed using a web site.\n - js: JCB J/Secure authentication was successful.\n - js_attempted: JCB J/Secure authentication was attempted but did not succeed.\n - moto: Mail order or telephone order.\n - moto_cc: Mail order or telephone order from a call center. This value is supported only on the Asia, Middle East, and Africa Gateway.\n - pb: ProtectBuy authentication was successful.\n - pb_attempted: ProtectBuy authentication was attempted but did not succeed.\n - recurring: Recurring payment that is a U.S. transaction or non-U.S. mail order / telephone order (MOTO) transaction.\n - recurring_internet: Recurring payment that is a non-U.S. e-commerce (Internet) transaction.\n - retail: Card-present transaction.\n - spa: For Mastercard Identity Check: Authentication was successful or was attempted but did not succeed. The e-commerce indicator for all Mastercard Identity Check transactions, including authentication attempts, must be set to spa.\n - spa_attempted: Authentication for a co-badged Mastercard and Cartes Bancaires card was attempted but did not succeed.\n - spa_failure: \u2013 For Mastercard Identity Check: Authentication failed. This value is supported only on Elavon, HSBC, and Streamline.\n - vbv: \u2013 For Visa Secure: Authentication was successful.\n - vbv_attempted: \u2013 For Visa Secure: Authentication was attempted but did not succeed.\n - vbv_failure: \u2013 For Visa Secure: Authentication failed. This value is supported only on HSBC and Streamline.\n" }, "actionList": { "type": "array", "description": "- Use `CONSUMER_AUTHENTICATION` to use Payer Authentication along with Decision Manager. For any other value, only Decision Manager will run.\n- Use `WATCHLIST_SCREENING` when you want to call Watchlist Screening service.\n- Use `UPDATE_AGREEMENT`\n- Use `BILLING_AGREEMENT_CREATE` when Alternative Payment create mandate service is requested\n- Use `CANCEL_AGREEMENT`\n- Use `AP_IMPORT_AGREEMENT` when Alternative Payment import mandate service is requested.\n", "items": { "type": "string" } } } }, "buyerInformation": { "type": "object", "properties": { "merchantCustomerId": { "type": "string", "maxLength": 100, "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### SEPA/BACS\nRequired for Create Mandate and Import Mandate\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n\nFor processor-specific information, see the `customer_account_id` field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "dateOfBirth": { "type": "string", "maxLength": 8, "description": "Recipient's date of birth. **Format**: `YYYYMMDD`.\n\nThis field is a `pass-through`, which means that CyberSource ensures that the value is eight numeric characters\nbut otherwise does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n\nFor more details, see `recipient_date_of_birth` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "gender": { "type": "string", "maxLength": 1, "description": "Customer's gender. Possible values are F (female), M (male), O (other)." }, "language": { "type": "string", "maxLength": 5, "description": "language setting of the user" } } } }, "example": { "agreementInformation": { "id": "G8UD2OKG49UW", "dateSigned": "20181109" }, "clientReferenceInformation": { "code": "TC84105-1" }, "buyerInformation": { "merchantCustomerId": "123456", "dateOfBirth": "19990101", "gender": "F", "language": "en" }, "deviceInformation": { "httpAcceptBrowserValue": "http", "userAgentBrowserValue": "safari", "ipAddress": "10.10.10.10" }, "consumerAuthenticationInformation": { "transactionFlowIndicator": "2" }, "processingInformation": { "commerceIndicator": "rpy", "actionList": [ "CONSUMER_AUTHENTICATION" ] }, "aggregatorInformation": { "subMerchant": { "name": "rupay" }, "name": "aggregatorname" }, "orderInformation": { "billTo": { "country": "IN", "firstName": "Krishna", "middleName": "Foster", "lastName": "CYBS", "phoneNumber": "9999999999", "address1": "201 S. Division St.", "address2": "Suite A101", "district": "BLR", "county": "San Francisco", "postalCode": "560048", "locality": "NPCI", "company": "Visa", "administrativeArea": "MI", "email": "test@cybs.com", "title": "Senior Buyer" }, "amountDetails": { "totalAmount": "0.00", "currency": "INR" } }, "merchantInformation": { "cancelUrl": "https://www.valid.merchant.redirect.url.from.request.html?actioncancel", "successUrl": "https://www.valid.merchant.redirect.url.from.request.html?actionsuccess", "failureUrl": "https://www.valid.merchant.redirect.url.from.request.html?actionfailure", "transactionLocalDateTime": "20211216124549", "categoryCode": "1234", "merchantDescriptor": { "country": "IN", "contact": "1234567890", "postalCode": "213213", "locality": "local", "administrativeArea": "TN" } }, "paymentInformation": { "paymentType": { "method": { "name": "SENTENIAL" }, "name": "directDebitBacs" }, "bank": { "account": { "number": "1234567890ABCDEFGHIJ0123456789" }, "iban": "NL51ABNC1122334455", "swiftCode": "ABNCNL2AGMK", "scheme": "bacs" }, "card": { "expirationYear": "2031", "number": "6080906188079", "securityCode": "123", "expirationMonth": "12", "type": "061" } }, "installmentInformation": { "minAmount": "10", "sequence": "2", "firstInstallmentDate": "01122023", "alertPreference": "SMS", "lastInstallmentDate": "01012025", "preferredDay": "05", "maxAmount": "100", "totalCount": "24", "frequency": "1", "paymentType": "1" } } } } ], "responses": { "201": { "description": "Successful response.", "schema": { "title": "ptsV2CreateBillingAgreementPost201Response", "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." } } }, "updateAgreement": { "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." } } }, "revokeAgreement": { "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." } } }, "status": { "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.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "maxLength": 15, "description": "The status of the billing agreement.\nPossible value is:\n - PENDING\n - REVOKED\n - ACTIVE\n - FAILED\n - EXPIRED\n - INACTIVE\n" }, "processorInformation": { "type": "object", "properties": { "approvalCode": { "type": "string", "maxLength": 6, "description": "Authorization code. Returned only when the processor returns this value.\n\nThe length of this value depends on your processor.\n\nReturned by authorization service.\n\n#### PIN debit\nAuthorization code that is returned by the processor.\n\nReturned by PIN debit credit.\n\n#### Elavon Encrypted Account Number Program\nThe returned value is OFFLINE.\n\n#### TSYS Acquiring Solutions\nThe returned value for a successful zero amount authorization is 000000.\n" }, "responseCode": { "type": "string", "maxLength": 10, "description": "For most processors, this is the error message sent directly from the bank. Returned only when the processor\nreturns this value.\n\n**Important** Do not use this field to evaluate the result of the authorization.\n#### SEPA/BACS\nResponse code from the processor. Possible values: 00000\u201399999. See Appendix C,\n\"Reason Codes and Processor Response\nCodes,\" on page 42.\n\n#### PIN debit\nResponse value that is returned by the processor or bank.\n**Important** Do not use this field to evaluate the results of the transaction request.\n\nReturned by PIN debit credit, PIN debit purchase, and PIN debit reversal.\n\n#### AIBMS\nIf this value is `08`, you can accept the transaction if the customer provides you with identification.\n\n#### Atos\nThis value is the response code sent from Atos and it might also include the response code from the bank.\nFormat: `aa,bb` with the two values separated by a comma and where:\n- `aa` is the two-digit error message from Atos.\n- `bb` is the optional two-digit error message from the bank.\n\n#### Comercio Latino\nThis value is the status code and the error or response code received from the processor separated by a colon.\nFormat: [status code]:E[error code] or [status code]:R[response code]\nExample `2:R06`\n\n#### JCN Gateway\nProcessor-defined detail error code. The associated response category code is in the `processorInformation.responseCategoryCode` field.\nString (3)\n" }, "transactionId": { "type": "string", "maxLength": 255, "description": "Transaction ID assigned by the processor.\n" }, "responseDetails": { "type": "string", "maxLength": 60, "description": "Response code indicating that creating the agreement failed\n" }, "reasonCode": { "type": "string", "maxLength": 5, "description": "Numeric value corresponding to the result of the request.\n" } } }, "installmentInformation": { "type": "object", "properties": { "identifier": { "type": "string", "maxLength": 100, "description": "Identifier\n" } } }, "agreementInformation": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 50, "description": "Identifier for the mandate.\n" }, "dateSigned": { "type": "string", "description": "Date the mandate has been signed. Format YYYYMMdd", "maxLength": 8 }, "dateCreated": { "type": "string", "description": "Date the mandate has been created. Format YYYYMMdd", "maxLength": 8 }, "encodedHtml": { "type": "string", "description": "Base64 encoded html string" }, "encodedHtmlPopup": { "type": "string", "description": "Base64 encoded popup html string" }, "url": { "type": "string", "maxLength": 2048, "description": "URL for redirecting the customer for creating\nthe mandate.\n" } } }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each transaction so that you can perform meaningful searches for the transaction.\n" } } }, "riskInformation": { "type": "object", "properties": { "processorResults": { "type": "object", "properties": { "riskScore": { "type": "string", "maxLength": 25, "description": "Risk score returned by the processor. Possible\nvalues of 0-10. A value of 10 indicates a high risk.\n" } } } } }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" } }, "example": { "_links": { "self": { "href": "GET", "method": "/pts/v2/billing-agreements" }, "updateAgreement": { "href": "PATCH", "method": "/pts/v2/billing-agreements/6891011351636003303961" }, "revokeAgreement": { "href": "PATCH", "method": "/pts/v2/billing-agreements/6891011351636003303961" }, "status": { "href": "PATCH", "method": "/pts/v2/billing-agreements/6891011351636003303961" } }, "id": "6853506446826005503878", "installmentInformation": { "identifier": "1000000000" }, "processorInformation": { "approvalCode": "888888", "responseCode": "00", "transactionId": "2016011808153910011808153910TR", "responseDetails": "00001", "reasonCode": "100" }, "status": "SUCCESS", "submitTimeUtc": "2023-05-29T08:57:25Z", "agreementInformation": { "id": "G8UD2OKG49UW", "dateSigned": "20181109", "dateCreated": "20181009", "encodedHtml": "PGh0bWw+DQo8Ym9keT4NCiANCjxwPjxiPlRoaXMgdGV4dCBpcyBib2xkPC9iPjwvcD4NCjxwPjxpPlRoaXMgdGV4dCBpcyBpdGFsaWM8L2k+PC9wPg0KPHA+VGhpcyBpczxzdWI+IHN1YnNjcmlwdDwvc3ViPiBhbmQgPHN1cD5zdXBlcnNjcmlwdDwvc3VwPjwvcD4NCiANCjwvYm9keT4NCjwvaHRtbD4NCg==", "encodedHtmlPopup": "PGh0bWw+DQo8Ym9keT4NCiANCjxwPjxiPlRoaXMgdGV4dCBpcyBib2xkPC9iPjwvcD4NCjxwPjxpPlRoaXMgdGV4dCBpcyBpdGFsaWM8L2k+PC9wPg0KPHA+VGhpcyBpczxzdWI+IHN1YnNjcmlwdDwvc3ViPiBhbmQgPHN1cD5zdXBlcnNjcmlwdDwvc3VwPjwvcD4NCiANCjwvYm9keT4NCjwvaHRtbD4NCg==", "url": "https://merchant.redirect.com/url.do?param_utf=%27%22%3C%3E%20%E6%B8%AC%E8%A9%A6%E6%B8%AC¶m_url=https%3A%2F%2Fwww.abc.com¶m_special=+@#%~_&sign=fdaa1df42b6260a10e2e3f1c0fc87862" }, "clientReferenceInformation": { "code": "TC84170-1" }, "riskInformation": { "processorResults": { "riskScore": "3" } }, "reconciliationId": "39570715X3E1LBQA" } } }, "400": { "description": "Invalid request.", "schema": { "title": "ptsV2CreateBillingAgreementPost400Response", "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "An unique identification number generated by Cybersource to identify the submitted request. Returned by all services.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "maxLength": 20, "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_MERCHANT_CONFIGURATION\n - PROCESSOR_UNAVAILABLE\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" } } } } }, "example": { "id": "6981713080281234567890", "submitTimeUtc": "2023-11-28T14:12:01Z", "status": "INVALID_REQUEST", "reason": "INVALID_DATA", "message": "One or more fields in the request contains invalid data.", "details": [ { "field": "clientReferenceInformation.code", "reason": "INVALID_DATA" } ] } } }, "502": { "description": "Unexpected system error or system timeout.", "schema": { "title": "ptsV2CreateBillingAgreementPost502Response", "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "An unique identification number generated by Cybersource to identify the submitted request. Returned by all services.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "maxLength": 20, "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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." } }, "example": { "id": "6981713080281234567890", "submitTimeUtc": "2023-11-28T14:12:01Z", "status": "SERVER_ERROR", "reason": "SYSTEM_ERROR", "message": "General system failure." } } } }, "x-example": { "example0": { "summary": "Standing Instruction Completion Amount = 0", "sample-name": "Standing Instruction Completion", "value": { "deviceInformation": { "httpAcceptBrowserValue": "http", "userAgentBrowserValue": "safari", "ipAddress": "10.10.10.10" }, "consumerAuthenticationInformation": { "authenticationTransactionContextId": "100000000000000000000000025253", "transactionToken": "AxjzbwSTcz9aHyOIL490/949UafAxfvksgAxHXa2/+xcVZ0CtA+AbkvF" }, "processingInformation": { "commerceIndicator": "rpy" }, "aggregatorInformation": { "subMerchant": { "name": "rupay" }, "name": "aggregatorname" }, "orderInformation": { "amountDetails": { "totalAmount": "00.00", "currency": "INR" } }, "paymentInformation": { "card": { "expirationYear": "2031", "number": "5082302886091", "securityCode": "123", "expirationMonth": "12", "type": "061" } }, "installmentInformation": { "paymentType": "1" } } }, "example1": { "summary": "Standing Instruction Completion Tokenized", "sample-name": "Standing Instruction Completion", "value": { "deviceInformation": { "httpAcceptBrowserValue": "http", "userAgentBrowserValue": "safari", "ipAddress": "10.10.10.10" }, "consumerAuthenticationInformation": { "authenticationTransactionContextId": "100000000000000000000000025253", "transactionToken": "AxjzbwSTcz9aHyOIL490/949UafAxfvksgAxHXa2/+xcVZ0CtA+AbkvF" }, "processingInformation": { "commerceIndicator": "rpy", "actionList": [ "BILLING_AGREEMENT_CREATE" ] }, "aggregatorInformation": { "subMerchant": { "name": "rupay" }, "name": "aggregatorname" }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "INR" } }, "paymentInformation": { "tokenizedCard": { "cryptogram": "abcdefgh", "expirationYear": "2031", "number": "5082794233463", "expirationMonth": "12", "type": "061", "transactionType": "1" } }, "installmentInformation": { "paymentType": "1" } } }, "example2": { "summary": "Redirectional Standing Instruction Completion Amount = 0", "sample-name": "S2S Standing Instruction Completion", "value": { "deviceInformation": { "httpAcceptBrowserValue": "http", "userAgentBrowserValue": "safari", "ipAddress": "10.10.10.10" }, "consumerAuthenticationInformation": { "cavv": "MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI1MjM2", "xid": "OTE0OTE2MzI5MzE1MDUyOTU4Mjc=" }, "processingInformation": { "commerceIndicator": "rpy" }, "aggregatorInformation": { "subMerchant": { "name": "rupay" }, "name": "aggregatorname" }, "orderInformation": { "amountDetails": { "totalAmount": "00.00", "currency": "INR" } }, "paymentInformation": { "card": { "expirationYear": "2026", "number": "50823043205909", "securityCode": "123", "expirationMonth": "08", "type": "061" } }, "installmentInformation": { "paymentType": "1" } } } } } }, "/pts/v2/billing-agreements/{id}": { "patch": { "summary": "Modify a Billing Agreement", "description": "#### Standing Instruction:\nStanding Instruction with or without Token.\n\n#### Revoke Mandate:\nWhen you revoke a mandate, any pending direct debits linked to that mandate are canceled. No notifications are sent.\nWhen you revoke a mandate with no pending direct debits, the Bacs scheme or customer's bank notify you of any subsequent direct debit events.\nWhen you revoke a mandate, you cannot send a direct debit request using the mandate ID. Customer payments cannot be made against a revoked mandate.\nYou can revoke a mandate when the customer:\n - Requests that you revoke the mandate.\n - Closes their account with you.\nPossible revoke mandate status values -\n - Revoked\u2014the revoke mandate request was successfully processed.\n - Failed\u2014the revoke mandate request was not accepted.\n\n#### Update Mandate:\nIn most cases, the account details of an existing mandate cannot be updated in the Bacs schema,\nexcept by creating a new mandate. However, some very limited customer information, like name and address,\ncan be updated to the mandate without needing to revoke it first\n\n#### Mandate Status:\nAfter the customer signs the mandate, request that the mandate status service verify the mandate status.\nPossible mandate status values:\n - Active\u2014the mandate is successfully created. A direct debit can be sent for this mandate ID.\n - Pending\u2014a pending mandate means the mandate is not yet signed.\n - Failed\u2014the customer did not authenticate.\n - Expired\u2014the deadline to create the mandate passed.\n - Revoked\u2014the mandate is cancelled.\n\n#### Paypal Billing Agreement: \nA billing agreement is set up between PayPal and your customer.\nWhen you collect the details of a customer's billing agreement, you are able to bill that customer without requiring an authorization for each payment. \nYou can bill the customer at the same time you process their PayPal Express checkout order, which simplifies your business processes.\n", "tags": [ "billingAgreements" ], "operationId": "billingAgreementsDeRegistration", "x-devcenter-metaData": { "categoryTag": "Payments", "developerGuides": "https://developer.cybersource.com/api/developer-guides/dita-payments/GettingStarted.html" }, "parameters": [ { "name": "modifyBillingAgreement", "in": "body", "required": true, "schema": { "type": "object", "properties": { "agreementInformation": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 50, "description": "Identifier for the mandate.\n#### SEPA/BACS\nRequired for mandates services\n" }, "eSignIndicator": { "type": "string", "maxLength": 1 } } }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n\n#### SEPA/BACS\nRequired for mandates services\n#### Paypal\nRequired for billing agreements\n\n\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" }, "pausedRequestId": { "type": "string", "maxLength": 26, "description": "Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call.\n" }, "transactionId": { "type": "string", "maxLength": 30, "description": "Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request.\n\n**Note** Use this field only if you want to support merchant-initiated reversal and void operations.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, and Void**\nOptional field.\n\n#### PIN Debit\nFor a PIN debit reversal, your request must include a request ID or a merchant transaction identifier.\nOptional field for PIN debit purchase or credit requests.\n" }, "comments": { "type": "string", "description": "Comments" }, "partner": { "type": "object", "properties": { "originalTransactionId": { "type": "string", "maxLength": 32, "description": "Value that links the previous transaction to the current follow-on request. This value is assigned by the client\nsoftware that is installed on the POS terminal, which makes it available to the terminal's software and to\nCyberSource. Therefore, you can use this value to reconcile transactions between CyberSource and the terminal's\nsoftware.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" }, "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" }, "thirdPartyCertificationNumber": { "type": "string", "maxLength": 12, "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" } } }, "applicationName": { "type": "string", "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" }, "applicationVersion": { "type": "string", "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "applicationUser": { "type": "string", "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" } } }, "aggregatorInformation": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 37, "description": "Your payment aggregator business name.\n\n**American Express Direct**\\\nThe maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters.\\\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n**FDC Compass**\\\nThis value must consist of uppercase characters.\n\nFor processor-specific information, see the aggregator_name field in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "subMerchant": { "type": "object", "properties": { "cardAcceptorId": { "type": "string", "maxLength": 15, "description": "Unique identifier assigned by the payment card company to the sub-merchant." }, "id": { "type": "string", "maxLength": 20, "description": "The ID you assigned to your sub-merchant.\nCyberSource through VisaNet: For American Express transaction, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 65-84\n- Field: American Express Seller ID\nFor Mastercard transactions, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR6\n- Position: 117-131\n- Field: Sub-Merchant ID\nFDC Compass: This value must consist of uppercase characters.\n\nAmerican Express Direct: String (20)\nCyberSource through VisaNet with American Express: String (20)\nCyberSource through VisaNet with Visa,Mastercard and Discover: String (15)\nFDC Compass: String (20)\nFDC Nashville Global: String (14)\n" }, "name": { "type": "string", "maxLength": 37, "description": "Sub-merchant's business name.\n\n#### American Express Direct\nThe maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters.\n\n#### CyberSource through VisaNet\nWith American Express, the maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n\n#### FDC Nashville Global\nWith Mastercard, the maximum length of the sub-merchant name depends on the length of the aggregator name:\n- If aggregator name length is 1 through 3, maximum sub-merchant name length is 21.\n- If aggregator name length is 4 through 7, maximum sub-merchant name length is 17.\n- If aggregator name length is 8 through 12, maximum sub-merchant name length is 12.\n" }, "address1": { "type": "string", "maxLength": 38, "description": "First line of the sub-merchant's street address.\n\nFor processor-specific details, see `submerchant_street` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "locality": { "type": "string", "maxLength": 21, "description": "Sub-merchant's city.\n\nFor processor-specific details, see `submerchant_city` request field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "administrativeArea": { "type": "string", "maxLength": 3, "description": "Sub-merchant's state or province.\n\nFor possible values and also aggregator support, see `submerchant_state` request field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "region": { "type": "string", "maxLength": 3, "description": "Sub-merchant's region.\n\n**Example**\\\n`NE` indicates that the sub-merchant is in the northeast region.\n\nFor processor-specific details, see `submerchant_region` request field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "postalCode": { "type": "string", "maxLength": 15, "description": "Partial postal code for the sub-merchant's address.\n\nFor processor-specific details, see `submerchant_postal_code` request field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file5.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n" }, "country": { "type": "string", "maxLength": 3, "description": "Sub-merchant's country. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### CyberSource through VisaNet\nThe value for this field does not map to the TC 33 capture file.\n\n#### FDC Compass\nThis value must consist of uppercase characters.\n\nFor details, see the `submerchant_country` request-level field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "email": { "type": "string", "maxLength": 40, "description": "Sub-merchant's email address.\n\n**Maximum length for processors**\n\n - American Express Direct: 40\n - CyberSource through VisaNet: 40\n - FDC Compass: 40\n - FDC Nashville Global: 19\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCRB\n- Position: 25-64\n- Field: American Express Seller E-mail Address\n\n**Note** The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" }, "phoneNumber": { "type": "string", "maxLength": 20, "description": "Sub-merchant's telephone number.\n\n**Maximum length for procesors**\n\n - American Express Direct: 20\n - CyberSource through VisaNet: 20\n - FDC Compass: 13\n - FDC Nashville Global: 10\n\n#### CyberSource through VisaNet\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCRB\n- Position: 5-24\n- Field: American Express Seller Telephone Number\n\n**FDC Compass**\\\nThis value must consist of uppercase characters. Use one of these recommended formats:\\\n`NNN-NNN-NNNN`\\\n`NNN-AAAAAAA`\n" } } } } }, "consumerAuthenticationInformation": { "type": "object", "properties": { "authenticationTransactionContextId": { "type": "string", "maxLength": 30, "description": "Payer authentication transaction identifier passed to link the validation and authorization calls.\n" }, "cavv": { "type": "string", "maxLength": 255, "description": "Unique identifier generated by the card-issuing bank for Visa, American Express, JCB, Diners Club, and\nDiscover transactions after the customer is authenticated. The value is in base64. When you\nrequest the card authorization service, CyberSource automatically converts the value, not the field name,\nto the format required by your payment processor.\n" }, "transactionToken": { "type": "string", "maxLength": 256, "description": "Web based token used to authenticate consumer with Rupay authentication provider.\n" }, "xid": { "type": "string", "description": "Transaction identifier generated by CyberSource for successful enrollment or validation checks.\nUse this value, which is in base64, to match an outgoing PAReq with an incoming PARes.\nCyberSource forwards the XID with the card authorization service to these payment processors in these cases:\n- Barclays\n- Streamline (when the **ecommerceIndicator**`=spa`)\n" } } }, "deviceInformation": { "type": "object", "properties": { "httpAcceptBrowserValue": { "type": "string", "maxLength": 255, "description": "Value of the Accept header sent by the customer's web browser.\n**Note** If the customer's browser provides a value, you must include it in your request.\n" }, "ipAddress": { "type": "string", "maxLength": 45, "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" }, "userAgentBrowserValue": { "type": "string", "maxLength": 255, "description": "Value of the User-Agent header sent by the customer's web browser.\nNote If the customer's browser provides a value, you must include it in your request.\n" } } }, "installmentInformation": { "type": "object", "properties": { "alertPreference": { "type": "string", "maxLength": 5, "description": "Applicable only for SI. Required in case the authentication is initiated for SI registration.\nValid Values:\n- `SMS`\n- `EMAIL`\n- `BOTH`\n" }, "firstInstallmentDate": { "type": "string", "maxLength": 6, "description": "Date of the first installment payment. Format: YYMMDD. When you do not include this field, CyberSource sends a string of six zeros (000000) to the processor.\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThis field is supported only for Crediario installment payments in Brazil on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR9\n- Position: 42-47\n- Field: Date of First Installment\n" }, "identifier": { "type": "string", "maximum": 60, "description": "Standing Instruction/Installment identifier.\n" }, "lastInstallmentDate": { "type": "string", "maxLength": 8, "description": "End date of the SI transactions.\nCannot be later than card expiry date. Ideally this can be set to expiry date.\nRequired in case the authentication is initiated for SI registration.\n" }, "maxAmount": { "type": "string", "maxLength": 12, "description": "Maximum Amount for which SI can be initiated.\nRequired in case the authentication is initiated for SI registration.\n" }, "minAmount": { "type": "string", "maxLength": 12, "description": "Minimum Amount for which SI can be initiated.\nRequired in case the authentication is initiated for SI registration.\n" }, "paymentType": { "type": "string", "maxLength": 1, "description": "Payment plan for the installments.\n\nPossible values:\n- 0 (default): Regular installment. This value is not allowed for airline transactions.\n- 1: Installment payment with down payment.\n- 2: Installment payment without down payment. This value is supported only for airline transactions.\n- 3: Installment payment; down payment and boarding fee will follow. This value is supported only for airline transactions.\n- 4: Down payment only; regular installment payment will follow.\n- 5: Boarding fee only. This value is supported only for airline transactions.\n\nThis field is supported only for installment payments with Visa on CyberSource through VisaNet in Brazil.\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR1\n- Position: 9\n- Field: Merchant Installment Supporting Information\n" }, "preferredDay": { "type": "string", "maxLength": 2, "description": "Preferred date for initiating the SI transaction every month.\nThis field need not be sent in case the SI has to be initiated as and when required, e.g., topping up the wallet, etc.\n" }, "sequence": { "type": "integer", "maximum": 99, "description": "Installment number when making payments in installments. Used along with `totalCount` to track which payment is being processed.\n\nFor example, the second of 5 payments would be passed to CyberSource as `sequence` = 2 and `totalCount` = 5.\n\nFor details, see \"Installment Payments\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Chase Paymentech Solutions and FDC Compass\nThis field is optional because this value is required in the merchant descriptors.\nFor details, see \"Chase Paymentech Solutions Merchant Descriptors\" and \"FDC Compass Merchant Descriptors\" in the [Merchant Descriptors Using the SCMP API]\n(https://apps.cybersource.com/library/documentation/dev_guides/Merchant_Descriptors_SCMP_API/html/)\n\n#### CyberSource through VisaNet\nWhen you do not include this field in a request for a Crediario installment payment, CyberSource sends a value of 0 to the processor.\n\nFor Crediario installment payments, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP01 TCR9\n- Position: 38-40\n- Field: Installment Payment Number\n\n* The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "postalCode": { "type": "string", "maxLength": 14, "description": "Merchant's postal code.\n\n#### PIN debit\nPostal code for your business location. This value might be displayed on the cardholder's statement.\n\nIf your business is domiciled in the U.S., you can use a 5-digit or 9-digit postal code. A 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\nExample: `12345-6789`\n\nIf your business is domiciled in Canada, you can use a 6-digit or 9-digit postal code. A 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space]\n[numeric][alpha][numeric]\nExample: `A1B 2C3`\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n**Important** Mastercard requires a postal code for any country that uses postal codes.\nYou can provide the postal code in your account or you can include this field in your request.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "contact": { "type": "string", "maxLength": 14, "description": "For the descriptions, used-by information, data types, and lengths for these fields, see `merchant_descriptor_contact` field description\nin [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)-->\nContact information for the merchant.\n\n**Note** These are the maximum data lengths for the following payment processors:\n- FDCCompass (13)\n- Paymentech (13)\n" }, "locality": { "type": "string", "maxLength": 13, "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" }, "name": { "type": "string", "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" } } }, "categoryCode": { "type": "integer", "maximum": 9999, "description": "The value for this field is a four-digit number that the payment card industry uses to classify\nmerchants into market segments. A payment card company assigned one or more of these values to your business when you started\naccepting the payment card company's cards. When you do not include this field in your request, CyberSource uses the value in your\nCyberSource account.\n\nFor processor-specific information, see the `merchant_category_code` field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR4\n- Position: 150-153\n- Field: Merchant Category Code\n" }, "administrativeArea": { "type": "string", "description": "The state where the merchant is located.\n\n#### PIN debit\nState code or region code for your business. Use the Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "transactionLocalDateTime": { "type": "string", "maxLength": 14, "description": "Date and time at your physical location.\n\nFormat: `YYYYMMDDhhmmss`, where:\n - `YYYY` = year\n - `MM` = month\n - `DD` = day\n - `hh` = hour\n - `mm` = minutes\n - `ss` = seconds\n\n#### Used by\n**Authorization**\nRequired for these processors:\n- American Express Direct - American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- SIX\n\nOptional for all other processors.\n" }, "cancelUrl": { "type": "string", "maxLength": 255, "description": "URL to which the customer is directed if they fail to sign the mandate.\n#### SEPA\nRequired for Create Mandate and Update Mandate\n#### BACS\nRequired for Create Mandate\n" }, "successUrl": { "type": "string", "maxLength": 255, "description": "URL to which the customer is directed if they fail to sign the mandate.\n#### SEPA\nRequired for Create Mandate and Update Mandate\n#### BACS\nRequired for Create Mandate\n" }, "failureUrl": { "type": "string", "maxLength": 255, "description": "URL to which the customer is directed if they fail to sign the mandate.\n#### SEPA\nRequired for Create Mandate and Update Mandate\n#### BACS\nRequired for Create Mandate\n" } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. For details, see:\n- \"Authorization Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Capture Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Credit Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\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. For details, see \"Zero Amount Authorizations,\" \"Credit Information for Specific Processors\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\nRequired for creating a new invoice.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. For details, see `grand_total_amount` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in \"Authorization Information for Specific Processors\" of the [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" } } }, "billTo": { "type": "object", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n" }, "administrativeArea": { "type": "string", "maxLength": 50, "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n" }, "buildingNumber": { "type": "string", "maxLength": 256, "description": "Building number in the street address.\n\nFor example, if the street address is:\nRua da Quitanda 187\nthen the building number is 187.\n\nThis field is supported only for:\n - Cielo transactions.\n - Redecard customer validation with CyberSource Latin American Processing.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Company's Name, e.g. VISA" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### SEPA/BACS\nRequired for Create Mandate and Import Mandate\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "county": { "type": "string", "maxLength": 50, "description": "U.S. county if available." }, "district": { "type": "string", "maxLength": 50, "description": "Customer's neighborhood, community, or region\nwithin the city or municipality. \n#### SEPA/BACS\nWhen you include this field in a request, the value for this field must\nbe the same as the value for the billTo_state field.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\nFor processor-specific information, see the `customer_email` request-level field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called _CyberSource Latin American Processing_. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "middleName": { "type": "string", "maxLength": 60, "description": "Customer's middle name.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### RBS WorldPay Atlanta\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n\nIt is recommended that you include the country code when the order is from outside the U.S.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nOptional field.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" }, "title": { "type": "string" } } } } }, "paymentInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nValid values: `01` through `12`. Leading 0 is required.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value\n(`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is\nin the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause\nthe issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (_type_=039), if there is no expiration date on the card, use `12`.\n\n#### FDMS Nashville\nRequired field.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the payment card expires.\n\nFormat: `YYYY`.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`1900` through `3000`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (**_type_**`=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDMS Nashville\nRequired field.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. If you send in 2 digits, they must be the last 2 digits of the year.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "number": { "type": "string", "maxLength": 20, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n\n#### FDMS Nashville\nRequired. String (19)\n\n#### GPX\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Number.\n\n#### FDMS Nashville\nRequired for American Express or if swiped; otherwise, optional.\n\n#### Ingenico ePayments\nDo not include this field when `commerceIndicator=recurring`.\n**Note** Ingenico ePayments was previously called _Global Collect_.\n\n#### TSYS Acquiring Solutions\nOptional if pointOfSaleInformation.entryMode=keyed; otherwise, not used.\n\n#### GPX\nOptional.\n\n#### All other processors:\nOptional.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `014`: Enroute[^1]\n- `021`: JAL[^1]\n- `024`: Maestro (UK Domestic)[^1]\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `042`: Maestro (International)[^1]\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `054`: Elo[^3]\n- `062`: China UnionPay\n- '070': EFTPOS\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" } } }, "tokenizedCard": { "type": "object", "properties": { "cryptogram": { "type": "string", "maxLength": 255, "description": "This field contains token information." }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "One of two possible meanings:\n- The two-digit month in which a token expires.\n- The two-digit month in which a card expires.\nFormat: `MM`\nPossible values: `01` through `12`\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_type=039`), if there is no expiration date on the card, use `12`.\\\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Samsung Pay and Apple Pay\nMonth in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\nFor processor-specific information, see the `customer_cc_expmo` field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n\nFor processor-specific information, see the `customer_cc_expyr` or `token_expiration_year` field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "number": { "type": "string", "maxLength": 20, "description": "Customer's payment network token value.\n" }, "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it specifies the entity that\nprovided you with information about the token.\n\nPossible value:\n- `2`: Near-field communication (NFC) transaction. The customer's mobile device provided the token data for a contactless EMV transaction. For recurring\ntransactions, use this value if the original transaction was a contactless EMV transaction.\n\n#### Visa Platform Connect\n- `1`: For Rupay and In App tokenization. Example: InApp apple pay.\n- `3`: Card/Credential On File Tokenization.\n\n**NOTE** No CyberSource through VisaNet acquirers support EMV at this time.\n\nRequired field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.\n\n#### Rupay\n- `3`: Card/Credential On File Tokenization.\n- `4`: Tokenizined Transaction. Should be used for Guest Checkout transactions with token.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `014`: Enroute[^1]\n- `021`: JAL[^1]\n- `024`: Maestro (UK Domestic)[^1]\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `042`: Maestro (International)[^1]\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `054`: Elo[^3]\n- `062`: China UnionPay\n- '070': EFTPOS\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" } } }, "paymentType": { "type": "object", "properties": { "method": { "type": "object", "properties": { "name": { "type": "string", "description": "Identifier for the payment type.\nPossible Values: \n - SENTENIAL\n - PAYPAL\n#### SEPA/BACS\nRequired for mandates services\n#### Paypal\nRequired for billing agreements\n" } } }, "name": { "type": "string", "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `EWALLET`\n- `directDebitSepa`\n- `directDebitBacs`\n#### SEPA/BACS\nRequired for mandates services\n#### Paypal\nRequired for billing agreements\n" } } }, "bank": { "type": "object", "properties": { "account": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 30, "description": "Customer's bank account number.\n#### BACS\nRequired for Create Mandate, Import Mandate, and Update Mandate\n" } } }, "iban": { "type": "string", "maxLength": 34, "description": "International Bank Account Number (IBAN).\n#### SEPA\nRequired for mandates services\n" }, "swiftCode": { "type": "string", "maxLength": 20, "description": "Bank's SWIFT code. You can use this field only when scoring a direct debit transaction.\n#### BACS\nRequired for mandates services\n" }, "scheme": { "type": "string", "maxLength": 25, "description": "The scheme that sets the rules for the direct\ndebit process. Possible values:\n - SEPA\n - BACS\n#### SEPA/BACS\nRequired for mandates services\n" } } } } }, "processingInformation": { "type": "object", "properties": { "commerceIndicator": { "type": "string", "maxLength": 20, "description": "Type of transaction. Used to determine fees based on channel.\n\nPossible values:\n\n - aesk: American Express SafeKey authentication was successful.\n - aesk_attempted: American Express SafeKey authentication was attempted but did not succeed. \u2022 install: Installment payment.\n - install_internet: Non-U.S. e-commerce (Internet) installment payment. This value is supported only on Visa Platform Connect.\n - internet (default for authorizations): E-commerce order placed using a web site.\n - js: JCB J/Secure authentication was successful.\n - js_attempted: JCB J/Secure authentication was attempted but did not succeed.\n - moto: Mail order or telephone order.\n - moto_cc: Mail order or telephone order from a call center. This value is supported only on the Asia, Middle East, and Africa Gateway.\n - pb: ProtectBuy authentication was successful.\n - pb_attempted: ProtectBuy authentication was attempted but did not succeed.\n - recurring: Recurring payment that is a U.S. transaction or non-U.S. mail order / telephone order (MOTO) transaction.\n - recurring_internet: Recurring payment that is a non-U.S. e-commerce (Internet) transaction.\n - retail: Card-present transaction.\n - spa: For Mastercard Identity Check: Authentication was successful or was attempted but did not succeed. The e-commerce indicator for all Mastercard Identity Check transactions, including authentication attempts, must be set to spa.\n - spa_attempted: Authentication for a co-badged Mastercard and Cartes Bancaires card was attempted but did not succeed.\n - spa_failure: \u2013 For Mastercard Identity Check: Authentication failed. This value is supported only on Elavon, HSBC, and Streamline.\n - vbv: \u2013 For Visa Secure: Authentication was successful.\n - vbv_attempted: \u2013 For Visa Secure: Authentication was attempted but did not succeed.\n - vbv_failure: \u2013 For Visa Secure: Authentication failed. This value is supported only on HSBC and Streamline.\n" }, "actionList": { "type": "array", "description": "- Use `CONSUMER_AUTHENTICATION` to use Payer Authentication along with Decision Manager. For any other value, only Decision Manager will run.\n- Use `WATCHLIST_SCREENING` when you want to call Watchlist Screening service.\n- Use `BILLING_AGREEMENT_CREATE` when Paypal billing agreements service is requested.\n- Use `UPDATE_AGREEMENT`\n- Use `CANCEL_AGREEMENT`\n- Use `AP_UPDATE_AGREEMENT` when Alternative Payment update mandate service is requested.\n- Use `AP_CANCEL_AGREEMENT` when Alternative Payment revoke mandate service is requested.\n- Use `AP_REFRESH_AGREEMENT_STATUS` when Alternative Payment mandate status service is requested.\n", "items": { "type": "string" } } } }, "buyerInformation": { "type": "object", "properties": { "dateOfBirth": { "type": "string", "maxLength": 8, "description": "Recipient's date of birth. **Format**: `YYYYMMDD`.\n\nThis field is a `pass-through`, which means that CyberSource ensures that the value is eight numeric characters\nbut otherwise does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n\nFor more details, see `recipient_date_of_birth` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "gender": { "type": "string", "maxLength": 1, "description": "Customer's gender. Possible values are F (female), M (male), O (other)." }, "language": { "type": "string", "maxLength": 5, "description": "language setting of the user" } } } }, "example": { "deviceInformation": { "httpAcceptBrowserValue": "http", "userAgentBrowserValue": "safari", "ipAddress": "10.10.10.10" }, "consumerAuthenticationInformation": { "authenticationTransactionContextId": "100000000000000000000000025253", "transactionToken": "AxjzbwSTcz9aHyOIL490/949UafAxfvksgAxHXa2/+xcVZ0CtA+AbkvF" }, "processingInformation": { "commerceIndicator": "rpy", "actionList": [ "UPDATE_AGREEMENT" ] }, "aggregatorInformation": { "subMerchant": { "name": "rupay" }, "name": "aggregatorname" }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "INR" }, "billTo": { "firstName": "Comet", "middleName": "Foster", "lastName": "Bowditch", "address1": "808 Metro Blvd", "address2": "Suite A101", "locality": "San Francisco", "district": "SF", "administrativeArea": "CA", "postalCode": "944041234", "country": "US", "county": "San Francisco", "phoneNumber": "16501234567", "email": "srbuyeroffice@cybs.com", "title": "Senior Buyer", "company": "Cybersource Trading Inc." } }, "paymentInformation": { "card": { "expirationYear": "2031", "number": "5082794233463", "securityCode": "123", "expirationMonth": "12", "type": "061" }, "paymentType": { "method": { "name": "SENTENIAL" }, "name": "directDebitBacs" }, "bank": { "account": { "number": "1234567890ABCDEFGHIJ0123456789" }, "iban": "NL51ABNC1122334455", "swiftCode": "ABNCNL2AGMK", "scheme": "bacs" } }, "installmentInformation": { "paymentType": "1", "identifier": "1000000" }, "agreementInformation": { "id": "G8UD2OKG49UW", "eSignIndicator": "y" }, "clientReferenceInformation": { "code": "TC84105-1" }, "buyerInformation": { "dateOfBirth": "19990101", "gender": "F", "language": "en" }, "merchantInformation": { "cancelUrl": "https://www.valid.merchant.redirect.url.from.request.html?actioncancel", "successUrl": "https://www.valid.merchant.redirect.url.from.request.html?actionsuccess", "failureUrl": "https://www.valid.merchant.redirect.url.from.request.html?actionfailure" } } } }, { "name": "id", "in": "path", "required": true, "type": "string", "description": "ID for de-registration or cancellation of Billing Agreement" } ], "responses": { "201": { "description": "Successful response.", "schema": { "title": "ptsV2ModifyBillingAgreementPost201Response", "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." } } }, "status": { "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.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "maxLength": 15, "description": "The status of the billing agreement.\nPossible value is:\n - PENDING\n - REVOKED\n - ACTIVE\n - FAILED\n - EXPIRED\n - INACTIVE\n" }, "processorInformation": { "type": "object", "properties": { "approvalCode": { "type": "string", "maxLength": 6, "description": "Authorization code. Returned only when the processor returns this value.\n\nThe length of this value depends on your processor.\n\nReturned by authorization service.\n\n#### PIN debit\nAuthorization code that is returned by the processor.\n\nReturned by PIN debit credit.\n\n#### Elavon Encrypted Account Number Program\nThe returned value is OFFLINE.\n\n#### TSYS Acquiring Solutions\nThe returned value for a successful zero amount authorization is 000000.\n" }, "responseCode": { "type": "string", "maxLength": 10, "description": "For most processors, this is the error message sent directly from the bank. Returned only when the processor\nreturns this value.\n\n**Important** Do not use this field to evaluate the result of the authorization.\n#### SEPA/BACS\nResponse code from the processor. Possible values: 00000\u201399999. See Appendix C,\n\"Reason Codes and Processor Response\nCodes,\" on page 42.\n\n#### PIN debit\nResponse value that is returned by the processor or bank.\n**Important** Do not use this field to evaluate the results of the transaction request.\n\nReturned by PIN debit credit, PIN debit purchase, and PIN debit reversal.\n\n#### AIBMS\nIf this value is `08`, you can accept the transaction if the customer provides you with identification.\n\n#### Atos\nThis value is the response code sent from Atos and it might also include the response code from the bank.\nFormat: `aa,bb` with the two values separated by a comma and where:\n- `aa` is the two-digit error message from Atos.\n- `bb` is the optional two-digit error message from the bank.\n\n#### Comercio Latino\nThis value is the status code and the error or response code received from the processor separated by a colon.\nFormat: [status code]:E[error code] or [status code]:R[response code]\nExample `2:R06`\n\n#### JCN Gateway\nProcessor-defined detail error code. The associated response category code is in the `processorInformation.responseCategoryCode` field.\nString (3)\n" }, "transactionId": { "type": "string", "maxLength": 255, "description": "Transaction ID assigned by the processor.\n" }, "responseDetails": { "type": "string", "maxLength": 60, "description": "Response code indicating that creating the agreement failed\n" }, "reasonCode": { "type": "string", "maxLength": 5, "description": "Numeric value corresponding to the result of the request.\n" } } }, "installmentInformation": { "type": "object", "properties": { "identifier": { "type": "string", "maxLength": 100, "description": "Identifier\n" } } }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each transaction so that you can perform meaningful searches for the transaction.\n" } } }, "riskInformation": { "type": "object", "properties": { "processorResults": { "type": "object", "properties": { "riskScore": { "type": "string", "maxLength": 25, "description": "Risk score returned by the processor. Possible\nvalues of 0-10. A value of 10 indicates a high risk.\n" } } } } }, "agreementInformation": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 50, "description": "Identifier for the mandate.\n" }, "dateSigned": { "type": "string", "description": "Date the mandate has been signed. Format YYYYMMdd", "maxLength": 8 }, "dateCreated": { "type": "string", "description": "Date the mandate has been created. Format YYYYMMdd", "maxLength": 8 }, "dateRevoked": { "type": "string", "description": "Date the mandate has been revoked. Format YYYYMMdd", "maxLength": 8 }, "encodedHtml": { "type": "string", "description": "Base64 encoded html string" }, "encodedHtmlPopup": { "type": "string", "description": "Base64 encoded popup html string" }, "url": { "type": "string", "maxLength": 2048, "description": "URL for redirecting the customer for creating\nthe mandate.\n" }, "transactionId": { "type": "string", "maxLength": 50, "description": "The Billing Agreement ID returned by processor (PayPal).\n" } } }, "orderInformation": { "type": "object", "properties": { "billTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of the billing street address.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\nExample: Attention - Accounts Payable\n" }, "locality": { "type": "string", "maxLength": 50, "description": "City of the billing address.\n" }, "administrativeArea": { "type": "string", "maxLength": 2, "description": "State of the billing address in the U.S.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\nA 9-digit postal code must follow this format: [5 digits][dash][4 digits]\n\nExample: 12345-6789\"\n" }, "country": { "type": "string", "maxLength": 2, "description": "Billing country. Use the two character ISO Standard Country Codes.\n" }, "email": { "type": "string", "maxLength": 256, "description": "Customer's email address, including the full\ndomain name.\n" } } }, "shipTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "First name of the recipient.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Last name of the recipient.\n" }, "address1": { "type": "string", "maxLength": 100, "description": "First line of the shipping address.\n" }, "address2": { "type": "string", "maxLength": 100, "description": "Second line of the shipping address.\n" }, "locality": { "type": "string", "maxLength": 40, "description": "City of the shipping address.\n" }, "administrativeArea": { "type": "string", "maxLength": 40, "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" }, "postalCode": { "type": "string", "maxLength": 20, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n" }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n", "maxLength": 2 } } } } }, "paymentInformation": { "type": "object", "properties": { "eWallet": { "type": "object", "properties": { "accountId": { "type": "string", "maxLength": 30, "description": "The ID of the customer, passed in the return_url field by PayPal after customer approval.\n" } } }, "bank": { "type": "object", "properties": { "iban": { "type": "string", "maxLength": 34, "description": "International Bank Account Number (IBAN).\n" } } } } } }, "example": { "_links": { "self": { "href": "GET", "method": "/pts/v2/billing/agreements/6853506446826005503878" }, "status": { "href": "PATCH", "method": "/pts/v2/billing/agreements/6853506446826005503878" } }, "id": "6853506446826005503878", "installmentInformation": { "identifier": "1000000000" }, "processorInformation": { "responseCode": "00", "transactionId": "2016011808153910011808153910TR", "responseDetails": "100", "reasonCode": "100" }, "status": "SUCCESS", "submitTimeUtc": "2023-05-29T08:57:25Z", "agreementInformation": { "id": "G8UD2OKG49UW", "dateSigned": "20181109", "dateCreated": "20181009", "dateRevoked": "20181009", "encodedHtml": "PGh0bWw+DQo8Ym9keT4NCiANCjxwPjxiPlRoaXMgdGV4dCBpcyBib2xkPC9iPjwvcD4NCjxwPjxpPlRoaXMgdGV4dCBpcyBpdGFsaWM8L2k+PC9wPg0KPHA+VGhpcyBpczxzdWI+IHN1YnNjcmlwdDwvc3ViPiBhbmQgPHN1cD5zdXBlcnNjcmlwdDwvc3VwPjwvcD4NCiANCjwvYm9keT4NCjwvaHRtbD4NCg==", "encodedHtmlPopup": "PGh0bWw+DQo8Ym9keT4NCiANCjxwPjxiPlRoaXMgdGV4dCBpcyBib2xkPC9iPjwvcD4NCjxwPjxpPlRoaXMgdGV4dCBpcyBpdGFsaWM8L2k+PC9wPg0KPHA+VGhpcyBpczxzdWI+IHN1YnNjcmlwdDwvc3ViPiBhbmQgPHN1cD5zdXBlcnNjcmlwdDwvc3VwPjwvcD4NCiANCjwvYm9keT4NCjwvaHRtbD4NCg==", "transactionId": "12312731", "url": "https://merchant.redirect.com/url.do?param_utf=%27%22%3C%3E%20%E6%B8%AC%E8%A9%A6%E6%B8%AC¶m_url=https%3A%2F%2Fwww.abc.com¶m_special=+@#%~_&sign=fdaa1df42b6260a10e2e3f1c0fc87862" }, "clientReferenceInformation": { "code": "TC84105-1" }, "riskInformation": { "processorResults": { "riskScore": "3" } }, "orderInformation": { "billTo": { "firstName": "Krishna", "lastName": "CYBS", "address1": "201 S. Division St.", "address2": "Suite A101", "locality": "NPCI", "administrativeArea": "MI", "postalCode": "560048", "country": "IN", "email": "test@cybs.com" }, "shipTo": { "firstName": "Krishna", "lastName": "CYBS", "address1": "201 S. Division St.", "address2": "Suite A101", "locality": "NPCI", "administrativeArea": "MI", "postalCode": "560048", "country": "IN" } }, "paymentInformation": { "eWallet": { "accountId": "123456" }, "bank": { "iban": "NL51ABNC1122334455" } } } } }, "400": { "description": "Invalid request.", "schema": { "title": "ptsV2ModifyBillingAgreementPost400Response", "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "An unique identification number generated by Cybersource to identify the submitted request. Returned by all services.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "maxLength": 20, "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_MERCHANT_CONFIGURATION\n - PROCESSOR_UNAVAILABLE\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" } } } } }, "example": { "id": "6981713080281234567890", "submitTimeUtc": "2023-11-28T14:12:01Z", "status": "INVALID_REQUEST", "reason": "INVALID_DATA", "message": "One or more fields in the request contains invalid data.", "details": [ { "field": "clientReferenceInformation.code", "reason": "INVALID_DATA" } ] } } }, "502": { "description": "Unexpected system error or system timeout.", "schema": { "title": "ptsV2ModifyBillingAgreementPost502Response", "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "An unique identification number generated by Cybersource to identify the submitted request. Returned by all services.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "maxLength": 20, "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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." } }, "example": { "id": "6981713080281234567890", "submitTimeUtc": "2023-11-28T14:12:01Z", "status": "SERVER_ERROR", "reason": "SYSTEM_ERROR", "message": "General system failure." } } } }, "x-example": { "example0": { "summary": "Standing Instruction Modification", "sample-name": "Standing Instruction Modification", "value": { "deviceInformation": { "httpAcceptBrowserValue": "http", "userAgentBrowserValue": "safari", "ipAddress": "10.10.10.10" }, "consumerAuthenticationInformation": { "authenticationTransactionContextId": "100000000000000000000000025253", "transactionToken": "AxjzbwSTcz9aHyOIL490/949UafAxfvksgAxHXa2/+xcVZ0CtA+AbkvF" }, "processingInformation": { "commerceIndicator": "rpy", "actionList": [ "UPDATE_AGREEMENT" ] }, "aggregatorInformation": { "subMerchant": { "name": "rupay" }, "name": "aggregatorname" }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "INR" } }, "paymentInformation": { "card": { "expirationYear": "2031", "number": "5082794233463", "securityCode": "123", "expirationMonth": "12", "type": "061" } }, "installmentInformation": { "paymentType": "1", "identifier": "1000000" } } }, "example1": { "summary": "Standing Instruction Deregisteration", "sample-name": "Standing Instruction Deregisteration", "value": { "deviceInformation": { "httpAcceptBrowserValue": "http", "userAgentBrowserValue": "safari", "ipAddress": "10.10.10.10" }, "consumerAuthenticationInformation": { "authenticationTransactionContextId": "100000000000000000000000025253", "transactionToken": "AxjzbwSTcz9aHyOIL490/949UafAxfvksgAxHXa2/+xcVZ0CtA+AbkvF" }, "processingInformation": { "commerceIndicator": "rpy", "actionList": [ "CANCEL_AGREEMENT" ] }, "aggregatorInformation": { "subMerchant": { "name": "rupay" }, "name": "aggregatorname" }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "INR" } }, "paymentInformation": { "card": { "expirationYear": "2031", "number": "5082794233463", "securityCode": "123", "expirationMonth": "12", "type": "061" } }, "installmentInformation": { "paymentType": "1", "identifier": "1000000" } } }, "example2": { "summary": "Redirectional Standing Instruction Modification", "sample-name": "Redirectional Standing Instruction Modification", "value": { "deviceInformation": { "httpAcceptBrowserValue": "http", "userAgentBrowserValue": "safari", "ipAddress": "10.10.10.10" }, "consumerAuthenticationInformation": { "cavv": "MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI1MjM2", "xid": "OTE0OTE2MzI5MzE1MDUyOTU4Mjc=" }, "processingInformation": { "commerceIndicator": "rpy", "actionList": [ "UPDATE_AGREEMENT" ] }, "aggregatorInformation": { "subMerchant": { "name": "rupay" }, "name": "aggregatorname" }, "orderInformation": { "amountDetails": { "totalAmount": "150.00", "currency": "INR" } }, "paymentInformation": { "card": { "expirationYear": "2031", "number": "5082794233463", "securityCode": "123", "expirationMonth": "12", "type": "061" } }, "installmentInformation": { "paymentType": "1", "identifier": "1000000" } } }, "example3": { "summary": "Redirectional Standing Instruction Deregistration", "sample-name": "Redirectional Standing Instruction Deregistration", "value": { "deviceInformation": { "httpAcceptBrowserValue": "http", "userAgentBrowserValue": "safari", "ipAddress": "10.10.10.10" }, "consumerAuthenticationInformation": { "cavv": "MTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDI1MjM2", "xid": "OTE0OTE2MzI5MzE1MDUyOTU4Mjc=" }, "processingInformation": { "commerceIndicator": "rpy", "actionList": [ "CANCEL_AGREEMENT" ] }, "aggregatorInformation": { "subMerchant": { "name": "rupay" }, "name": "aggregatorname" }, "orderInformation": { "billTo": { "country": "IN", "firstName": "Krishna", "lastName": "CYBS", "phoneNumber": "9999999999", "address1": "201S.DivisionSt.", "district": "BLR", "postalCode": "560048", "locality": "NPCI", "company": "Visa", "administrativeArea": "MI", "email": "test@cybs.com" }, "amountDetails": { "totalAmount": "109.00", "currency": "INR" } }, "paymentInformation": { "card": { "expirationYear": "2026", "number": "50823043205909", "securityCode": "123", "expirationMonth": "08", "type": "061" } }, "installmentInformation": { "paymentType": "1", "identifier": "1000000" } } } } } }, "/pts/v2/billing-agreements/{id}/intimations": { "post": { "summary": "Standing Instruction intimation", "description": "Standing Instruction with or without Token.", "tags": [ "billingAgreements" ], "operationId": "billingAgreementsIntimation", "x-devcenter-metaData": { "categoryTag": "Payments", "developerGuides": "https://developer.cybersource.com/api/developer-guides/dita-payments/GettingStarted.html" }, "parameters": [ { "name": "intimateBillingAgreement", "in": "body", "required": true, "schema": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" }, "pausedRequestId": { "type": "string", "maxLength": 26, "description": "Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call.\n" }, "transactionId": { "type": "string", "maxLength": 30, "description": "Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request.\n\n**Note** Use this field only if you want to support merchant-initiated reversal and void operations.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, and Void**\nOptional field.\n\n#### PIN Debit\nFor a PIN debit reversal, your request must include a request ID or a merchant transaction identifier.\nOptional field for PIN debit purchase or credit requests.\n" }, "comments": { "type": "string", "description": "Comments" }, "partner": { "type": "object", "properties": { "originalTransactionId": { "type": "string", "maxLength": 32, "description": "Value that links the previous transaction to the current follow-on request. This value is assigned by the client\nsoftware that is installed on the POS terminal, which makes it available to the terminal's software and to\nCyberSource. Therefore, you can use this value to reconcile transactions between CyberSource and the terminal's\nsoftware.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\n" }, "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" }, "thirdPartyCertificationNumber": { "type": "string", "maxLength": 12, "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" } } }, "applicationName": { "type": "string", "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" }, "applicationVersion": { "type": "string", "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "applicationUser": { "type": "string", "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" } } }, "installmentInformation": { "type": "object", "properties": { "alertPreference": { "type": "string", "maxLength": 5, "description": "Applicable only for SI. Required in case the authentication is initiated for SI registration.\nValid Values:\n- `SMS`\n- `EMAIL`\n- `BOTH`\n" }, "firstInstallmentDate": { "type": "string", "maxLength": 6, "description": "Date of the first installment payment. Format: YYMMDD. When you do not include this field, CyberSource sends a string of six zeros (000000) to the processor.\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThis field is supported only for Crediario installment payments in Brazil on CyberSource through VisaNet.\n\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR9\n- Position: 42-47\n- Field: Date of First Installment\n" }, "identifier": { "type": "string", "maximum": 60, "description": "Standing Instruction/Installment identifier.\n" }, "lastInstallmentDate": { "type": "string", "maxLength": 8, "description": "End date of the SI transactions.\nCannot be later than card expiry date. Ideally this can be set to expiry date.\nRequired in case the authentication is initiated for SI registration.\n" }, "maxAmount": { "type": "string", "maxLength": 12, "description": "Maximum Amount for which SI can be initiated.\nRequired in case the authentication is initiated for SI registration.\n" }, "minAmount": { "type": "string", "maxLength": 12, "description": "Minimum Amount for which SI can be initiated.\nRequired in case the authentication is initiated for SI registration.\n" }, "paymentType": { "type": "string", "maxLength": 1, "description": "Payment plan for the installments.\n\nPossible values:\n- 0 (default): Regular installment. This value is not allowed for airline transactions.\n- 1: Installment payment with down payment.\n- 2: Installment payment without down payment. This value is supported only for airline transactions.\n- 3: Installment payment; down payment and boarding fee will follow. This value is supported only for airline transactions.\n- 4: Down payment only; regular installment payment will follow.\n- 5: Boarding fee only. This value is supported only for airline transactions.\n\nThis field is supported only for installment payments with Visa on CyberSource through VisaNet in Brazil.\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP07 TCR1\n- Position: 9\n- Field: Merchant Installment Supporting Information\n" }, "preferredDay": { "type": "string", "maxLength": 2, "description": "Preferred date for initiating the SI transaction every month.\nThis field need not be sent in case the SI has to be initiated as and when required, e.g., topping up the wallet, etc.\n" }, "sequence": { "type": "integer", "maximum": 99, "description": "Installment number when making payments in installments. Used along with `totalCount` to track which payment is being processed.\n\nFor example, the second of 5 payments would be passed to CyberSource as `sequence` = 2 and `totalCount` = 5.\n\nFor details, see \"Installment Payments\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Chase Paymentech Solutions and FDC Compass\nThis field is optional because this value is required in the merchant descriptors.\nFor details, see \"Chase Paymentech Solutions Merchant Descriptors\" and \"FDC Compass Merchant Descriptors\" in the [Merchant Descriptors Using the SCMP API]\n(https://apps.cybersource.com/library/documentation/dev_guides/Merchant_Descriptors_SCMP_API/html/)\n\n#### CyberSource through VisaNet\nWhen you do not include this field in a request for a Crediario installment payment, CyberSource sends a value of 0 to the processor.\n\nFor Crediario installment payments, the value for this field corresponds to the following data in the TC 33 capture file*:\n- Record: CP01 TCR9\n- Position: 38-40\n- Field: Installment Payment Number\n\n* The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "postalCode": { "type": "string", "maxLength": 14, "description": "Merchant's postal code.\n\n#### PIN debit\nPostal code for your business location. This value might be displayed on the cardholder's statement.\n\nIf your business is domiciled in the U.S., you can use a 5-digit or 9-digit postal code. A 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\nExample: `12345-6789`\n\nIf your business is domiciled in Canada, you can use a 6-digit or 9-digit postal code. A 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space]\n[numeric][alpha][numeric]\nExample: `A1B 2C3`\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n**Important** Mastercard requires a postal code for any country that uses postal codes.\nYou can provide the postal code in your account or you can include this field in your request.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "contact": { "type": "string", "maxLength": 14, "description": "For the descriptions, used-by information, data types, and lengths for these fields, see `merchant_descriptor_contact` field description\nin [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)-->\nContact information for the merchant.\n\n**Note** These are the maximum data lengths for the following payment processors:\n- FDCCompass (13)\n- Paymentech (13)\n" }, "locality": { "type": "string", "maxLength": 13, "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" }, "name": { "type": "string", "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" } } }, "categoryCode": { "type": "integer", "maximum": 9999, "description": "The value for this field is a four-digit number that the payment card industry uses to classify\nmerchants into market segments. A payment card company assigned one or more of these values to your business when you started\naccepting the payment card company's cards. When you do not include this field in your request, CyberSource uses the value in your\nCyberSource account.\n\nFor processor-specific information, see the `merchant_category_code` field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR4\n- Position: 150-153\n- Field: Merchant Category Code\n" }, "administrativeArea": { "type": "string", "description": "The state where the merchant is located.\n\n#### PIN debit\nState code or region code for your business. Use the Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "transactionLocalDateTime": { "type": "string", "maxLength": 14, "description": "Date and time at your physical location.\n\nFormat: `YYYYMMDDhhmmss`, where:\n - `YYYY` = year\n - `MM` = month\n - `DD` = day\n - `hh` = hour\n - `mm` = minutes\n - `ss` = seconds\n\n#### Used by\n**Authorization**\nRequired for these processors:\n- American Express Direct - American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- SIX\n\nOptional for all other processors.\n" }, "cancelUrl": { "type": "string", "maxLength": 255, "description": "URL to which the customer is directed if they fail to sign the mandate.\n#### SEPA\nRequired for Create Mandate and Update Mandate\n#### BACS\nRequired for Create Mandate\n" }, "successUrl": { "type": "string", "maxLength": 255, "description": "URL to which the customer is directed if they fail to sign the mandate.\n#### SEPA\nRequired for Create Mandate and Update Mandate\n#### BACS\nRequired for Create Mandate\n" }, "failureUrl": { "type": "string", "maxLength": 255, "description": "URL to which the customer is directed if they fail to sign the mandate.\n#### SEPA\nRequired for Create Mandate and Update Mandate\n#### BACS\nRequired for Create Mandate\n" } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. For details, see:\n- \"Authorization Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Capture Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Credit Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\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. For details, see \"Zero Amount Authorizations,\" \"Credit Information for Specific Processors\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\nRequired for creating a new invoice.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. For details, see `grand_total_amount` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in \"Authorization Information for Specific Processors\" of the [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" } } }, "billTo": { "type": "object", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n" }, "administrativeArea": { "type": "string", "maxLength": 50, "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n" }, "buildingNumber": { "type": "string", "maxLength": 256, "description": "Building number in the street address.\n\nFor example, if the street address is:\nRua da Quitanda 187\nthen the building number is 187.\n\nThis field is supported only for:\n - Cielo transactions.\n - Redecard customer validation with CyberSource Latin American Processing.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Company's Name, e.g. VISA" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### SEPA/BACS\nRequired for Create Mandate and Import Mandate\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "county": { "type": "string", "maxLength": 50, "description": "U.S. county if available." }, "district": { "type": "string", "maxLength": 50, "description": "Customer's neighborhood, community, or region\nwithin the city or municipality. \n#### SEPA/BACS\nWhen you include this field in a request, the value for this field must\nbe the same as the value for the billTo_state field.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\nFor processor-specific information, see the `customer_email` request-level field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called _CyberSource Latin American Processing_. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "middleName": { "type": "string", "maxLength": 60, "description": "Customer's middle name.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### RBS WorldPay Atlanta\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n\nIt is recommended that you include the country code when the order is from outside the U.S.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nOptional field.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" }, "title": { "type": "string" } } } } }, "paymentInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nValid values: `01` through `12`. Leading 0 is required.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value\n(`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is\nin the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause\nthe issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (_type_=039), if there is no expiration date on the card, use `12`.\n\n#### FDMS Nashville\nRequired field.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the payment card expires.\n\nFormat: `YYYY`.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`1900` through `3000`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (**_type_**`=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDMS Nashville\nRequired field.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. If you send in 2 digits, they must be the last 2 digits of the year.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "number": { "type": "string", "maxLength": 20, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n\n#### FDMS Nashville\nRequired. String (19)\n\n#### GPX\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Number.\n\n#### FDMS Nashville\nRequired for American Express or if swiped; otherwise, optional.\n\n#### Ingenico ePayments\nDo not include this field when `commerceIndicator=recurring`.\n**Note** Ingenico ePayments was previously called _Global Collect_.\n\n#### TSYS Acquiring Solutions\nOptional if pointOfSaleInformation.entryMode=keyed; otherwise, not used.\n\n#### GPX\nOptional.\n\n#### All other processors:\nOptional.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `014`: Enroute[^1]\n- `021`: JAL[^1]\n- `024`: Maestro (UK Domestic)[^1]\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `042`: Maestro (International)[^1]\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `054`: Elo[^3]\n- `062`: China UnionPay\n- '070': EFTPOS\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" } } }, "tokenizedCard": { "type": "object", "properties": { "cryptogram": { "type": "string", "maxLength": 255, "description": "This field contains token information." }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "One of two possible meanings:\n- The two-digit month in which a token expires.\n- The two-digit month in which a card expires.\nFormat: `MM`\nPossible values: `01` through `12`\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_type=039`), if there is no expiration date on the card, use `12`.\\\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Samsung Pay and Apple Pay\nMonth in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\nFor processor-specific information, see the `customer_cc_expmo` field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n\nFor processor-specific information, see the `customer_cc_expyr` or `token_expiration_year` field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "number": { "type": "string", "maxLength": 20, "description": "Customer's payment network token value.\n" }, "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it specifies the entity that\nprovided you with information about the token.\n\nPossible value:\n- `2`: Near-field communication (NFC) transaction. The customer's mobile device provided the token data for a contactless EMV transaction. For recurring\ntransactions, use this value if the original transaction was a contactless EMV transaction.\n\n#### Visa Platform Connect\n- `1`: For Rupay and In App tokenization. Example: InApp apple pay.\n- `3`: Card/Credential On File Tokenization.\n\n**NOTE** No CyberSource through VisaNet acquirers support EMV at this time.\n\nRequired field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.\n\n#### Rupay\n- `3`: Card/Credential On File Tokenization.\n- `4`: Tokenizined Transaction. Should be used for Guest Checkout transactions with token.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `014`: Enroute[^1]\n- `021`: JAL[^1]\n- `024`: Maestro (UK Domestic)[^1]\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `042`: Maestro (International)[^1]\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `054`: Elo[^3]\n- `062`: China UnionPay\n- '070': EFTPOS\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" } } }, "paymentType": { "type": "object", "properties": { "method": { "type": "object", "properties": { "name": { "type": "string", "description": "Identifier for the payment type.\nPossible Values: \n - SENTENIAL\n - PAYPAL\n#### SEPA/BACS\nRequired for mandates services\n#### Paypal\nRequired for billing agreements\n" } } }, "name": { "type": "string", "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `EWALLET`\n- `directDebitSepa`\n- `directDebitBacs`\n#### SEPA/BACS\nRequired for mandates services\n#### Paypal\nRequired for billing agreements\n" } } }, "bank": { "type": "object", "properties": { "account": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 30, "description": "Customer's bank account number.\n#### BACS\nRequired for Create Mandate, Import Mandate, and Update Mandate\n" } } }, "iban": { "type": "string", "maxLength": 34, "description": "International Bank Account Number (IBAN).\n#### SEPA\nRequired for mandates services\n" }, "swiftCode": { "type": "string", "maxLength": 20, "description": "Bank's SWIFT code. You can use this field only when scoring a direct debit transaction.\n#### BACS\nRequired for mandates services\n" }, "scheme": { "type": "string", "maxLength": 25, "description": "The scheme that sets the rules for the direct\ndebit process. Possible values:\n - SEPA\n - BACS\n#### SEPA/BACS\nRequired for mandates services\n" } } } } } }, "example": { "orderInformation": { "amountDetails": { "totalAmount": "00", "currency": "INR" } }, "merchantInformation": { "transactionLocalDateTime": "20211216124549" }, "paymentInformation": { "card": { "expirationYear": "2031", "number": "5082302886091", "securityCode": "123", "expirationMonth": "12", "type": "061" } }, "installmentInformation": { "identifier": "1000000000", "minAmount": "100", "sequence": "2", "firstInstallmentDate": "2111", "alertPreference": "SMS", "lastInstallmentDate": "3110", "preferredDay": "1", "maxAmount": "1000", "paymentType": "1" } } } }, { "name": "id", "in": "path", "required": true, "type": "string", "description": "ID for intimation of Billing Agreement" } ], "responses": { "201": { "description": "Successful response.", "schema": { "title": "ptsV2CreditsPost201Response", "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "An unique identification number generated by Cybersource to identify the submitted request. Returned by all services.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction." }, "processorInformation": { "type": "object", "properties": { "approvalCode": { "type": "string", "maxLength": 6, "description": "Authorization code. Returned only when the processor returns this value.\n\nThe length of this value depends on your processor.\n\nReturned by authorization service.\n\n#### PIN debit\nAuthorization code that is returned by the processor.\n\nReturned by PIN debit credit.\n\n#### Elavon Encrypted Account Number Program\nThe returned value is OFFLINE.\n\n#### TSYS Acquiring Solutions\nThe returned value for a successful zero amount authorization is 000000.\n" }, "responseCode": { "type": "string", "maxLength": 10, "description": "For most processors, this is the error message sent directly from the bank. Returned only when the processor\nreturns this value.\n\n**Important** Do not use this field to evaluate the result of the authorization.\n\n#### PIN debit\nResponse value that is returned by the processor or bank.\n**Important** Do not use this field to evaluate the results of the transaction request.\n\nReturned by PIN debit credit, PIN debit purchase, and PIN debit reversal.\n\n#### AIBMS\nIf this value is `08`, you can accept the transaction if the customer provides you with identification.\n\n#### Atos\nThis value is the response code sent from Atos and it might also include the response code from the bank.\nFormat: `aa,bb` with the two values separated by a comma and where:\n- `aa` is the two-digit error message from Atos.\n- `bb` is the optional two-digit error message from the bank.\n\n#### Comercio Latino\nThis value is the status code and the error or response code received from the processor separated by a colon.\nFormat: [status code]:E[error code] or [status code]:R[response code]\nExample `2:R06`\n\n#### JCN Gateway\nProcessor-defined detail error code. The associated response category code is in the `processorInformation.responseCategoryCode` field.\nString (3)\n" } } }, "installmentInformation": { "type": "object", "properties": { "identifier": { "type": "string", "maxLength": 100, "description": "Identifier\n" } } } }, "example": { "id": "6853506446826005503878", "installmentInformation": { "identifier": "1000000000" }, "processorInformation": { "responseCode": "00" }, "status": "SUCCESS", "submitTimeUtc": "2023-05-29T08:57:25Z" } } }, "400": { "description": "Invalid request.", "schema": { "title": "ptsV2CreditsPost400Response", "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "An unique identification number generated by Cybersource to identify the submitted request. Returned by all services.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "maxLength": 20, "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_MERCHANT_CONFIGURATION\n - PROCESSOR_UNAVAILABLE\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" } } } } }, "example": { "id": "6981713080281234567890", "submitTimeUtc": "2023-11-28T14:12:01Z", "status": "INVALID_REQUEST", "reason": "INVALID_DATA", "message": "One or more fields in the request contains invalid data.", "details": [ { "field": "clientReferenceInformation.code", "reason": "INVALID_DATA" } ] } } }, "502": { "description": "Unexpected system error or system timeout.", "schema": { "title": "ptsV2CreditsPost502Response", "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "An unique identification number generated by Cybersource to identify the submitted request. Returned by all services.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "maxLength": 20, "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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." } }, "example": { "id": "6981713080281234567890", "submitTimeUtc": "2023-11-28T14:12:01Z", "status": "SERVER_ERROR", "reason": "SYSTEM_ERROR", "message": "General system failure." } } } }, "x-example": { "example0": { "summary": "Standing Instruction Completion Amount = 0", "sample-name": "Standing Instruction Completion", "value": { "orderInformation": { "amountDetails": { "totalAmount": "00", "currency": "INR" } }, "merchantInformation": { "transactionLocalDateTime": "20211216124549" }, "paymentInformation": { "card": { "expirationYear": "2031", "number": "5082302886091", "securityCode": "123", "expirationMonth": "12", "type": "061" } }, "installmentInformation": { "identifier": "1000000000", "minAmount": "100", "sequence": "2", "firstInstallmentDate": "2111", "alertPreference": "SMS", "lastInstallmentDate": "3110", "preferredDay": "1", "maxAmount": "1000", "paymentType": "1" } } } } } }, "/pts/v2/payment-references/{id}/intents": { "post": { "summary": "Create a Payment Order Request", "description": "Create a Payment Order Request", "tags": [ "payments" ], "operationId": "createOrderRequest", "x-devcenter-metaData": { "categoryTag": "Payments", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/payments/developer/ctv/rest/payments/payments-intro.html" }, "parameters": [ { "name": "OrderPaymentRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" } } }, "processingInformation": { "type": "object", "properties": { "actionList": { "type": "array", "description": "Array of actions (one or more) to be included in the order to invoke bundled services along with order.\nPossible values:\n- `AP_ORDER`: Use this when Alternative Payment Order service is requested.\n", "items": { "type": "string" } } } }, "paymentInformation": { "type": "object", "properties": { "paymentType": { "type": "object", "properties": { "method": { "type": "object", "properties": { "name": { "type": "string", "description": "Identifier for the payment type\n" } } } } }, "eWallet": { "type": "object", "properties": { "accountId": { "type": "string", "maxLength": 26, "description": "The ID of the customer, passed in the return_url field by PayPal after customer approval." } } } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 10, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but you cannot include any other special characters. CyberSource truncates the amount to the correct number of decimal places\n" }, "currency": { "type": "string", "maxLength": 5, "description": "Currency used for the order\n" }, "subTotalAmount": { "type": "string", "maxLength": 15, "description": "Shipping discount amount for the transaction. If this amount has changed since the initial sessions request, you must include the new value in the order request. You must also include all additional amount fields that apply to the order and ensure the total amount equals the purchaseTotals_grandTotalAmount value.\n" }, "handlingAmount": { "type": "string", "maxLength": 15, "description": "Aggregate handling charges for the transaction. If this amount has changed since the initial sessions request, you must include the new value in the order request. You must also include all additional amount fields that apply to the order and ensure the total amount equals the purchaseTotals_grandTotalAmount value.\n" }, "shippingAmount": { "type": "string", "maxLength": 15, "description": "Aggregate shipping charges for the transaction If this amount has changed since the initial sessions request, you must include the new value in the order request. You must also include all additional amount fields that apply to the order and ensure the total amount equals the purchaseTotals_grandTotalAmount value.\n" }, "shippingDiscountAmount": { "type": "string", "maxLength": 15, "description": "Shipping discount amount for the transaction. If this amount has changed since the initial sessions request, you must include the new value in the order request. You must also include all additional amount fields that apply to the order and ensure the total amount equals the purchaseTotals_grandTotalAmount value.\n" }, "taxAmount": { "type": "string", "maxLength": 10, "description": "Total tax amount. When the purchaseTotals_ taxAmount and ap_subtotalAmount fields are included in the request, do not include the tax amount as part of the subtotal amount calculation. \n" }, "insuranceAmount": { "type": "string", "maxLength": 15, "description": "Amount being charged for the insurance fee. Only supported when the payment_method is set to paypal.\n" }, "giftWrapAmount": { "type": "string", "maxLength": 15, "description": "Amount being charged as gift wrap fee.\n \n" } } } } } } } }, { "name": "id", "in": "path", "description": "Request identifier number for the order request.\n", "required": true, "type": "string" } ], "responses": { "201": { "description": "Successful response.", "schema": { "title": "ptsV2PaymentsOrderPost201Response", "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "An unique identification number generated by Cybersource to identify the submitted request. Returned by all services.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" } } }, "processorInformation": { "type": "object", "properties": { "sellerProtection": { "type": "object", "properties": { "eligibilty": { "type": "string", "maxLength": 60, "description": "The level of seller protection in force for the transaction.\nPossible values:\n- `ELIGIBLE`\n- `PARTIALLY_ELIGIBLE`\n- `INELIGIBLE`\n" }, "type": { "type": "string", "maxLength": 60, "description": "The kind of seller protection in force for the transaction. This field is returned only when the protection eligibility is set to ELIGIBLE or PARTIALLY_ELIGIBLE.\nPossible values:\n- `ITEM_NOT_RECEIVED_ELIGIBLE: Sellers are protected against claims for items not received.`\n- `UNAUTHORIZED_PAYMENT_ELIGIBLE: Sellers are protected against claims for unauthorized payments.One or both values can be returned.`\n" } } }, "avs": { "type": "object", "properties": { "codeRaw": { "type": "string", "maxLength": 10, "description": "AVS result code sent directly from the processor. Returned only when the processor returns this value.\n**Important** Do not use this field to evaluate the result of AVS. Use for debugging purposes only.\n\nReturned by authorization service.\n" } } }, "transactionId": { "type": "string", "maxLength": 50, "description": "Network transaction identifier (TID). You can use this value to identify a specific transaction when you are\ndiscussing the transaction with your processor. Not all processors provide this value.\n\nReturned by the authorization service.\n\n#### PIN debit\nTransaction identifier generated by the processor.\n\nReturned by PIN debit credit.\n\n#### GPX\nProcessor transaction ID.\n\n#### Cielo\nFor Cielo, this value is the non-sequential unit (NSU) and is supported for all transactions. The value is generated by Cielo or the issuing bank.\n\n#### Comercio Latino\nFor Comercio Latino, this value is the proof of sale or non-sequential unit (NSU) number generated by the acquirers Cielo and Rede, or the issuing bank.\n\n#### CyberSource through VisaNet and GPN\nFor details about this value for CyberSource through VisaNet and GPN, see \"Network Transaction Identifiers\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Moneris\nThis value identifies the transaction on a host system. It contains the following information:\n- Terminal used to process the transaction\n- Shift during which the transaction took place\n- Batch number\n- Transaction number within the batch\nYou must store this value. If you give the customer a receipt, display this value on the receipt.\n\n**Example** For the value\n66012345001069003:\n- Terminal ID = 66012345\n- Shift number = 001\n- Batch number = 069\n- Transaction number = 003\n" }, "responseDetails": { "type": "string", "maxLength": 255, "description": "This field might contain information about a decline. This field is supported only for **CyberSource through\nVisaNet**.\n" } } }, "orderInformation": { "type": "object", "properties": { "billTo": { "type": "object", "properties": { "title": { "type": "string", "maxLength": 60, "description": "Title.\n" }, "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called _CyberSource Latin American Processing_. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "middleName": { "type": "string", "maxLength": 60, "description": "Customer's middle name.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### RBS WorldPay Atlanta\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "nameSuffix": { "type": "string", "maxLength": 60, "description": "Customer's name suffix.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of the billing street address.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Second line of the billing street address.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "City of the billing address.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\nExample: 12345-6789\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\nExample: A1B 2C3\n" }, "administrativeArea": { "type": "string", "maxLength": 2, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States and Canada.\n" }, "country": { "type": "string", "maxLength": 20, "description": "Country of the billing address. Use the two-character ISO Standard Country Codes.\n" }, "email": { "type": "string", "maxLength": 256, "description": "Customer's email address.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n\nIt is recommended that you include the country code when the order is from outside the U.S.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nOptional field.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "verificationStatus": { "type": "string", "description": "Whether buyer has verified their identity. Used in case of PayPal transactions.\n\nPossible Values:\n* VERIFIED\n* UNVERIFIED\n" } } }, "shipTo": { "type": "object", "properties": { "method": { "type": "string", "maxLength": 225, "description": "shipping method for the product.\nPossible values are:\n- `sameday`\n- `oneday`\n- `twoday`\n- `threeday`\n- `lowcost`\n- `pickup`\n- `other`\n- `none`\n" }, "firstName": { "type": "string", "maxLength": 60, "description": "First name of the recipient.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Last name of the recipient.\n" }, "address1": { "type": "string", "maxLength": 100, "description": "First line of the shipping address.\n" }, "address2": { "type": "string", "maxLength": 100, "description": "Second line of the shipping address\n" }, "locality": { "type": "string", "maxLength": 50, "description": "City of the shipping address.\n" }, "postalCode": { "type": "string", "maxLength": 20, "description": "Postal code of shipping address. Consists of 5 to 9 digits.\n" }, "administrativeArea": { "type": "string", "maxLength": 40, "description": "State or province of shipping address. This is a State, Province, and Territory Codes for the United States and Canada.\n" }, "country": { "type": "string", "maxLength": 2, "description": "Country of shipping address. This is a two-character ISO Standard Country Codes.\n" }, "phoneNumber": { "type": "string", "maxLength": 20, "description": "Phone number of shipping address.\n" } } }, "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. For details, see:\n- \"Authorization Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Capture Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Credit Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\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. For details, see \"Zero Amount Authorizations,\" \"Credit Information for Specific Processors\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\nRequired for creating a new invoice.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. For details, see `grand_total_amount` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in \"Authorization Information for Specific Processors\" of the [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 5, "description": "Currency used for the order\n" } } }, "shippingDetails": { "type": "object", "properties": { "shippingMethod": { "type": "string", "maxLength": 10, "description": "Shipping method for the product. Possible values:\n\n - `lowcost`: Lowest-cost service\n - `sameday`: Courier or same-day service\n - `oneday`: Next-day or overnight service\n - `twoday`: Two-day service\n - `threeday`: Three-day service\n - `pickup`: Store pick-up\n - `other`: Other shipping method\n - `none`: No shipping method because product is a service or subscription\n" } } } } }, "paymentInformation": { "type": "object", "properties": { "eWallet": { "type": "object", "properties": { "accountId": { "type": "string", "maxLength": 26, "description": "The ID of the customer, passed in the return_url field by PayPal after customer approval." }, "fundingSource": { "type": "string", "maxLength": 30, "description": "Payment mode for the authorization or order transaction. \uf06e INSTANT_TRANSFER \uf06e MANUAL_BANK_TRANSFER \uf06e DELAYED_TRANSFER \uf06e ECHECK \uf06e UNRESTRICTED (default)\u2014this value is available only when configured by PayPal for the merchant. \uf06eINSTANT" }, "fundingSourceSale": { "type": "string", "maxLength": 30, "description": "Payment method for the unit purchase.\nPossible values:\n- `UNRESTRICTED (default)\u2014this value\nis only available if configured by PayPal\nfor the merchant.`\n- `INSTANT`\n" } } } } }, "processingInformation": { "type": "object", "properties": { "intentsId": { "type": "string", "maxLength": 26, "description": "Set to the value of the requestID field returned in the order service response." } } }, "buyerInformation": { "type": "object", "properties": { "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "The type of the identification.\n\nPossible values:\n - `NATIONAL`\n - `CPF`\n - `CPNJ`\n - `CURP`\n - `SSN`\n - `DRIVER_LICENSE`\n - `PASSPORT_NUMBER`\n - `PERSONAL_ID`\n - `TAX_ID`\n\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\nFor processor-specific information, see the `personal_id` field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\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.\n\nFor processor-specific information, see the `personal_id` field in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n \nIf `type = PASSPORT`, this is the cardholder's passport number.\nRecommended for Discover ProtectBuy.\n" } } } } } }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\nPossible values:\n - CREATED\n - SAVED\n - APPROVED\n - VOIDED\n - COMPLETED\n - PAYER_ACTION_REQUIRED\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" }, "riskInformation": { "type": "object", "properties": { "fraudDecision": { "type": "string", "maxLength": 60, "description": "Type of filter. Possible values:\n- ACCEPT\n- PENDING\n- DENY\n- REPORT\n" }, "fraudDecisionReason": { "type": "string", "maxLength": 60, "description": "possible values\n- AVS_NO_MATCH\n- AVS_PARTIAL_MATCH\n- AVS_UNAVAILABLE_OR_UNSUPPORTED\n- CARD_SECURITY_CODE_MISMATCH\n- MAXIMUM_TRANSACTION_AMOUNT\n- UNCONFIRMED_ADDRESS\n- COUNTRY_MONITOR\n- LARGE_ORDER_NUMBER\n- BILLING_OR_SHIPPING_ADDRESS_MISMATCH\n- RISKY_ZIP_CODE\n- SUSPECTED_FREIGHT_FORWARDER_CHECK\n- TOTAL_PURCHASE_PRICE_MINIMUM\n- IP_ADDRESS_VELOCITY\n- RISKY_EMAIL_ADDRESS_DOMAIN_CHECK\n- RISKY_BANK_IDENTIFICATION_NUMBER_CHECK,\nRISKY_IP_ADDRESS_RANGE\n- PAYPAL_FRAUD_MODEL\n" } } } } } }, "400": { "description": "Invalid request.", "schema": { "type": "object", "title": "ptsV2PaymentsPost400Response", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_CARD\n - CARD_TYPE_NOT_ACCEPTED\n - INVALID_MERCHANT_CONFIGURATION\n - PROCESSOR_UNAVAILABLE\n - INVALID_AMOUNT\n - INVALID_CARD_TYPE\n - INVALID_PAYMENT_ID\n - NOT_SUPPORTED\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" } } } } } } }, "502": { "description": "Unexpected system error or system timeout.", "schema": { "title": "ptsV2PaymentsPost502Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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": "Create a Payment Order Request", "sample-name": "Create a Payment Order Request", "value": { "clientReferenceInformation": { "code": "TC0824-06", "reconciliationId": "TC0120-15" }, "processingInformation": { "actionList": "AP_ORDER" }, "orderInformation": { "amountDetails": { "totalAmount": "100", "currency": "GBP" } }, "paymentInformation": { "eWallet": { "accountId": "XX00XX00XX" }, "paymentType": { "method": { "name": "PAYPAL" }, "name": "EWALLET" } } } } } } }, "/pts/v2/payment-references": { "post": { "summary": "Create Alternative Payments Sessions Request", "description": "Create Alternative Payments Sessions Request", "tags": [ "payments" ], "operationId": "CreateSessionRequest", "x-devcenter-metaData": { "categoryTag": "Payments", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/payments/developer/ctv/rest/payments/payments-intro.html" }, "parameters": [ { "name": "createSessionReq", "in": "body", "required": true, "schema": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" } } }, "processingInformation": { "type": "object", "properties": { "sessionType": { "type": "string", "maxLength": 5, "description": "Will have 2 values, 'U' (Update) , 'N' (New). Any other values will be rejected. Default will be 'N'\n" }, "paymentFlowMode": { "type": "string", "maxLength": 50, "description": "Whether merchant wants to pass the flow Inline or want to invoke Klarna Hosted Page\n" }, "actionList": { "type": "array", "description": "Possible values are one or more of follows:\n\n - `AP_SESSIONS`: Use this when Alternative Payment Sessions service is requested.\n", "items": { "type": "string" } } } }, "paymentInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 20, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n\n#### FDMS Nashville\nRequired. String (19)\n\n#### GPX\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nValid values: `01` through `12`. Leading 0 is required.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value\n(`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is\nin the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause\nthe issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (_type_=039), if there is no expiration date on the card, use `12`.\n\n#### FDMS Nashville\nRequired field.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the payment card expires.\n\nFormat: `YYYY`.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`1900` through `3000`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (**_type_**`=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDMS Nashville\nRequired field.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. If you send in 2 digits, they must be the last 2 digits of the year.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `014`: Enroute[^1]\n- `021`: JAL[^1]\n- `024`: Maestro (UK Domestic)[^1]\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `042`: Maestro (International)[^1]\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `054`: Elo[^3]\n- `062`: China UnionPay\n- '070': EFTPOS\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Number.\n\n#### FDMS Nashville\nRequired for American Express or if swiped; otherwise, optional.\n\n#### Ingenico ePayments\nDo not include this field when `commerceIndicator=recurring`.\n**Note** Ingenico ePayments was previously called _Global Collect_.\n\n#### TSYS Acquiring Solutions\nOptional if pointOfSaleInformation.entryMode=keyed; otherwise, not used.\n\n#### GPX\nOptional.\n\n#### All other processors:\nOptional.\n" }, "useAs": { "type": "string", "maxLength": 20, "description": "Flag that specifies the type of account associated with the card.\nThis field is available only for China UnionPay, Cielo, Comercio Latino and Visa Platform Connect.\nThe cardholder provides this information during the payment process.\n\nThis field is required for:\n - Debit transactions on Cielo and Comercio Latino.\n - Transactions with Brazilian-issued cards on CyberSource through VisaNet.\n\n**China UnionPayCard Transactions on China UnionPay:**\nPossible values:\n - C: Domestic credit card\n - D: Domestic debit card\n - F: International credit card\n - I: International debit card\n\nWhen the value is D, the e-commerce indicator and CAVV fields must be included in the authorization request.\nWhen the value is C, F or I the card verification number, expiration month and expiration year fields must in included in the authorization request.\n\n**Cielo and Comercio Latino Credit Card Transactions:**\nOn these processors, this field is supported only for authorizations.\nPossible values:\n - CR: Credit card\n - DB: Debit card \n\n**Visa Platform Connect Credit Card Transactions:**\nThis field is supported only for all card Types on Visa Platform Connect.\n\nA value of CR or DB in the useAs field takes precedence over any value in the Source Account Type field.\n" } } }, "bank": { "type": "object", "properties": { "swiftCode": { "type": "string", "description": "Bank's SWIFT code. You can use this field only when scoring a direct debit transaction.\nRequired only for crossborder transactions.\n\nFor all possible values, see the `bank_swiftcode` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "account": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 17, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "iban": { "type": "string", "maxLength": 50, "description": "International Bank Account Number (IBAN) for the bank account. For some countries you can provide this number instead of the traditional bank account information. You can use this field only when scoring a direct debit transaction.\n\nFor all possible values, see the `bank_iban` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" } } } } }, "eWallet": { "type": "object", "properties": { "fundingSource": { "type": "string", "maxLength": 30, "description": "Payment method for the unit purchase.\n Possible values:\n UNRESTRICTED (default)\u2014this value is\n available only when configured by PayPal\n for the merchant.\n INSTANT.\n" } } }, "options": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 255, "description": "Identifier for a PayPal credit transaction.\nValue: Credit\n" } } }, "paymentType": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" }, "subTypeName": { "type": "string", "description": "In case the APM supports multiple modes of initiation (e.g. Alipay via QR Code or Barcode)\n" }, "method": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n" }, "type": { "type": "string", "description": "The payment channel that facilitates the transactions. This parameter can be used if the payment channels are listed on the merchant's site, and the payment channel is known.\n\nPossible Values:\n\n#### Via PPRO\n- `alfaVa`\n- `kredivo`\n- `consumerBarCode`\n- `merchantQrCode`\n- `dokuWallet`\n" } } } } } } }, "orderInformation": { "type": "object", "properties": { "billTo": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 87, "description": "Company Name.\n" } } }, "shipTo": { "type": "object", "properties": { "email": { "type": "string", "maxLength": 60, "description": "Customer's primary email address, including the full domain name.\n" }, "title": { "type": "string", "description": "The title of the person receiving the product.", "maxLength": 10 }, "firstName": { "type": "string", "maxLength": 60, "description": "First name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" }, "middleName": { "type": "string", "maxLength": 60, "description": "Middle name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Last name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n\nFor processor-specific information, see the company_name field in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Second line of the shipping address.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "district": { "type": "string", "maxLength": 50, "description": "Neighborhood, community, or region within a city or municipality." }, "locality": { "type": "string", "maxLength": 50, "description": "City of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S. or\nCanada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", "maxLength": 2 }, "buildingNumber": { "type": "string", "maxLength": 15, "description": "Building number in the street address. For example, the building number is 187 in the following address:\n\nRua da Quitanda 187\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Phone number associated with the shipping address." }, "immutable": { "type": "string", "description": "Indicates whether customers are permitted to\nedit the shipping address in their PayPal\naccount. Possible values:\n- true: Customer cannot edit the shipping\naddress.\n- false (default): Customer can edit the\nshipping address.\n", "maxLength": 100 }, "notApplicable": { "type": "string", "description": "Indicates whether the shipping address is\ndisplayed to the customer in their PayPal\naccount. Possible values:\n- true: Shipping address is not displayed.\n- false (default): Shipping address is\ndisplayed.\nFor example, for digital downloads and\nservices in which a shipping address is not\nrequired, set the value to true.\n", "maxLength": 10 }, "county": { "type": "string", "description": "U.S. county if available.", "maxLength": 30 } } }, "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. For details, see:\n- \"Authorization Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Capture Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Credit Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\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. For details, see \"Zero Amount Authorizations,\" \"Credit Information for Specific Processors\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\nRequired for creating a new invoice.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. For details, see `grand_total_amount` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in \"Authorization Information for Specific Processors\" of the [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "discountAmount": { "type": "string", "maxLength": 15, "description": "Total discount amount applied to the order.\n" }, "taxAmount": { "type": "string", "maxLength": 12, "description": "Total tax amount for all the items in the order.\n" }, "dutyAmount": { "type": "string", "maxLength": 15, "description": "Total charges for any import or export duties included in the order.\n" }, "exchangeRate": { "type": "string", "maxLength": 13, "description": "Exchange rate returned by the DCC service. Includes a decimal point and a maximum of 4 decimal places.\n\nFor details, see `exchange_rate` request-level field description in the [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf)\n" }, "exchangeRateTimeStamp": { "type": "string", "maxLength": 14, "description": "Time stamp for the exchange rate. This value is returned by the DCC service.\n\nFormat: `YYYYMMDD~HH:MM` where ~ denotes a space.\n" }, "settlementCurrency": { "type": "string", "maxLength": 3, "description": "This is a multicurrency-only field. It contains a 3-digit numeric code that identifies the currency used by the issuer to bill the cardholder's account.\nThis field is returned for OCT transactions.\n" }, "giftwrapAmount": { "type": "string", "maxLength": 19, "description": "giftwrap amount (RFU)." }, "handlingAmount": { "type": "string", "maxLength": 19, "description": "handling amount (RFU)" }, "shippingAmount": { "type": "string", "maxLength": 19, "description": "shipping amount (RFU)" }, "shippingDiscountAmount": { "type": "string", "maxLength": 19, "description": "shipping discount amount (RFU)" }, "insuranceAmount": { "type": "string", "maxLength": 19, "description": "insurance amount (RFU)" } } }, "lineItems": { "type": "array", "items": { "type": "object", "description": "List of the line items from the order, which are included in an invoice.", "properties": { "productSku": { "type": "string", "maxLength": 255, "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" }, "productName": { "type": "string", "maxLength": 255, "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "quantity": { "type": "integer", "minimum": 1, "maximum": 999999999, "default": 1, "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "unitPrice": { "type": "string", "maxLength": 15, "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in the [Merchant Descriptors Using the SCMP API Guide.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Merchant_Descriptors_SCMP_API/html/)\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" }, "discountAmount": { "type": "string", "maxLength": 13, "description": "Discount applied to the item." }, "discountRate": { "type": "string", "maxLength": 6, "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" }, "taxAmount": { "type": "string", "maxLength": 15, "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" }, "taxRate": { "type": "string", "maxLength": 7, "description": "Tax rate applied to the item.\n\nFor details, see `tax_rate` field description in the [Level II and Level III Processing Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" }, "totalAmount": { "type": "string", "maxLength": 13, "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" }, "productCode": { "type": "string", "maxLength": 255, "description": "Type of product. The value for this field is used to identify the product category (electronic, handling, physical,\nservice, or shipping). The default value is `default`.\n\nIf you are performing an authorization transaction (`processingOptions.capture` is set to `false`), and you set\nthis field to a value other than `default` or one of the values related to shipping and/or handling, then\n`orderInformation.lineItems[].quantity`, `orderInformation.lineItems[].productName`, and\n`orderInformation.lineItems[].productSku` fields are required.\n\nOptional field.\n\nFor details, see the `product_code` field description in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nThe Product Codes for the tax service are located in the Cybersource Tax Codes guide. Contact Customer Support to request the guide. If you don't send a tax service Product Code in your tax request, product-based rules or exemptions will not be applied and the transaction will default to fully taxable in the locations where you've indicated you need to collect tax [by way of nexus, no nexus, or seller registration number fields].\n" }, "productDescription": { "type": "string", "description": "Brief description of item." } } } }, "invoiceDetails": { "type": "object", "properties": { "costCenter": { "type": "string", "description": "Cost centre of the merchant." }, "productDescription": { "type": "string", "description": "Brief description of item." } } }, "shippingDetails": { "type": "object", "properties": { "shippingMethod": { "type": "string", "maxLength": 10, "description": "Shipping method for the product. Possible values:\n\n - `lowcost`: Lowest-cost service\n - `sameday`: Courier or same-day service\n - `oneday`: Next-day or overnight service\n - `twoday`: Two-day service\n - `threeday`: Three-day service\n - `pickup`: Store pick-up\n - `other`: Other shipping method\n - `none`: No shipping method because product is a service or subscription\n" } } } } }, "buyerInformation": { "type": "object", "properties": { "dateOfBirth": { "type": "string", "maxLength": 8, "description": "Recipient's date of birth. **Format**: `YYYYMMDD`.\n\nThis field is a `pass-through`, which means that CyberSource ensures that the value is eight numeric characters\nbut otherwise does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n\nFor more details, see `recipient_date_of_birth` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "gender": { "type": "string", "maxLength": 3, "description": "Customer's gender. Possible values are F (female), M (male),O (other)." }, "language": { "type": "string", "maxLength": 2, "description": "language setting of the user" }, "noteToSeller": { "type": "string", "maxLength": 255, "description": "Note to the recipient of the funds in this transaction" }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "The value of the identification type. This field is supported only on the following processors.\n\n#### ComercioLatino\nSet this field to the Cadastro de Pessoas Fisicas (CPF).\n\n#### CyberSource Latin American Processing\nSupported for Redecard in Brazil. Set this field to the Cadastro de Pessoas Fisicas (CPF), which is required for AVS for Redecard in Brazil.\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\nFor processor-specific information, see the `personal_id` field in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n \nIf `type = PASSPORT`, this is the cardholder's passport number.\nRecommended for Discover ProtectBuy.\n" } } } } } }, "deviceInformation": { "type": "object", "properties": { "ipAddress": { "type": "string", "maxLength": 45, "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" }, "deviceType": { "type": "string", "maxLength": 60, "description": "The device type at the client side." }, "id": { "type": "string", "maxLength": 50, "description": "../../../commons/definitions/device.yaml#/properties/id" }, "userAgent": { "type": "string", "maxLength": 40, "description": "Customer's browser as identified from the HTTP header data. For example, `Mozilla` is the value that identifies\nthe Netscape browser.\n" } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "name": { "type": "string", "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" }, "alternateName": { "type": "string", "maxLength": 13, "description": "An alternate name for the merchant.\n\nFor the descriptions, used-by information, data types, and lengths for these fields, see the `merchant_descriptor_alternate` field description\nin [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)-->\n" }, "contact": { "type": "string", "maxLength": 14, "description": "For the descriptions, used-by information, data types, and lengths for these fields, see `merchant_descriptor_contact` field description\nin [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)-->\nContact information for the merchant.\n\n**Note** These are the maximum data lengths for the following payment processors:\n- FDCCompass (13)\n- Paymentech (13)\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of merchant's address. For the descriptions, used-by information, data types, and lengths for these fields, see `merchant_descriptor_street` field description\nin [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "locality": { "type": "string", "maxLength": 13, "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" }, "country": { "type": "string", "maxLength": 2, "description": "Merchant's country.\n\n#### PIN debit\nCountry code for your business location. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\nThis value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n**Note** If your business is located in the U.S. or Canada and you include this field in a\nrequest, you must also include `merchantInformation.merchantDescriptor.administrativeArea`.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "postalCode": { "type": "string", "maxLength": 14, "description": "Merchant's postal code.\n\n#### PIN debit\nPostal code for your business location. This value might be displayed on the cardholder's statement.\n\nIf your business is domiciled in the U.S., you can use a 5-digit or 9-digit postal code. A 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\nExample: `12345-6789`\n\nIf your business is domiciled in Canada, you can use a 6-digit or 9-digit postal code. A 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space]\n[numeric][alpha][numeric]\nExample: `A1B 2C3`\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n**Important** Mastercard requires a postal code for any country that uses postal codes.\nYou can provide the postal code in your account or you can include this field in your request.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "administrativeArea": { "type": "string", "description": "The state where the merchant is located.\n\n#### PIN debit\nState code or region code for your business. Use the Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "phone": { "type": "string", "maxLength": 13, "description": "Merchant phone as contact information for CNP transactions\n" }, "url": { "type": "string", "maxLength": 255, "description": "Address of company's website provided by merchant\n" }, "countryOfOrigin": { "type": "string", "maxLength": 2, "description": "#### Visa Platform Connect\nThis field will indicate merchant country of origin\n" }, "storeId": { "type": "string", "maxLength": 50, "description": "The identifier of the store.\n" }, "storeName": { "type": "string", "maxLength": 50, "description": "The name of the store.\n" }, "customerServicePhoneNumber": { "type": "string", "maxLength": 27, "description": "#### Visa Platform Connect\nIndicates customer service phone number of Merchant.\n" } } }, "cancelUrl": { "type": "string", "maxLength": 255, "description": "customer would be redirected to this url based on the decision of the transaction" }, "successUrl": { "type": "string", "maxLength": 255, "description": "customer would be redirected to this url based on the decision of the transaction" }, "failureUrl": { "type": "string", "maxLength": 255, "description": "customer would be redirected to this url based on the decision of the transaction" }, "noteToBuyer": { "type": "string", "maxLength": 25, "description": "Free-form text field." } } }, "userInterface": { "type": "object", "properties": { "borderRadius": { "type": "string", "maxLength": 19, "description": "Border Radius, Allowed Values - Number, Chars, SPACE, Percentage(%), DOT(.),\nExample '25px 10px 25px 10px'; '2em 1em 0.5em 3em'\n" }, "theme": { "type": "string", "maxLength": 19, "description": "UI Theme Name/Design Name - Allowed Chars: Alpha Numeric, Dot (.), Hyphen (-), Underscore (_)\n" }, "color": { "type": "object", "properties": { "border": { "type": "string", "description": "Border Color\n", "maxLength": 10 }, "borderSelected": { "type": "string", "description": "Selected Border Color\n", "maxLength": 10 }, "button": { "type": "string", "description": "Button Color\n", "maxLength": 10 }, "buttonText": { "type": "string", "description": "Button Text Color\n", "maxLength": 10 }, "checkbox": { "type": "string", "description": "Checkbox Color\n", "maxLength": 10 }, "checkboxCheckMark": { "type": "string", "description": "Checkbox Checkmark Color\n", "maxLength": 10 }, "header": { "type": "string", "description": "Header Color\n", "maxLength": 10 }, "link": { "type": "string", "description": "Link Color\n", "maxLength": 10 }, "text": { "type": "string", "description": "Text Color\n", "maxLength": 10 } } } } }, "merchantDefinedInformation": { "type": "array", "description": "The object containing the custom data that the merchant defines.\n", "items": { "type": "object", "properties": { "key": { "type": "string", "maxLength": 50, "description": "The number you assign for as the key for your merchant-defined data field. Valid values are 0 to 100.\n\nFor example, to set or access the key for the 2nd merchant-defined data field in the array, you would reference `merchantDefinedInformation[1].key`.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].key` and\n`merchantDefinedInformation[1].key` for data that you want to provide to the issuer to identify the\ntransaction.\n\nFor details, see the `merchant_defined_data1` request-level field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "value": { "type": "string", "maxLength": 255, "description": "The value you assign for your merchant-defined data field.\n\nFor details, see `merchant_defined_data1` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event CyberSource discovers that a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, CyberSource will immediately suspend the merchant's account, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].value` and\n`merchantDefinedInformation[1].value` for data that you want to provide to the issuer to identify the\ntransaction. For details, see \"Installment Payments on CyberSource through VisaNet\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nFor installment payments with Mastercard in Brazil:\n- The value for merchantDefinedInformation[0].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 25-44\n - Field: Reference Field 2\n- The value for merchantDefinedInformation[1].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 45-64\n - Field: Reference Field 3\n" } } } }, "agreementInformation": { "type": "object", "properties": { "indicator": { "type": "string", "description": "Indicates whether the transaction is a billing\nagreement. Possible values\n- true\n- false (default)\n" }, "description": { "type": "string", "description": "Description of the billing agreement" } } }, "travelInformation": { "type": "object", "properties": { "autoRental": { "type": "object", "properties": { "companyName": { "type": "string", "maxLength": 50, "description": "Merchant to send their auto rental company name\n" }, "affiliateName": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the affiliate name.\n" }, "rentalAddress": { "type": "object", "properties": { "city": { "type": "string", "maxLength": 25, "description": "City in which the auto was rented.\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for American Express.\n\nFor all other card types, this field is ignored.\n" }, "state": { "type": "string", "maxLength": 3, "description": "State in which the auto was rented. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n" }, "country": { "type": "string", "maxLength": 3, "description": "Country where the auto was rented. Use the [ISO Standard Country Codes.](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\nThis field is supported only for American Express.\n" }, "locationId": { "type": "string", "maxLength": 10, "description": "The agency code, address, phone number, etc., used to identify the location where the vehicle was rented.\n" }, "address1": { "type": "string", "maxLength": 13, "description": "Address from where the vehicle was rented.\n" }, "address2": { "type": "string", "maxLength": 13, "description": "Address from where the vehicle was rented.\n" }, "postalCode": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the rental address's postal code.\n" }, "location": { "type": "string", "maxLength": 38, "description": "This field contains the location where a taxi passenger was picked up or where an auto rental vehicle was picked up. In most cases, this is the rental agency's business name that appears on the storefront and/or customer receipts, commonly referred to as the DBA (Doing Business As) name. However, if the vehicle was picked up at another location (e.g., a hotel,auto dealership, repair shop, etc.), the name of that location should be used. This entry must be easily recognized by the Cardmember to avoid unnecessary inquiries. If the name is more than 38 characters, use proper and meaningful abbreviation, when possible.\n" } } }, "returnAddress": { "type": "object", "properties": { "city": { "type": "string", "maxLength": 25, "description": "City where the auto was returned to the rental agency.\n" }, "state": { "type": "string", "maxLength": 3, "description": "State in which the auto was returned to the rental agency. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for MasterCard and American Express.\n" }, "country": { "type": "string", "maxLength": 3, "description": "Country where the auto was returned to the rental agency. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" }, "locationId": { "type": "string", "maxLength": 10, "description": "Code, address, phone number, etc. used to identify the location of the auto rental return.\nThis field is supported only for MasterCard and American Express.\n" }, "address1": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the rental address's street address.\n" }, "postalCode": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the return address's postal code.\n" }, "location": { "type": "string", "maxLength": 38, "description": "This field contains the location where the taxi passenger was dropped off or where the auto rental vehicle was returned.\n" } } }, "returnDateTime": { "type": "string", "maxLength": 21, "description": "Date/time the auto was returned to the rental agency.\nFormat: ``yyyy-MM-dd HH-mm-ss z``\nThis field is supported for Visa, MasterCard, and American Express.\n" }, "rentalDateTime": { "type": "string", "maxLength": 21, "description": "Date/time the auto was picked up from the rental agency.\nFormat: `yyyy-MM-dd HH-mm-ss z`\nThis field is supported for Visa, MasterCard, and American Express.\n" }, "customerName": { "type": "string", "maxLength": 40, "description": "Name of the individual making the rental agreement.\n\nValid data lengths by card:\n\n|Card Specific Validation|VISA|MasterCard|Discover|AMEX|\n|--- |--- |--- |--- |\n| Filed Length| 40| 40| 29| 26|\n| Field Type| AN| ANS| AN| AN|\n| M/O/C| O| M| M| M|\n" } } } } } } } } ], "x-example": { "example0": { "summary": "Alternative Payments Create Sessions Request", "sample-name": "Create Sessions Request", "value": { "clientReferenceInformation": { "code": "TC0824-06" }, "processingInformation": { "actionList": "AP_SESSIONS" }, "orderInformation": { "amountDetails": { "totalAmount": "1999.99", "currency": "USD" } }, "paymentInformation": { "paymentType": { "method": { "name": "KLARNA" }, "name": "invoice" } } } } }, "responses": { "201": { "description": "Successful response.", "schema": { "title": "ptsV2PaymentsPost201Response", "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." } } }, "reversal": { "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." } } }, "capture": { "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." } } }, "customer": { "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." } } }, "paymentInstrument": { "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." } } }, "shippingAddress": { "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." } } }, "instrumentIdentifier": { "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.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "Status of the sessions request.\nPossible values:\n\uf06e Created\n\uf06e Failed\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" }, "errorInformation": { "type": "object", "properties": { "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - AVS_FAILED\n - CONTACT_PROCESSOR\n - EXPIRED_CARD\n - PROCESSOR_DECLINED\n - INSUFFICIENT_FUND\n - STOLEN_LOST_CARD\n - ISSUER_UNAVAILABLE\n - UNAUTHORIZED_CARD\n - CVN_NOT_MATCH\n - EXCEEDS_CREDIT_LIMIT\n - INVALID_CVN\n - DECLINED_CHECK\n - BLACKLISTED_CUSTOMER\n - SUSPENDED_ACCOUNT\n - PAYMENT_REFUSED\n - CV_FAILED\n - INVALID_ACCOUNT\n - GENERAL_DECLINE\n - INVALID_MERCHANT_CONFIGURATION\n - DECISION_PROFILE_REJECT\n - SCORE_EXCEEDS_THRESHOLD\n - PENDING_AUTHENTICATION\n - ACH_VERIFICATION_FAILED\n - DECISION_PROFILE_REVIEW\n - CONSUMER_AUTHENTICATION_REQUIRED\n - CONSUMER_AUTHENTICATION_FAILED\n - ALLOWABLE_PIN_RETRIES_EXCEEDED\n - PROCESSOR_ERROR\n - CUSTOMER_WATCHLIST_MATCH\n - ADDRESS_COUNTRY_WATCHLIST_MATCH\n - EMAIL_COUNTRY_WATCHLIST_MATCH\n - IP_COUNTRY_WATCHLIST_MATCH\n - INVALID_MERCHANT_CONFIGURATION\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" } } } } } }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "submitLocalDateTime": { "type": "string", "maxLength": 14, "description": "Date and time at your physical location.\n\nFormat: `YYYYMMDDhhmmss`, where YYYY = year, MM = month, DD = day, hh = hour, mm = minutes ss = seconds\n\n#### PIN Debit\nOptional field for PIN Debit purchase and credit requests.\n" }, "ownerMerchantId": { "type": "string", "description": "Merchant ID that was used to create the subscription or customer profile for which the service was requested.\n\nIf your CyberSource account is enabled for Recurring Billing, this field is returned only if you are using\nsubscription sharing and if your merchant ID is in the same merchant ID pool as the owner merchant ID.\n\nIf your CyberSource account is enabled for Payment Tokenization, this field is returned only if you are using\nprofile sharing and if your merchant ID is in the same merchant ID pool as the owner merchant ID.\n" } } }, "processorInformation": { "type": "object", "properties": { "transactionId": { "type": "string", "maxLength": 50, "description": "Network transaction identifier (TID). You can use this value to identify a specific transaction when you are\ndiscussing the transaction with your processor. Not all processors provide this value.\n\nReturned by the authorization service.\n\n#### PIN debit\nTransaction identifier generated by the processor.\n\nReturned by PIN debit credit.\n\n#### GPX\nProcessor transaction ID.\n\n#### Cielo\nFor Cielo, this value is the non-sequential unit (NSU) and is supported for all transactions. The value is generated by Cielo or the issuing bank.\n\n#### Comercio Latino\nFor Comercio Latino, this value is the proof of sale or non-sequential unit (NSU) number generated by the acquirers Cielo and Rede, or the issuing bank.\n\n#### CyberSource through VisaNet and GPN\nFor details about this value for CyberSource through VisaNet and GPN, see \"Network Transaction Identifiers\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Moneris\nThis value identifies the transaction on a host system. It contains the following information:\n- Terminal used to process the transaction\n- Shift during which the transaction took place\n- Batch number\n- Transaction number within the batch\nYou must store this value. If you give the customer a receipt, display this value on the receipt.\n\n**Example** For the value\n66012345001069003:\n- Terminal ID = 66012345\n- Shift number = 001\n- Batch number = 069\n- Transaction number = 003\n" }, "paymentUrl": { "type": "string", "maxLength": 15, "description": "Direct the customer to this URL to complete the payment." }, "responseDetails": { "type": "string", "maxLength": 255, "description": "This field might contain information about a decline. This field is supported only for **CyberSource through\nVisaNet**.\n" }, "token": { "type": "string", "maxLength": 24, "description": "Payment gateway/processor assigned session token.\n" }, "responseCode": { "type": "string", "maxLength": 10, "description": "Transaction status from the processor.\n" } } }, "paymentInformation": { "type": "object", "properties": { "eWallet": { "type": "object", "properties": { "fundingSource": { "type": "string", "maxLength": 24, "description": "Payment mode for the transaction, possible values\n- INSTANT_TRANSFER\n- MANUAL_BANK_TRANSFER\n- DELAYED_TRANSFER\n- ECHECK\n" } } } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. For details, see:\n- \"Authorization Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Capture Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Credit Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\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. For details, see \"Zero Amount Authorizations,\" \"Credit Information for Specific Processors\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\nRequired for creating a new invoice.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. For details, see `grand_total_amount` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in \"Authorization Information for Specific Processors\" of the [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### DCC for First Data\nNot used.\n" } } } } } } } }, "400": { "description": "Invalid request.", "schema": { "type": "object", "title": "ptsV2PaymentsPost400Response", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_CARD\n - CARD_TYPE_NOT_ACCEPTED\n - INVALID_MERCHANT_CONFIGURATION\n - PROCESSOR_UNAVAILABLE\n - INVALID_AMOUNT\n - INVALID_CARD_TYPE\n - INVALID_PAYMENT_ID\n - NOT_SUPPORTED\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" } } } } } } }, "502": { "description": "Unexpected system error or system timeout.", "schema": { "title": "ptsV2PaymentsPost502Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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." } } } } } } }, "/pts/v2/payment-references/{id}": { "patch": { "summary": "Update Alternative Payments Sessions Request", "description": "Update Alternative Payments Sessions Request", "tags": [ "payments" ], "operationId": "UpdateSessionReq", "x-devcenter-metaData": { "categoryTag": "Payments", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/payments/developer/ctv/rest/payments/payments-intro.html" }, "parameters": [ { "name": "createSessionRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" } } }, "processingInformation": { "type": "object", "properties": { "sessionType": { "type": "string", "maxLength": 5, "description": "Will have 2 values, 'U' (Update) , 'N' (New). Any other values will be rejected. Default will be 'N'\n" }, "paymentFlowMode": { "type": "string", "maxLength": 50, "description": "Whether merchant wants to pass the flow Inline or want to invoke Klarna Hosted Page\n" }, "actionList": { "type": "array", "description": "Possible values are one or more of follows:\n\n - `AP_SESSIONS`: Use this when Alternative Payment Sessions service is requested.\n", "items": { "type": "string" } } } }, "paymentInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 20, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n\n#### FDMS Nashville\nRequired. String (19)\n\n#### GPX\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nValid values: `01` through `12`. Leading 0 is required.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value\n(`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is\nin the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause\nthe issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (_type_=039), if there is no expiration date on the card, use `12`.\n\n#### FDMS Nashville\nRequired field.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the payment card expires.\n\nFormat: `YYYY`.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`1900` through `3000`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (**_type_**`=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDMS Nashville\nRequired field.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. If you send in 2 digits, they must be the last 2 digits of the year.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `014`: Enroute[^1]\n- `021`: JAL[^1]\n- `024`: Maestro (UK Domestic)[^1]\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `042`: Maestro (International)[^1]\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `054`: Elo[^3]\n- `062`: China UnionPay\n- '070': EFTPOS\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Number.\n\n#### FDMS Nashville\nRequired for American Express or if swiped; otherwise, optional.\n\n#### Ingenico ePayments\nDo not include this field when `commerceIndicator=recurring`.\n**Note** Ingenico ePayments was previously called _Global Collect_.\n\n#### TSYS Acquiring Solutions\nOptional if pointOfSaleInformation.entryMode=keyed; otherwise, not used.\n\n#### GPX\nOptional.\n\n#### All other processors:\nOptional.\n" }, "useAs": { "type": "string", "maxLength": 20, "description": "Flag that specifies the type of account associated with the card.\nThis field is available only for China UnionPay, Cielo, Comercio Latino and Visa Platform Connect.\nThe cardholder provides this information during the payment process.\n\nThis field is required for:\n - Debit transactions on Cielo and Comercio Latino.\n - Transactions with Brazilian-issued cards on CyberSource through VisaNet.\n\n**China UnionPayCard Transactions on China UnionPay:**\nPossible values:\n - C: Domestic credit card\n - D: Domestic debit card\n - F: International credit card\n - I: International debit card\n\nWhen the value is D, the e-commerce indicator and CAVV fields must be included in the authorization request.\nWhen the value is C, F or I the card verification number, expiration month and expiration year fields must in included in the authorization request.\n\n**Cielo and Comercio Latino Credit Card Transactions:**\nOn these processors, this field is supported only for authorizations.\nPossible values:\n - CR: Credit card\n - DB: Debit card \n\n**Visa Platform Connect Credit Card Transactions:**\nThis field is supported only for all card Types on Visa Platform Connect.\n\nA value of CR or DB in the useAs field takes precedence over any value in the Source Account Type field.\n" } } }, "bank": { "type": "object", "properties": { "swiftCode": { "type": "string", "description": "Bank's SWIFT code. You can use this field only when scoring a direct debit transaction.\nRequired only for crossborder transactions.\n\nFor all possible values, see the `bank_swiftcode` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "account": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 17, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "iban": { "type": "string", "maxLength": 50, "description": "International Bank Account Number (IBAN) for the bank account. For some countries you can provide this number instead of the traditional bank account information. You can use this field only when scoring a direct debit transaction.\n\nFor all possible values, see the `bank_iban` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" } } } } }, "eWallet": { "type": "object", "properties": { "fundingSource": { "type": "string", "maxLength": 30, "description": "Payment method for the unit purchase.\n Possible values:\n UNRESTRICTED (default)\u2014this value is\n available only when configured by PayPal\n for the merchant.\n INSTANT.\n" } } }, "options": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 255, "description": "Identifier for a PayPal credit transaction.\nValue: Credit\n" } } }, "paymentType": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" }, "subTypeName": { "type": "string", "description": "In case the APM supports multiple modes of initiation (e.g. Alipay via QR Code or Barcode)\n" }, "method": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is enabled through a Method. Examples: Visa, Master Card, ApplePay, iDeal, 7Eleven, alfamart, etc\n\nFor Japan Payment Processing Valid Values:\n- 1 Banking Data\n- 2 Authorization Data\n\n#### Via KCP\n- `KCP` : Local Card, Bank Transfer and Carrier Billing.\n- `PAYCO`\n- `KAKAOPAY`\n- `NAVERPAY`\n" }, "type": { "type": "string", "description": "The payment channel that facilitates the transactions. This parameter can be used if the payment channels are listed on the merchant's site, and the payment channel is known.\n\nPossible Values:\n\n#### Via PPRO\n- `alfaVa`\n- `kredivo`\n- `consumerBarCode`\n- `merchantQrCode`\n- `dokuWallet`\n" } } } } } } }, "orderInformation": { "type": "object", "properties": { "billTo": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 87, "description": "Company Name.\n" } } }, "shipTo": { "type": "object", "properties": { "email": { "type": "string", "maxLength": 60, "description": "Customer's primary email address, including the full domain name.\n" }, "title": { "type": "string", "description": "The title of the person receiving the product.", "maxLength": 10 }, "firstName": { "type": "string", "maxLength": 60, "description": "First name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" }, "middleName": { "type": "string", "maxLength": 60, "description": "Middle name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Last name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n\nFor processor-specific information, see the company_name field in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Second line of the shipping address.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "district": { "type": "string", "maxLength": 50, "description": "Neighborhood, community, or region within a city or municipality." }, "locality": { "type": "string", "maxLength": 50, "description": "City of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S. or\nCanada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", "maxLength": 2 }, "buildingNumber": { "type": "string", "maxLength": 15, "description": "Building number in the street address. For example, the building number is 187 in the following address:\n\nRua da Quitanda 187\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Phone number associated with the shipping address." }, "immutable": { "type": "string", "description": "Indicates whether customers are permitted to\nedit the shipping address in their PayPal\naccount. Possible values:\n- true: Customer cannot edit the shipping\naddress.\n- false (default): Customer can edit the\nshipping address.\n", "maxLength": 100 }, "notApplicable": { "type": "string", "description": "Indicates whether the shipping address is\ndisplayed to the customer in their PayPal\naccount. Possible values:\n- true: Shipping address is not displayed.\n- false (default): Shipping address is\ndisplayed.\nFor example, for digital downloads and\nservices in which a shipping address is not\nrequired, set the value to true.\n", "maxLength": 10 }, "county": { "type": "string", "description": "U.S. county if available.", "maxLength": 30 } } }, "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. For details, see:\n- \"Authorization Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Capture Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Credit Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\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. For details, see \"Zero Amount Authorizations,\" \"Credit Information for Specific Processors\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\nRequired for creating a new invoice.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. For details, see `grand_total_amount` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in \"Authorization Information for Specific Processors\" of the [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "discountAmount": { "type": "string", "maxLength": 15, "description": "Total discount amount applied to the order.\n" }, "taxAmount": { "type": "string", "maxLength": 12, "description": "Total tax amount for all the items in the order.\n" }, "dutyAmount": { "type": "string", "maxLength": 15, "description": "Total charges for any import or export duties included in the order.\n" }, "exchangeRate": { "type": "string", "maxLength": 13, "description": "Exchange rate returned by the DCC service. Includes a decimal point and a maximum of 4 decimal places.\n\nFor details, see `exchange_rate` request-level field description in the [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf)\n" }, "exchangeRateTimeStamp": { "type": "string", "maxLength": 14, "description": "Time stamp for the exchange rate. This value is returned by the DCC service.\n\nFormat: `YYYYMMDD~HH:MM` where ~ denotes a space.\n" }, "settlementCurrency": { "type": "string", "maxLength": 3, "description": "This is a multicurrency-only field. It contains a 3-digit numeric code that identifies the currency used by the issuer to bill the cardholder's account.\nThis field is returned for OCT transactions.\n" }, "giftwrapAmount": { "type": "string", "maxLength": 19, "description": "giftwrap amount (RFU)." }, "handlingAmount": { "type": "string", "maxLength": 19, "description": "handling amount (RFU)" }, "shippingAmount": { "type": "string", "maxLength": 19, "description": "shipping amount (RFU)" }, "shippingDiscountAmount": { "type": "string", "maxLength": 19, "description": "shipping discount amount (RFU)" }, "insuranceAmount": { "type": "string", "maxLength": 19, "description": "insurance amount (RFU)" } } }, "lineItems": { "type": "array", "items": { "type": "object", "description": "List of the line items from the order, which are included in an invoice.", "properties": { "productSku": { "type": "string", "maxLength": 255, "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" }, "productName": { "type": "string", "maxLength": 255, "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "quantity": { "type": "integer", "minimum": 1, "maximum": 999999999, "default": 1, "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "unitPrice": { "type": "string", "maxLength": 15, "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in the [Merchant Descriptors Using the SCMP API Guide.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Merchant_Descriptors_SCMP_API/html/)\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" }, "discountAmount": { "type": "string", "maxLength": 13, "description": "Discount applied to the item." }, "discountRate": { "type": "string", "maxLength": 6, "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" }, "taxAmount": { "type": "string", "maxLength": 15, "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" }, "taxRate": { "type": "string", "maxLength": 7, "description": "Tax rate applied to the item.\n\nFor details, see `tax_rate` field description in the [Level II and Level III Processing Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" }, "totalAmount": { "type": "string", "maxLength": 13, "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" }, "productCode": { "type": "string", "maxLength": 255, "description": "Type of product. The value for this field is used to identify the product category (electronic, handling, physical,\nservice, or shipping). The default value is `default`.\n\nIf you are performing an authorization transaction (`processingOptions.capture` is set to `false`), and you set\nthis field to a value other than `default` or one of the values related to shipping and/or handling, then\n`orderInformation.lineItems[].quantity`, `orderInformation.lineItems[].productName`, and\n`orderInformation.lineItems[].productSku` fields are required.\n\nOptional field.\n\nFor details, see the `product_code` field description in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nThe Product Codes for the tax service are located in the Cybersource Tax Codes guide. Contact Customer Support to request the guide. If you don't send a tax service Product Code in your tax request, product-based rules or exemptions will not be applied and the transaction will default to fully taxable in the locations where you've indicated you need to collect tax [by way of nexus, no nexus, or seller registration number fields].\n" }, "productDescription": { "type": "string", "description": "Brief description of item." } } } }, "invoiceDetails": { "type": "object", "properties": { "costCenter": { "type": "string", "description": "Cost centre of the merchant." }, "productDescription": { "type": "string", "description": "Brief description of item." } } }, "shippingDetails": { "type": "object", "properties": { "shippingMethod": { "type": "string", "maxLength": 10, "description": "Shipping method for the product. Possible values:\n\n - `lowcost`: Lowest-cost service\n - `sameday`: Courier or same-day service\n - `oneday`: Next-day or overnight service\n - `twoday`: Two-day service\n - `threeday`: Three-day service\n - `pickup`: Store pick-up\n - `other`: Other shipping method\n - `none`: No shipping method because product is a service or subscription\n" } } } } }, "buyerInformation": { "type": "object", "properties": { "dateOfBirth": { "type": "string", "maxLength": 8, "description": "Recipient's date of birth. **Format**: `YYYYMMDD`.\n\nThis field is a `pass-through`, which means that CyberSource ensures that the value is eight numeric characters\nbut otherwise does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n\nFor more details, see `recipient_date_of_birth` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "gender": { "type": "string", "maxLength": 3, "description": "Customer's gender. Possible values are F (female), M (male),O (other)." }, "language": { "type": "string", "maxLength": 2, "description": "language setting of the user" }, "noteToSeller": { "type": "string", "maxLength": 255, "description": "Note to the recipient of the funds in this transaction" }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "The value of the identification type. This field is supported only on the following processors.\n\n#### ComercioLatino\nSet this field to the Cadastro de Pessoas Fisicas (CPF).\n\n#### CyberSource Latin American Processing\nSupported for Redecard in Brazil. Set this field to the Cadastro de Pessoas Fisicas (CPF), which is required for AVS for Redecard in Brazil.\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\nFor processor-specific information, see the `personal_id` field in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n \nIf `type = PASSPORT`, this is the cardholder's passport number.\nRecommended for Discover ProtectBuy.\n" } } } } } }, "deviceInformation": { "type": "object", "properties": { "ipAddress": { "type": "string", "maxLength": 45, "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" }, "deviceType": { "type": "string", "maxLength": 60, "description": "The device type at the client side." }, "id": { "type": "string", "maxLength": 50, "description": "../../../commons/definitions/device.yaml#/properties/id" }, "userAgent": { "type": "string", "maxLength": 40, "description": "Customer's browser as identified from the HTTP header data. For example, `Mozilla` is the value that identifies\nthe Netscape browser.\n" } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "name": { "type": "string", "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" }, "alternateName": { "type": "string", "maxLength": 13, "description": "An alternate name for the merchant.\n\nFor the descriptions, used-by information, data types, and lengths for these fields, see the `merchant_descriptor_alternate` field description\nin [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)-->\n" }, "contact": { "type": "string", "maxLength": 14, "description": "For the descriptions, used-by information, data types, and lengths for these fields, see `merchant_descriptor_contact` field description\nin [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)-->\nContact information for the merchant.\n\n**Note** These are the maximum data lengths for the following payment processors:\n- FDCCompass (13)\n- Paymentech (13)\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of merchant's address. For the descriptions, used-by information, data types, and lengths for these fields, see `merchant_descriptor_street` field description\nin [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "locality": { "type": "string", "maxLength": 13, "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" }, "country": { "type": "string", "maxLength": 2, "description": "Merchant's country.\n\n#### PIN debit\nCountry code for your business location. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\nThis value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n**Note** If your business is located in the U.S. or Canada and you include this field in a\nrequest, you must also include `merchantInformation.merchantDescriptor.administrativeArea`.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "postalCode": { "type": "string", "maxLength": 14, "description": "Merchant's postal code.\n\n#### PIN debit\nPostal code for your business location. This value might be displayed on the cardholder's statement.\n\nIf your business is domiciled in the U.S., you can use a 5-digit or 9-digit postal code. A 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\nExample: `12345-6789`\n\nIf your business is domiciled in Canada, you can use a 6-digit or 9-digit postal code. A 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space]\n[numeric][alpha][numeric]\nExample: `A1B 2C3`\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n**Important** Mastercard requires a postal code for any country that uses postal codes.\nYou can provide the postal code in your account or you can include this field in your request.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "administrativeArea": { "type": "string", "description": "The state where the merchant is located.\n\n#### PIN debit\nState code or region code for your business. Use the Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "phone": { "type": "string", "maxLength": 13, "description": "Merchant phone as contact information for CNP transactions\n" }, "url": { "type": "string", "maxLength": 255, "description": "Address of company's website provided by merchant\n" }, "countryOfOrigin": { "type": "string", "maxLength": 2, "description": "#### Visa Platform Connect\nThis field will indicate merchant country of origin\n" }, "storeId": { "type": "string", "maxLength": 50, "description": "The identifier of the store.\n" }, "storeName": { "type": "string", "maxLength": 50, "description": "The name of the store.\n" }, "customerServicePhoneNumber": { "type": "string", "maxLength": 27, "description": "#### Visa Platform Connect\nIndicates customer service phone number of Merchant.\n" } } }, "cancelUrl": { "type": "string", "maxLength": 255, "description": "customer would be redirected to this url based on the decision of the transaction" }, "successUrl": { "type": "string", "maxLength": 255, "description": "customer would be redirected to this url based on the decision of the transaction" }, "failureUrl": { "type": "string", "maxLength": 255, "description": "customer would be redirected to this url based on the decision of the transaction" }, "noteToBuyer": { "type": "string", "maxLength": 25, "description": "Free-form text field." } } }, "userInterface": { "type": "object", "properties": { "borderRadius": { "type": "string", "maxLength": 19, "description": "Border Radius, Allowed Values - Number, Chars, SPACE, Percentage(%), DOT(.),\nExample '25px 10px 25px 10px'; '2em 1em 0.5em 3em'\n" }, "theme": { "type": "string", "maxLength": 19, "description": "UI Theme Name/Design Name - Allowed Chars: Alpha Numeric, Dot (.), Hyphen (-), Underscore (_)\n" }, "color": { "type": "object", "properties": { "border": { "type": "string", "description": "Border Color\n", "maxLength": 10 }, "borderSelected": { "type": "string", "description": "Selected Border Color\n", "maxLength": 10 }, "button": { "type": "string", "description": "Button Color\n", "maxLength": 10 }, "buttonText": { "type": "string", "description": "Button Text Color\n", "maxLength": 10 }, "checkbox": { "type": "string", "description": "Checkbox Color\n", "maxLength": 10 }, "checkboxCheckMark": { "type": "string", "description": "Checkbox Checkmark Color\n", "maxLength": 10 }, "header": { "type": "string", "description": "Header Color\n", "maxLength": 10 }, "link": { "type": "string", "description": "Link Color\n", "maxLength": 10 }, "text": { "type": "string", "description": "Text Color\n", "maxLength": 10 } } } } }, "merchantDefinedInformation": { "type": "array", "description": "The object containing the custom data that the merchant defines.\n", "items": { "type": "object", "properties": { "key": { "type": "string", "maxLength": 50, "description": "The number you assign for as the key for your merchant-defined data field. Valid values are 0 to 100.\n\nFor example, to set or access the key for the 2nd merchant-defined data field in the array, you would reference `merchantDefinedInformation[1].key`.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].key` and\n`merchantDefinedInformation[1].key` for data that you want to provide to the issuer to identify the\ntransaction.\n\nFor details, see the `merchant_defined_data1` request-level field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "value": { "type": "string", "maxLength": 255, "description": "The value you assign for your merchant-defined data field.\n\nFor details, see `merchant_defined_data1` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event CyberSource discovers that a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, CyberSource will immediately suspend the merchant's account, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].value` and\n`merchantDefinedInformation[1].value` for data that you want to provide to the issuer to identify the\ntransaction. For details, see \"Installment Payments on CyberSource through VisaNet\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nFor installment payments with Mastercard in Brazil:\n- The value for merchantDefinedInformation[0].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 25-44\n - Field: Reference Field 2\n- The value for merchantDefinedInformation[1].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 45-64\n - Field: Reference Field 3\n" } } } }, "agreementInformation": { "type": "object", "properties": { "indicator": { "type": "string", "description": "Indicates whether the transaction is a billing\nagreement. Possible values\n- true\n- false (default)\n" }, "description": { "type": "string", "description": "Description of the billing agreement" } } }, "travelInformation": { "type": "object", "properties": { "autoRental": { "type": "object", "properties": { "companyName": { "type": "string", "maxLength": 50, "description": "Merchant to send their auto rental company name\n" }, "affiliateName": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the affiliate name.\n" }, "rentalAddress": { "type": "object", "properties": { "city": { "type": "string", "maxLength": 25, "description": "City in which the auto was rented.\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for American Express.\n\nFor all other card types, this field is ignored.\n" }, "state": { "type": "string", "maxLength": 3, "description": "State in which the auto was rented. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n" }, "country": { "type": "string", "maxLength": 3, "description": "Country where the auto was rented. Use the [ISO Standard Country Codes.](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\nThis field is supported only for American Express.\n" }, "locationId": { "type": "string", "maxLength": 10, "description": "The agency code, address, phone number, etc., used to identify the location where the vehicle was rented.\n" }, "address1": { "type": "string", "maxLength": 13, "description": "Address from where the vehicle was rented.\n" }, "address2": { "type": "string", "maxLength": 13, "description": "Address from where the vehicle was rented.\n" }, "postalCode": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the rental address's postal code.\n" }, "location": { "type": "string", "maxLength": 38, "description": "This field contains the location where a taxi passenger was picked up or where an auto rental vehicle was picked up. In most cases, this is the rental agency's business name that appears on the storefront and/or customer receipts, commonly referred to as the DBA (Doing Business As) name. However, if the vehicle was picked up at another location (e.g., a hotel,auto dealership, repair shop, etc.), the name of that location should be used. This entry must be easily recognized by the Cardmember to avoid unnecessary inquiries. If the name is more than 38 characters, use proper and meaningful abbreviation, when possible.\n" } } }, "returnAddress": { "type": "object", "properties": { "city": { "type": "string", "maxLength": 25, "description": "City where the auto was returned to the rental agency.\n" }, "state": { "type": "string", "maxLength": 3, "description": "State in which the auto was returned to the rental agency. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor authorizations, this field is supported for Visa, MasterCard, and American Express.\n\nFor captures, this field is supported only for MasterCard and American Express.\n" }, "country": { "type": "string", "maxLength": 3, "description": "Country where the auto was returned to the rental agency. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" }, "locationId": { "type": "string", "maxLength": 10, "description": "Code, address, phone number, etc. used to identify the location of the auto rental return.\nThis field is supported only for MasterCard and American Express.\n" }, "address1": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the rental address's street address.\n" }, "postalCode": { "type": "string", "maxLength": 50, "description": "When merchant wants to send the return address's postal code.\n" }, "location": { "type": "string", "maxLength": 38, "description": "This field contains the location where the taxi passenger was dropped off or where the auto rental vehicle was returned.\n" } } }, "returnDateTime": { "type": "string", "maxLength": 21, "description": "Date/time the auto was returned to the rental agency.\nFormat: ``yyyy-MM-dd HH-mm-ss z``\nThis field is supported for Visa, MasterCard, and American Express.\n" }, "rentalDateTime": { "type": "string", "maxLength": 21, "description": "Date/time the auto was picked up from the rental agency.\nFormat: `yyyy-MM-dd HH-mm-ss z`\nThis field is supported for Visa, MasterCard, and American Express.\n" }, "customerName": { "type": "string", "maxLength": 40, "description": "Name of the individual making the rental agreement.\n\nValid data lengths by card:\n\n|Card Specific Validation|VISA|MasterCard|Discover|AMEX|\n|--- |--- |--- |--- |\n| Filed Length| 40| 40| 29| 26|\n| Field Type| AN| ANS| AN| AN|\n| M/O/C| O| M| M| M|\n" } } } } } } } }, { "name": "id", "in": "path", "description": "The payment ID. This ID is returned from a previous payment request.", "required": true, "type": "string" } ], "x-example": { "example0": { "summary": "Alternative Payments Create Sessions Request", "sample-name": "Create Sessions Request", "value": { "clientReferenceInformation": { "code": "TC0824-06" }, "processingInformation": { "actionList": "AP_SESSIONS" }, "orderInformation": { "amountDetails": { "totalAmount": "1999.99", "currency": "USD" } }, "paymentInformation": { "paymentType": { "method": { "name": "KLARNA" }, "name": "invoice" } } } } }, "responses": { "201": { "description": "Successful response.", "schema": { "title": "ptsV2PaymentsPost201Response", "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." } } }, "reversal": { "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." } } }, "capture": { "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." } } }, "customer": { "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." } } }, "paymentInstrument": { "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." } } }, "shippingAddress": { "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." } } }, "instrumentIdentifier": { "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.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "Status of the sessions request.\nPossible values:\n\uf06e Created\n\uf06e Failed\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" }, "errorInformation": { "type": "object", "properties": { "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - AVS_FAILED\n - CONTACT_PROCESSOR\n - EXPIRED_CARD\n - PROCESSOR_DECLINED\n - INSUFFICIENT_FUND\n - STOLEN_LOST_CARD\n - ISSUER_UNAVAILABLE\n - UNAUTHORIZED_CARD\n - CVN_NOT_MATCH\n - EXCEEDS_CREDIT_LIMIT\n - INVALID_CVN\n - DECLINED_CHECK\n - BLACKLISTED_CUSTOMER\n - SUSPENDED_ACCOUNT\n - PAYMENT_REFUSED\n - CV_FAILED\n - INVALID_ACCOUNT\n - GENERAL_DECLINE\n - INVALID_MERCHANT_CONFIGURATION\n - DECISION_PROFILE_REJECT\n - SCORE_EXCEEDS_THRESHOLD\n - PENDING_AUTHENTICATION\n - ACH_VERIFICATION_FAILED\n - DECISION_PROFILE_REVIEW\n - CONSUMER_AUTHENTICATION_REQUIRED\n - CONSUMER_AUTHENTICATION_FAILED\n - ALLOWABLE_PIN_RETRIES_EXCEEDED\n - PROCESSOR_ERROR\n - CUSTOMER_WATCHLIST_MATCH\n - ADDRESS_COUNTRY_WATCHLIST_MATCH\n - EMAIL_COUNTRY_WATCHLIST_MATCH\n - IP_COUNTRY_WATCHLIST_MATCH\n - INVALID_MERCHANT_CONFIGURATION\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" } } } } } }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "submitLocalDateTime": { "type": "string", "maxLength": 14, "description": "Date and time at your physical location.\n\nFormat: `YYYYMMDDhhmmss`, where YYYY = year, MM = month, DD = day, hh = hour, mm = minutes ss = seconds\n\n#### PIN Debit\nOptional field for PIN Debit purchase and credit requests.\n" }, "ownerMerchantId": { "type": "string", "description": "Merchant ID that was used to create the subscription or customer profile for which the service was requested.\n\nIf your CyberSource account is enabled for Recurring Billing, this field is returned only if you are using\nsubscription sharing and if your merchant ID is in the same merchant ID pool as the owner merchant ID.\n\nIf your CyberSource account is enabled for Payment Tokenization, this field is returned only if you are using\nprofile sharing and if your merchant ID is in the same merchant ID pool as the owner merchant ID.\n" } } }, "processorInformation": { "type": "object", "properties": { "transactionId": { "type": "string", "maxLength": 50, "description": "Network transaction identifier (TID). You can use this value to identify a specific transaction when you are\ndiscussing the transaction with your processor. Not all processors provide this value.\n\nReturned by the authorization service.\n\n#### PIN debit\nTransaction identifier generated by the processor.\n\nReturned by PIN debit credit.\n\n#### GPX\nProcessor transaction ID.\n\n#### Cielo\nFor Cielo, this value is the non-sequential unit (NSU) and is supported for all transactions. The value is generated by Cielo or the issuing bank.\n\n#### Comercio Latino\nFor Comercio Latino, this value is the proof of sale or non-sequential unit (NSU) number generated by the acquirers Cielo and Rede, or the issuing bank.\n\n#### CyberSource through VisaNet and GPN\nFor details about this value for CyberSource through VisaNet and GPN, see \"Network Transaction Identifiers\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Moneris\nThis value identifies the transaction on a host system. It contains the following information:\n- Terminal used to process the transaction\n- Shift during which the transaction took place\n- Batch number\n- Transaction number within the batch\nYou must store this value. If you give the customer a receipt, display this value on the receipt.\n\n**Example** For the value\n66012345001069003:\n- Terminal ID = 66012345\n- Shift number = 001\n- Batch number = 069\n- Transaction number = 003\n" }, "paymentUrl": { "type": "string", "maxLength": 15, "description": "Direct the customer to this URL to complete the payment." }, "responseDetails": { "type": "string", "maxLength": 255, "description": "This field might contain information about a decline. This field is supported only for **CyberSource through\nVisaNet**.\n" }, "token": { "type": "string", "maxLength": 24, "description": "Payment gateway/processor assigned session token.\n" }, "responseCode": { "type": "string", "maxLength": 10, "description": "Transaction status from the processor.\n" } } }, "paymentInformation": { "type": "object", "properties": { "eWallet": { "type": "object", "properties": { "fundingSource": { "type": "string", "maxLength": 24, "description": "Payment mode for the transaction, possible values\n- INSTANT_TRANSFER\n- MANUAL_BANK_TRANSFER\n- DELAYED_TRANSFER\n- ECHECK\n" } } } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. For details, see:\n- \"Authorization Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Capture Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Credit Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\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. For details, see \"Zero Amount Authorizations,\" \"Credit Information for Specific Processors\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\nRequired for creating a new invoice.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. For details, see `grand_total_amount` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in \"Authorization Information for Specific Processors\" of the [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### DCC for First Data\nNot used.\n" } } } } } } } }, "400": { "description": "Invalid request.", "schema": { "type": "object", "title": "ptsV2PaymentsPost400Response", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_CARD\n - CARD_TYPE_NOT_ACCEPTED\n - INVALID_MERCHANT_CONFIGURATION\n - PROCESSOR_UNAVAILABLE\n - INVALID_AMOUNT\n - INVALID_CARD_TYPE\n - INVALID_PAYMENT_ID\n - NOT_SUPPORTED\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" } } } } } } }, "502": { "description": "Unexpected system error or system timeout.", "schema": { "title": "ptsV2PaymentsPost502Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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." } } } } } } }, "/tms/v2/customers": { "post": { "summary": "Create a Customer", "description": "| | | |\n| --- | --- | --- |\n|**Customers**
A Customer represents your tokenized customer information.
You should associate the Customer Id with the customer account on your systems.
A Customer can have one or more [Payment Instruments](#token-management_customer-payment-instrument_create-a-customer-payment-instrumentl) or [Shipping Addresses](#token-management_customer-shipping-address_create-a-customer-shipping-address) with one allocated as the Customers default.

**Creating a Customer**
It is recommended you [create a Customer via a Payment Authorization](#payments_payments_process-a-payment_samplerequests-dropdown_authorization-with-token-create_authorization-with-customer-token-creation_liveconsole-tab-request-body), this can be for a zero amount.
The Customer will be created with a Payment Instrument and Shipping Address.
You can also [add additional Payment Instruments to a Customer via a Payment Authorization](#payments_payments_process-a-payment_samplerequests-dropdown_authorization-with-token-create_authorization-create-default-payment-instrument-shipping-address-for-existing-customer_liveconsole-tab-request-body).
In Europe: You should perform Payer Authentication alongside the Authorization.|      |**Payment Network Tokens**
Network tokens perform better than regular card numbers and they are not necessarily invalidated when a cardholder loses their card, or it expires.
A Payment Network Token will be automatically created and used in future payments if you are enabled for the service.
A Payment Network Token can also be [provisioned for an existing Instrument Identifier](#token-management_instrument-identifier_enroll-an-instrument-identifier-for-payment-network-token).
For more information about Payment Network Tokens see the Developer Guide.

**Payments with Customers**
To perform a payment with the Customers default details specify the [Customer Id in the payments request](#payments_payments_process-a-payment_samplerequests-dropdown_authorization-using-tokens_authorization-with-customer-token-id_liveconsole-tab-request-body).
To perform a payment with a particular Payment Instrument or Shipping Address
specify the [Payment Instrument or Shipping Address Ids in the payments request](#payments_payments_process-a-payment_samplerequests-dropdown_authorization-using-tokens_authorization-with-customer-payment-instrument-and-shipping-address-token-id_liveconsole-tab-request-body).\n", "parameters": [ { "name": "profile-id", "in": "header", "description": "The Id of a profile containing user specific TMS configuration.", "required": false, "type": "string", "minLength": 36, "maxLength": 36, "x-hide-field": true }, { "name": "postCustomerRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } }, "paymentInstruments": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customers Payment Instruments.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments" } } }, "shippingAddress": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customers Shipping Addresses.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/shipping-addresses" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Customer Token." }, "objectInformation": { "type": "object", "properties": { "title": { "type": "string", "description": "Name or title of the customer.\n", "maxLength": 60 }, "comment": { "type": "string", "description": "Comments that you can make about the customer.\n", "maxLength": 150 } } }, "buyerInformation": { "type": "object", "properties": { "merchantCustomerID": { "type": "string", "description": "Your identifier for the customer.\n", "maxLength": 100 }, "email": { "type": "string", "maxLength": 255, "description": "Customer's primary email address, including the full domain name.\n" } } }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "description": "Client-generated order reference or tracking number.\n", "maxLength": 50 } } }, "merchantDefinedInformation": { "type": "array", "description": "Object containing the custom data that the merchant defines.\n", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The number you assign as the name for your merchant-defined data or secure field. Possible Values are data1 to data4 and sensitive1 to sensitive4\n\nFor example, to set the name for merchant-defined data 2 field, you would reference merchantDefinedInformation[x].name as data2\nPossible Values:\n- data1\n- data2\n- data3\n- data4\n- sensitive1\n- sensitive2\n- sensitive3\n- sensitive4\n" }, "value": { "type": "string", "description": "The value you assign for your merchant-defined data field.\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event it is discovered a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, the merchant's account will immediately be suspended, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n", "maxLength": 100 } } } }, "defaultPaymentInstrument": { "type": "object", "properties": { "id": { "type": "string", "description": "The Id of the Customers default Payment Instrument\n" } } }, "defaultShippingAddress": { "type": "object", "properties": { "id": { "type": "string", "description": "The Id of the Customers default Shipping Address\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Customer.\n" } } }, "_embedded": { "type": "object", "readOnly": true, "description": "Additional resources for the Customer.\n", "properties": { "defaultPaymentInstrument": { "readOnly": true, "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Payment Instrument.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments" } } }, "customer": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Payment Instrument Token." }, "object": { "type": "string", "readOnly": true, "example": "paymentInstrument", "description": "The type.\n\nPossible Values:\n- paymentInstrument\n" }, "default": { "type": "boolean", "description": "Flag that indicates whether customer payment instrument is the dafault.\nPossible Values:\n - `true`: Payment instrument is customer's default.\n - `false`: Payment instrument is not customer's default.\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "readOnly": true, "description": "The type of Payment Instrument.\nPossible Values:\n- cardHash\n" }, "bankAccount": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 18, "description": "Account type.\n\nPossible Values:\n - checking : C\n - general ledger : G This value is supported only on Wells Fargo ACH\n - savings : S (U.S. dollars only)\n - corporate checking : X (U.S. dollars only)\n" } } }, "card": { "type": "object", "properties": { "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "Value that indicates the card type. Possible Values v2 : v1:\n * 001 : visa\n * 002 : mastercard - Eurocard\u2014European regional brand of Mastercard\n * 003 : american express\n * 004 : discover\n * 005 : diners club\n * 006 : carte blanche\n * 007 : jcb\n * 008 : optima\n * 011 : twinpay credit\n * 012 : twinpay debit\n * 013 : walmart\n * 014 : enRoute\n * 015 : lowes consumer\n * 016 : home depot consumer\n * 017 : mbna\n * 018 : dicks sportswear\n * 019 : casual corner\n * 020 : sears\n * 021 : jal\n * 023 : disney\n * 024 : maestro uk domestic\n * 025 : sams club consumer\n * 026 : sams club business\n * 028 : bill me later\n * 029 : bebe\n * 030 : restoration hardware\n * 031 : delta online \u2014 use this value only for Ingenico ePayments. For other processors, use 001 for all Visa card types.\n * 032 : solo\n * 033 : visa electron\n * 034 : dankort\n * 035 : laser\n * 036 : carte bleue \u2014 formerly Cartes Bancaires\n * 037 : carta si\n * 038 : pinless debit\n * 039 : encoded account\n * 040 : uatp\n * 041 : household\n * 042 : maestro international\n * 043 : ge money uk\n * 044 : korean cards\n * 045 : style\n * 046 : jcrew\n * 047 : payease china processing ewallet\n * 048 : payease china processing bank transfer\n * 049 : meijer private label\n * 050 : hipercard \u2014 supported only by the Comercio Latino processor.\n * 051 : aura \u2014 supported only by the Comercio Latino processor.\n * 052 : redecard\n * 054 : elo \u2014 supported only by the Comercio Latino processor.\n * 055 : capital one private label\n * 056 : synchrony private label\n * 057 : costco private label\n * 060 : mada\n * 062 : china union pay\n * 063 : falabella private label\n" }, "issueNumber": { "type": "string", "maxLength": 2, "description": "Number of times a Maestro (UK Domestic) card has been issued to the account holder. The card might or might not have an issue number. The number can consist of one or two digits, and the first digit might be a zero. When you include this value in your request, include exactly what is printed on the card. A value of 2 is different than a value of 02. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card.\n\n**Note** The issue number is not required for Maestro (UK Domestic) transactions.\n" }, "startMonth": { "type": "string", "maxLength": 2, "description": "Month of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: MM`.\nPossible Values: 01 through 12.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "startYear": { "type": "string", "maxLength": 4, "description": "Year of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: YYYY`.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "useAs": { "type": "string", "example": "pinless debit", "description": "'Payment Instrument was created / updated as part of a pinless debit transaction.'\n" }, "hash": { "type": "string", "minLength": 32, "maxLength": 34, "readOnly": true, "description": "Hash value representing the card.\n" }, "tokenizedInformation": { "type": "object", "properties": { "requestorID": { "type": "string", "maxLength": 11, "description": "Value that identifies your business and indicates that the cardholder's account number is tokenized. This value\nis assigned by the token service provider and is unique within the token service provider's database.\n\n**Note** This field is supported only through **VisaNet** and **FDC Nashville Global**.\n" }, "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it\nspecifies the entity that provided you with information about the token.\n\nSet the value for this field to 1. An application on the customer's mobile device provided the token data.\n" } } } } }, "buyerInformation": { "type": "object", "properties": { "companyTaxID": { "type": "string", "maxLength": 9, "description": "Company's tax identifier. This is only used for eCheck service.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character I[ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\nFor details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n" }, "dateOfBirth": { "type": "string", "format": "date", "example": "1960-12-30", "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "The value of the identification type.\n" }, "type": { "type": "string", "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" }, "issuedBy": { "type": "object", "properties": { "administrativeArea": { "type": "string", "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", "maxLength": 20 } } } } } } } }, "billTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n" } } }, "processingInformation": { "type": "object", "title": "tmsPaymentInstrumentProcessingInfo", "properties": { "billPaymentProgramEnabled": { "type": "boolean", "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nFor processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n" }, "bankTransferOptions": { "type": "object", "properties": { "SECCode": { "type": "string", "maxLength": 3, "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\nFor details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "alternateName": { "type": "string", "description": "Alternate contact information for your business,such as an email address or URL.\nThis value might be displayed on the cardholder's statement.\nWhen you do not include this value in your capture or credit request, the merchant URL from your CyberSource account is used.\nImportant This value must consist of English characters\n", "maxLength": 13 } } } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "minLength": 12, "maxLength": 32, "description": "The Id of the Instrument Identifier linked to the Payment Instrument.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Payment Instrument.\n" } } }, "_embedded": { "type": "object", "readOnly": true, "description": "Additional resources for the Payment Instrument.\n", "properties": { "instrumentIdentifier": { "readOnly": true, "title": "tmsEmbeddedInstrumentIdentifier", "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifier.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111" } } }, "paymentInstruments": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifiers Payment Instruments.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111/paymentinstruments" } } } } }, "id": { "type": "string", "description": "The Id of the Instrument Identifier Token.\n" }, "object": { "type": "string", "readOnly": true, "example": "instrumentIdentifier", "description": "The type.\n\nPossible Values:\n- instrumentIdentifier\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "description": "The type of Instrument Identifier.\nPossible Values:\n- enrollable card\n" }, "tokenProvisioningInformation": { "type": "object", "properties": { "consumerConsentObtained": { "type": "boolean", "description": "Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has consented to tokenization of their credentials.\n- `false`: Consumer has not consented to tokenization of their credentials.\n" }, "multiFactorAuthenticated": { "type": "boolean", "description": "Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has been authenticated by the issuer.\n- `false`: Consumer has not been authenticated by the issuer.\n" } } }, "card": { "type": "object", "description": "The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Code. \nThis value is sent to the issuer to support the approval of a network token provision.\nIt is not persisted against the Instrument Identifier.\n" } } }, "bankAccount": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 17, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "routingNumber": { "type": "string", "description": "Bank routing number. This is also called the transit number.\n\nFor details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } }, "tokenizedCard": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The network token card association brand\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n", "example": "visa" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "State of the network token or network token provision\nPossible Values:\n- ACTIVE : Network token is active.\n- SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n- DELETED : This is a final state for a network token instance.\n- UNPROVISIONED : A previous network token provision was unsuccessful.\n" }, "enrollmentId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the enrolled PAN. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "tokenReferenceId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the network token. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "reason": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the network token\nPossible Values:\n- INVALID_REQUEST : The network token provision request contained invalid data.\n- CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified.\n- CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization.\n- CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization.\n- DECLINED : Card can currently not be used with issuer for tokenization.\n- SERVICE_UNAVAILABLE : The network token service was unavailable or timed out.\n- SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration.\n" }, "number": { "type": "string", "readOnly": true, "description": "The token requestors network token\n" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "Two-digit month in which the network token expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the network token expires.\n\nFormat: `YYYY`.\n" }, "cryptogram": { "type": "string", "readOnly": true, "description": "Generated value used in conjunction with the network token for making a payment.\n", "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" }, "card": { "type": "object", "readOnly": true, "description": "The latest card details associated with the network token", "properties": { "suffix": { "type": "string", "readOnly": true, "description": "The customer's latest payment card number suffix\n", "example": "1111" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "\nTwo-digit month in which the customer's latest payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the customer's latest payment card expires.\n\nFormat: `YYYY`.\n" } } } } }, "issuer": { "type": "object", "readOnly": true, "properties": { "paymentAccountReference": { "type": "string", "readOnly": true, "maxLength": 32, "description": "This reference number serves as a link to the cardholder account and to all transactions for that account.\n" } } }, "processingInformation": { "type": "object", "properties": { "authorizationOptions": { "type": "object", "title": "tmsAuthorizationOptions", "properties": { "initiator": { "type": "object", "properties": { "merchantInitiatedTransaction": { "type": "object", "properties": { "previousTransactionId": { "type": "string", "maxLength": 15, "description": "Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_\nin the reply message for either the original merchant-initiated payment in the series or the previous\nmerchant-initiated payment in the series.\n" }, "originalAuthorizedAmount": { "type": "string", "maxLength": 15, "description": "Amount of the original authorization.\n" } } } } } } } } }, "billTo": { "type": "object", "description": "This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Instrument Identifier." } } } } } } } } }, "defaultShippingAddress": { "readOnly": true, "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customers Shipping Address\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/shipping-addresses/D9F3439F0448C901E053A2598D0AA1CC" } } }, "customer": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Shipping Address Token." }, "default": { "type": "boolean", "description": "Flag that indicates whether customer shipping address is the dafault.\nPossible Values:\n - `true`: Shipping Address is customer's default.\n - `false`: Shipping Address is not customer's default.\n" }, "shipTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "First name of the recipient.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Last name of the recipient.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Company associated with the shipping address.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of the shipping address.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Second line of the shipping address.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "City of the shipping address.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the shipping address. Use 2 character the State,\nProvince, and Territory Codes for the United States and Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n**American Express Direct**\\\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, truncates the value starting from the right side.\n" }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character ISO Standard Country Codes.\n", "maxLength": 2 }, "email": { "type": "string", "maxLength": 320, "description": "Email associated with the shipping address.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Phone number associated with the shipping address.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Shipping Address." } } } } } } } } } } ], "tags": [ "Customer" ], "operationId": "postCustomer", "x-devcenter-metaData": { "categoryTag": "Token_Management", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-cust-tkn/tms-cust-tkn-create-intro.html" }, "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/json;charset=utf-8" ], "responses": { "201": { "description": "A new Customer has been created.", "headers": { "Location": { "description": "Location of the Customer.", "type": "string" }, "ETag": { "description": "An ETag is an identifier assigned to a specific version of a resource.", "type": "string" }, "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally-unique Id associated with your request.", "type": "string" } }, "schema": { "title": "TmsV2CustomersResponse", "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } }, "paymentInstruments": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customers Payment Instruments.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments" } } }, "shippingAddress": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customers Shipping Addresses.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/shipping-addresses" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Customer Token." }, "objectInformation": { "type": "object", "properties": { "title": { "type": "string", "description": "Name or title of the customer.\n", "maxLength": 60 }, "comment": { "type": "string", "description": "Comments that you can make about the customer.\n", "maxLength": 150 } } }, "buyerInformation": { "type": "object", "properties": { "merchantCustomerID": { "type": "string", "description": "Your identifier for the customer.\n", "maxLength": 100 }, "email": { "type": "string", "maxLength": 255, "description": "Customer's primary email address, including the full domain name.\n" } } }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "description": "Client-generated order reference or tracking number.\n", "maxLength": 50 } } }, "merchantDefinedInformation": { "type": "array", "description": "Object containing the custom data that the merchant defines.\n", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The number you assign as the name for your merchant-defined data or secure field. Possible Values are data1 to data4 and sensitive1 to sensitive4\n\nFor example, to set the name for merchant-defined data 2 field, you would reference merchantDefinedInformation[x].name as data2\nPossible Values:\n- data1\n- data2\n- data3\n- data4\n- sensitive1\n- sensitive2\n- sensitive3\n- sensitive4\n" }, "value": { "type": "string", "description": "The value you assign for your merchant-defined data field.\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event it is discovered a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, the merchant's account will immediately be suspended, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n", "maxLength": 100 } } } }, "defaultPaymentInstrument": { "type": "object", "properties": { "id": { "type": "string", "description": "The Id of the Customers default Payment Instrument\n" } } }, "defaultShippingAddress": { "type": "object", "properties": { "id": { "type": "string", "description": "The Id of the Customers default Shipping Address\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Customer.\n" } } }, "_embedded": { "type": "object", "readOnly": true, "description": "Additional resources for the Customer.\n", "properties": { "defaultPaymentInstrument": { "readOnly": true, "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Payment Instrument.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments" } } }, "customer": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Payment Instrument Token." }, "object": { "type": "string", "readOnly": true, "example": "paymentInstrument", "description": "The type.\n\nPossible Values:\n- paymentInstrument\n" }, "default": { "type": "boolean", "description": "Flag that indicates whether customer payment instrument is the dafault.\nPossible Values:\n - `true`: Payment instrument is customer's default.\n - `false`: Payment instrument is not customer's default.\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "readOnly": true, "description": "The type of Payment Instrument.\nPossible Values:\n- cardHash\n" }, "bankAccount": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 18, "description": "Account type.\n\nPossible Values:\n - checking : C\n - general ledger : G This value is supported only on Wells Fargo ACH\n - savings : S (U.S. dollars only)\n - corporate checking : X (U.S. dollars only)\n" } } }, "card": { "type": "object", "properties": { "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "Value that indicates the card type. Possible Values v2 : v1:\n * 001 : visa\n * 002 : mastercard - Eurocard\u2014European regional brand of Mastercard\n * 003 : american express\n * 004 : discover\n * 005 : diners club\n * 006 : carte blanche\n * 007 : jcb\n * 008 : optima\n * 011 : twinpay credit\n * 012 : twinpay debit\n * 013 : walmart\n * 014 : enRoute\n * 015 : lowes consumer\n * 016 : home depot consumer\n * 017 : mbna\n * 018 : dicks sportswear\n * 019 : casual corner\n * 020 : sears\n * 021 : jal\n * 023 : disney\n * 024 : maestro uk domestic\n * 025 : sams club consumer\n * 026 : sams club business\n * 028 : bill me later\n * 029 : bebe\n * 030 : restoration hardware\n * 031 : delta online \u2014 use this value only for Ingenico ePayments. For other processors, use 001 for all Visa card types.\n * 032 : solo\n * 033 : visa electron\n * 034 : dankort\n * 035 : laser\n * 036 : carte bleue \u2014 formerly Cartes Bancaires\n * 037 : carta si\n * 038 : pinless debit\n * 039 : encoded account\n * 040 : uatp\n * 041 : household\n * 042 : maestro international\n * 043 : ge money uk\n * 044 : korean cards\n * 045 : style\n * 046 : jcrew\n * 047 : payease china processing ewallet\n * 048 : payease china processing bank transfer\n * 049 : meijer private label\n * 050 : hipercard \u2014 supported only by the Comercio Latino processor.\n * 051 : aura \u2014 supported only by the Comercio Latino processor.\n * 052 : redecard\n * 054 : elo \u2014 supported only by the Comercio Latino processor.\n * 055 : capital one private label\n * 056 : synchrony private label\n * 057 : costco private label\n * 060 : mada\n * 062 : china union pay\n * 063 : falabella private label\n" }, "issueNumber": { "type": "string", "maxLength": 2, "description": "Number of times a Maestro (UK Domestic) card has been issued to the account holder. The card might or might not have an issue number. The number can consist of one or two digits, and the first digit might be a zero. When you include this value in your request, include exactly what is printed on the card. A value of 2 is different than a value of 02. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card.\n\n**Note** The issue number is not required for Maestro (UK Domestic) transactions.\n" }, "startMonth": { "type": "string", "maxLength": 2, "description": "Month of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: MM`.\nPossible Values: 01 through 12.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "startYear": { "type": "string", "maxLength": 4, "description": "Year of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: YYYY`.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "useAs": { "type": "string", "example": "pinless debit", "description": "'Payment Instrument was created / updated as part of a pinless debit transaction.'\n" }, "hash": { "type": "string", "minLength": 32, "maxLength": 34, "readOnly": true, "description": "Hash value representing the card.\n" }, "tokenizedInformation": { "type": "object", "properties": { "requestorID": { "type": "string", "maxLength": 11, "description": "Value that identifies your business and indicates that the cardholder's account number is tokenized. This value\nis assigned by the token service provider and is unique within the token service provider's database.\n\n**Note** This field is supported only through **VisaNet** and **FDC Nashville Global**.\n" }, "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it\nspecifies the entity that provided you with information about the token.\n\nSet the value for this field to 1. An application on the customer's mobile device provided the token data.\n" } } } } }, "buyerInformation": { "type": "object", "properties": { "companyTaxID": { "type": "string", "maxLength": 9, "description": "Company's tax identifier. This is only used for eCheck service.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character I[ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\nFor details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n" }, "dateOfBirth": { "type": "string", "format": "date", "example": "1960-12-30", "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "The value of the identification type.\n" }, "type": { "type": "string", "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" }, "issuedBy": { "type": "object", "properties": { "administrativeArea": { "type": "string", "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", "maxLength": 20 } } } } } } } }, "billTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n" } } }, "processingInformation": { "type": "object", "title": "tmsPaymentInstrumentProcessingInfo", "properties": { "billPaymentProgramEnabled": { "type": "boolean", "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nFor processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n" }, "bankTransferOptions": { "type": "object", "properties": { "SECCode": { "type": "string", "maxLength": 3, "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\nFor details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "alternateName": { "type": "string", "description": "Alternate contact information for your business,such as an email address or URL.\nThis value might be displayed on the cardholder's statement.\nWhen you do not include this value in your capture or credit request, the merchant URL from your CyberSource account is used.\nImportant This value must consist of English characters\n", "maxLength": 13 } } } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "minLength": 12, "maxLength": 32, "description": "The Id of the Instrument Identifier linked to the Payment Instrument.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Payment Instrument.\n" } } }, "_embedded": { "type": "object", "readOnly": true, "description": "Additional resources for the Payment Instrument.\n", "properties": { "instrumentIdentifier": { "readOnly": true, "title": "tmsEmbeddedInstrumentIdentifier", "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifier.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111" } } }, "paymentInstruments": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifiers Payment Instruments.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111/paymentinstruments" } } } } }, "id": { "type": "string", "description": "The Id of the Instrument Identifier Token.\n" }, "object": { "type": "string", "readOnly": true, "example": "instrumentIdentifier", "description": "The type.\n\nPossible Values:\n- instrumentIdentifier\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "description": "The type of Instrument Identifier.\nPossible Values:\n- enrollable card\n" }, "tokenProvisioningInformation": { "type": "object", "properties": { "consumerConsentObtained": { "type": "boolean", "description": "Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has consented to tokenization of their credentials.\n- `false`: Consumer has not consented to tokenization of their credentials.\n" }, "multiFactorAuthenticated": { "type": "boolean", "description": "Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has been authenticated by the issuer.\n- `false`: Consumer has not been authenticated by the issuer.\n" } } }, "card": { "type": "object", "description": "The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Code. \nThis value is sent to the issuer to support the approval of a network token provision.\nIt is not persisted against the Instrument Identifier.\n" } } }, "bankAccount": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 17, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "routingNumber": { "type": "string", "description": "Bank routing number. This is also called the transit number.\n\nFor details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } }, "tokenizedCard": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The network token card association brand\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n", "example": "visa" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "State of the network token or network token provision\nPossible Values:\n- ACTIVE : Network token is active.\n- SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n- DELETED : This is a final state for a network token instance.\n- UNPROVISIONED : A previous network token provision was unsuccessful.\n" }, "enrollmentId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the enrolled PAN. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "tokenReferenceId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the network token. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "reason": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the network token\nPossible Values:\n- INVALID_REQUEST : The network token provision request contained invalid data.\n- CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified.\n- CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization.\n- CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization.\n- DECLINED : Card can currently not be used with issuer for tokenization.\n- SERVICE_UNAVAILABLE : The network token service was unavailable or timed out.\n- SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration.\n" }, "number": { "type": "string", "readOnly": true, "description": "The token requestors network token\n" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "Two-digit month in which the network token expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the network token expires.\n\nFormat: `YYYY`.\n" }, "cryptogram": { "type": "string", "readOnly": true, "description": "Generated value used in conjunction with the network token for making a payment.\n", "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" }, "card": { "type": "object", "readOnly": true, "description": "The latest card details associated with the network token", "properties": { "suffix": { "type": "string", "readOnly": true, "description": "The customer's latest payment card number suffix\n", "example": "1111" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "\nTwo-digit month in which the customer's latest payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the customer's latest payment card expires.\n\nFormat: `YYYY`.\n" } } } } }, "issuer": { "type": "object", "readOnly": true, "properties": { "paymentAccountReference": { "type": "string", "readOnly": true, "maxLength": 32, "description": "This reference number serves as a link to the cardholder account and to all transactions for that account.\n" } } }, "processingInformation": { "type": "object", "properties": { "authorizationOptions": { "type": "object", "title": "tmsAuthorizationOptions", "properties": { "initiator": { "type": "object", "properties": { "merchantInitiatedTransaction": { "type": "object", "properties": { "previousTransactionId": { "type": "string", "maxLength": 15, "description": "Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_\nin the reply message for either the original merchant-initiated payment in the series or the previous\nmerchant-initiated payment in the series.\n" }, "originalAuthorizedAmount": { "type": "string", "maxLength": 15, "description": "Amount of the original authorization.\n" } } } } } } } } }, "billTo": { "type": "object", "description": "This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Instrument Identifier." } } } } } } } } }, "defaultShippingAddress": { "readOnly": true, "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customers Shipping Address\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/shipping-addresses/D9F3439F0448C901E053A2598D0AA1CC" } } }, "customer": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Shipping Address Token." }, "default": { "type": "boolean", "description": "Flag that indicates whether customer shipping address is the dafault.\nPossible Values:\n - `true`: Shipping Address is customer's default.\n - `false`: Shipping Address is not customer's default.\n" }, "shipTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "First name of the recipient.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Last name of the recipient.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Company associated with the shipping address.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of the shipping address.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Second line of the shipping address.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "City of the shipping address.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the shipping address. Use 2 character the State,\nProvince, and Territory Codes for the United States and Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n**American Express Direct**\\\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, truncates the value starting from the right side.\n" }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character ISO Standard Country Codes.\n", "maxLength": 2 }, "email": { "type": "string", "maxLength": 320, "description": "Email associated with the shipping address.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Phone number associated with the shipping address.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Shipping Address." } } } } } } } } } }, "400": { "description": "Bad Request: e.g. A required header value could be missing.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - invalidHeaders\n - missingHeaders\n - invalidFields\n - missingFields\n - unsupportedPaymentMethodModification\n - invalidCombination\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." }, "details": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "name": { "type": "string", "readOnly": true, "description": "The name of the field that caused the error." }, "location": { "type": "string", "readOnly": true, "description": "The location of the field that caused the error." } } } } } } } } }, "examples": { "Invalid Customer request body": { "errors": [ { "type": "invalidRequest", "message": "Invalid HTTP Body" } ] } } }, "403": { "description": "Forbidden: e.g. The profile might not have permission to perform the operation.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - forbidden\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "forbidden", "message": "Request not permitted" } ] } } }, "409": { "description": "Conflict. The token is linked to a Payment Instrument.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - instrumentIdentifierDeletionError\n - tokenIdConflict\n - conflict\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "conflict", "message": "Action cannot be performed as the PaymentInstrument is the customers default" } ] } } }, "424": { "description": "Failed Dependency: e.g. The profile represented by the profile-id may not exist or the profile-id was entered incorrectly.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notFound", "message": "Profile not found" } ] } } }, "500": { "description": "Unexpected error.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "examples": { "application/json": { "errors": [ { "type": "serverError", "message": "Internal server error" } ] } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - internalError\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } } } }, "x-example": { "example0": { "summary": "Create Customer", "value": { "buyerInformation": { "merchantCustomerID": "Your customer identifier", "email": "test@cybs.com" }, "clientReferenceInformation": { "code": "TC50171_3" }, "merchantDefinedInformation": [ { "name": "data1", "value": "Your customer data" } ] } } } } }, "/tms/v2/customers/{customerId}": { "get": { "summary": "Retrieve a Customer", "description": "| | | |\n| --- | --- | --- |\n|**Customers**
A Customer represents your tokenized customer information.
You should associate the Customer Id with the customer account on your systems.
A Customer can have one or more [Payment Instruments](#token-management_customer-payment-instrument_create-a-customer-payment-instrumentl) or [Shipping Addresses](#token-management_customer-shipping-address_create-a-customer-shipping-address) with one allocated as the Customers default.

**Retrieving a Customer**
When your customer signs into their account, your system can use this API to retrieve the Customers default Payment Instrument and Shipping Address.
**Note: the actual card data will be masked.**
If your customer wants to see other available Payment Instruments, your system can [retrieve all Payment Instruments](#token-management_customer-payment-instrument_list-payment-instruments-for-a-customer) associated with the Customer.
The same applies to [Shipping Addresses](#token-management_customer-shipping-address_list-shipping-addresses-for-a-customer).|      |**Payment Network Tokens**
Network tokens perform better than regular card numbers and they are not necessarily invalidated when a cardholder loses their card, or it expires.
A Payment Network Token will be automatically created and used in future payments if you are enabled for the service.
A Payment Network Token can also be [provisioned for an existing Instrument Identifier](#token-management_instrument-identifier_enroll-an-instrument-identifier-for-payment-network-token).
For more information about Payment Network Tokens see the Developer Guide.

**Payments with Customers**
To perform a payment with the Customers default details specify the [Customer Id in the payments request](#payments_payments_process-a-payment_samplerequests-dropdown_authorization-using-tokens_authorization-with-customer-token-id_liveconsole-tab-request-body).
To perform a payment with a particular Payment Instrument or Shipping Address
specify the [Payment Instrument or Shipping Address Ids in the payments request](#payments_payments_process-a-payment_samplerequests-dropdown_authorization-using-tokens_authorization-with-customer-payment-instrument-and-shipping-address-token-id_liveconsole-tab-request-body).\n", "parameters": [ { "name": "profile-id", "in": "header", "description": "The Id of a profile containing user specific TMS configuration.", "required": false, "type": "string", "minLength": 36, "maxLength": 36, "x-hide-field": true }, { "name": "customerId", "in": "path", "description": "The Id of a Customer.", "required": true, "type": "string", "minLength": 1, "maxLength": 32 } ], "tags": [ "Customer" ], "operationId": "getCustomer", "x-devcenter-metaData": { "categoryTag": "Token_Management", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-cust-tkn/tms-cust-tkn-retrieve-intro.html" }, "produces": [ "application/json;charset=utf-8" ], "x-depends": { "example": { "path": "/tms/v2/customers", "verb": "post", "exampleId": "example0" }, "fieldMapping": [ { "sourceField": "id", "destinationField": "customerId", "fieldTypeInDestination": "path" } ] }, "responses": { "200": { "description": "Returns an existing Customer associated with the supplied Id.", "headers": { "ETag": { "description": "An ETag is an identifier assigned to a specific version of a resource.", "type": "string" }, "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally-unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } }, "paymentInstruments": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customers Payment Instruments.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments" } } }, "shippingAddress": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customers Shipping Addresses.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/shipping-addresses" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Customer Token." }, "objectInformation": { "type": "object", "properties": { "title": { "type": "string", "description": "Name or title of the customer.\n", "maxLength": 60 }, "comment": { "type": "string", "description": "Comments that you can make about the customer.\n", "maxLength": 150 } } }, "buyerInformation": { "type": "object", "properties": { "merchantCustomerID": { "type": "string", "description": "Your identifier for the customer.\n", "maxLength": 100 }, "email": { "type": "string", "maxLength": 255, "description": "Customer's primary email address, including the full domain name.\n" } } }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "description": "Client-generated order reference or tracking number.\n", "maxLength": 50 } } }, "merchantDefinedInformation": { "type": "array", "description": "Object containing the custom data that the merchant defines.\n", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The number you assign as the name for your merchant-defined data or secure field. Possible Values are data1 to data4 and sensitive1 to sensitive4\n\nFor example, to set the name for merchant-defined data 2 field, you would reference merchantDefinedInformation[x].name as data2\nPossible Values:\n- data1\n- data2\n- data3\n- data4\n- sensitive1\n- sensitive2\n- sensitive3\n- sensitive4\n" }, "value": { "type": "string", "description": "The value you assign for your merchant-defined data field.\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event it is discovered a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, the merchant's account will immediately be suspended, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n", "maxLength": 100 } } } }, "defaultPaymentInstrument": { "type": "object", "properties": { "id": { "type": "string", "description": "The Id of the Customers default Payment Instrument\n" } } }, "defaultShippingAddress": { "type": "object", "properties": { "id": { "type": "string", "description": "The Id of the Customers default Shipping Address\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Customer.\n" } } }, "_embedded": { "type": "object", "readOnly": true, "description": "Additional resources for the Customer.\n", "properties": { "defaultPaymentInstrument": { "readOnly": true, "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Payment Instrument.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments" } } }, "customer": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Payment Instrument Token." }, "object": { "type": "string", "readOnly": true, "example": "paymentInstrument", "description": "The type.\n\nPossible Values:\n- paymentInstrument\n" }, "default": { "type": "boolean", "description": "Flag that indicates whether customer payment instrument is the dafault.\nPossible Values:\n - `true`: Payment instrument is customer's default.\n - `false`: Payment instrument is not customer's default.\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "readOnly": true, "description": "The type of Payment Instrument.\nPossible Values:\n- cardHash\n" }, "bankAccount": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 18, "description": "Account type.\n\nPossible Values:\n - checking : C\n - general ledger : G This value is supported only on Wells Fargo ACH\n - savings : S (U.S. dollars only)\n - corporate checking : X (U.S. dollars only)\n" } } }, "card": { "type": "object", "properties": { "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "Value that indicates the card type. Possible Values v2 : v1:\n * 001 : visa\n * 002 : mastercard - Eurocard\u2014European regional brand of Mastercard\n * 003 : american express\n * 004 : discover\n * 005 : diners club\n * 006 : carte blanche\n * 007 : jcb\n * 008 : optima\n * 011 : twinpay credit\n * 012 : twinpay debit\n * 013 : walmart\n * 014 : enRoute\n * 015 : lowes consumer\n * 016 : home depot consumer\n * 017 : mbna\n * 018 : dicks sportswear\n * 019 : casual corner\n * 020 : sears\n * 021 : jal\n * 023 : disney\n * 024 : maestro uk domestic\n * 025 : sams club consumer\n * 026 : sams club business\n * 028 : bill me later\n * 029 : bebe\n * 030 : restoration hardware\n * 031 : delta online \u2014 use this value only for Ingenico ePayments. For other processors, use 001 for all Visa card types.\n * 032 : solo\n * 033 : visa electron\n * 034 : dankort\n * 035 : laser\n * 036 : carte bleue \u2014 formerly Cartes Bancaires\n * 037 : carta si\n * 038 : pinless debit\n * 039 : encoded account\n * 040 : uatp\n * 041 : household\n * 042 : maestro international\n * 043 : ge money uk\n * 044 : korean cards\n * 045 : style\n * 046 : jcrew\n * 047 : payease china processing ewallet\n * 048 : payease china processing bank transfer\n * 049 : meijer private label\n * 050 : hipercard \u2014 supported only by the Comercio Latino processor.\n * 051 : aura \u2014 supported only by the Comercio Latino processor.\n * 052 : redecard\n * 054 : elo \u2014 supported only by the Comercio Latino processor.\n * 055 : capital one private label\n * 056 : synchrony private label\n * 057 : costco private label\n * 060 : mada\n * 062 : china union pay\n * 063 : falabella private label\n" }, "issueNumber": { "type": "string", "maxLength": 2, "description": "Number of times a Maestro (UK Domestic) card has been issued to the account holder. The card might or might not have an issue number. The number can consist of one or two digits, and the first digit might be a zero. When you include this value in your request, include exactly what is printed on the card. A value of 2 is different than a value of 02. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card.\n\n**Note** The issue number is not required for Maestro (UK Domestic) transactions.\n" }, "startMonth": { "type": "string", "maxLength": 2, "description": "Month of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: MM`.\nPossible Values: 01 through 12.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "startYear": { "type": "string", "maxLength": 4, "description": "Year of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: YYYY`.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "useAs": { "type": "string", "example": "pinless debit", "description": "'Payment Instrument was created / updated as part of a pinless debit transaction.'\n" }, "hash": { "type": "string", "minLength": 32, "maxLength": 34, "readOnly": true, "description": "Hash value representing the card.\n" }, "tokenizedInformation": { "type": "object", "properties": { "requestorID": { "type": "string", "maxLength": 11, "description": "Value that identifies your business and indicates that the cardholder's account number is tokenized. This value\nis assigned by the token service provider and is unique within the token service provider's database.\n\n**Note** This field is supported only through **VisaNet** and **FDC Nashville Global**.\n" }, "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it\nspecifies the entity that provided you with information about the token.\n\nSet the value for this field to 1. An application on the customer's mobile device provided the token data.\n" } } } } }, "buyerInformation": { "type": "object", "properties": { "companyTaxID": { "type": "string", "maxLength": 9, "description": "Company's tax identifier. This is only used for eCheck service.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character I[ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\nFor details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n" }, "dateOfBirth": { "type": "string", "format": "date", "example": "1960-12-30", "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "The value of the identification type.\n" }, "type": { "type": "string", "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" }, "issuedBy": { "type": "object", "properties": { "administrativeArea": { "type": "string", "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", "maxLength": 20 } } } } } } } }, "billTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n" } } }, "processingInformation": { "type": "object", "title": "tmsPaymentInstrumentProcessingInfo", "properties": { "billPaymentProgramEnabled": { "type": "boolean", "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nFor processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n" }, "bankTransferOptions": { "type": "object", "properties": { "SECCode": { "type": "string", "maxLength": 3, "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\nFor details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "alternateName": { "type": "string", "description": "Alternate contact information for your business,such as an email address or URL.\nThis value might be displayed on the cardholder's statement.\nWhen you do not include this value in your capture or credit request, the merchant URL from your CyberSource account is used.\nImportant This value must consist of English characters\n", "maxLength": 13 } } } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "minLength": 12, "maxLength": 32, "description": "The Id of the Instrument Identifier linked to the Payment Instrument.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Payment Instrument.\n" } } }, "_embedded": { "type": "object", "readOnly": true, "description": "Additional resources for the Payment Instrument.\n", "properties": { "instrumentIdentifier": { "readOnly": true, "title": "tmsEmbeddedInstrumentIdentifier", "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifier.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111" } } }, "paymentInstruments": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifiers Payment Instruments.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111/paymentinstruments" } } } } }, "id": { "type": "string", "description": "The Id of the Instrument Identifier Token.\n" }, "object": { "type": "string", "readOnly": true, "example": "instrumentIdentifier", "description": "The type.\n\nPossible Values:\n- instrumentIdentifier\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "description": "The type of Instrument Identifier.\nPossible Values:\n- enrollable card\n" }, "tokenProvisioningInformation": { "type": "object", "properties": { "consumerConsentObtained": { "type": "boolean", "description": "Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has consented to tokenization of their credentials.\n- `false`: Consumer has not consented to tokenization of their credentials.\n" }, "multiFactorAuthenticated": { "type": "boolean", "description": "Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has been authenticated by the issuer.\n- `false`: Consumer has not been authenticated by the issuer.\n" } } }, "card": { "type": "object", "description": "The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Code. \nThis value is sent to the issuer to support the approval of a network token provision.\nIt is not persisted against the Instrument Identifier.\n" } } }, "bankAccount": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 17, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "routingNumber": { "type": "string", "description": "Bank routing number. This is also called the transit number.\n\nFor details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } }, "tokenizedCard": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The network token card association brand\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n", "example": "visa" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "State of the network token or network token provision\nPossible Values:\n- ACTIVE : Network token is active.\n- SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n- DELETED : This is a final state for a network token instance.\n- UNPROVISIONED : A previous network token provision was unsuccessful.\n" }, "enrollmentId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the enrolled PAN. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "tokenReferenceId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the network token. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "reason": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the network token\nPossible Values:\n- INVALID_REQUEST : The network token provision request contained invalid data.\n- CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified.\n- CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization.\n- CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization.\n- DECLINED : Card can currently not be used with issuer for tokenization.\n- SERVICE_UNAVAILABLE : The network token service was unavailable or timed out.\n- SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration.\n" }, "number": { "type": "string", "readOnly": true, "description": "The token requestors network token\n" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "Two-digit month in which the network token expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the network token expires.\n\nFormat: `YYYY`.\n" }, "cryptogram": { "type": "string", "readOnly": true, "description": "Generated value used in conjunction with the network token for making a payment.\n", "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" }, "card": { "type": "object", "readOnly": true, "description": "The latest card details associated with the network token", "properties": { "suffix": { "type": "string", "readOnly": true, "description": "The customer's latest payment card number suffix\n", "example": "1111" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "\nTwo-digit month in which the customer's latest payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the customer's latest payment card expires.\n\nFormat: `YYYY`.\n" } } } } }, "issuer": { "type": "object", "readOnly": true, "properties": { "paymentAccountReference": { "type": "string", "readOnly": true, "maxLength": 32, "description": "This reference number serves as a link to the cardholder account and to all transactions for that account.\n" } } }, "processingInformation": { "type": "object", "properties": { "authorizationOptions": { "type": "object", "title": "tmsAuthorizationOptions", "properties": { "initiator": { "type": "object", "properties": { "merchantInitiatedTransaction": { "type": "object", "properties": { "previousTransactionId": { "type": "string", "maxLength": 15, "description": "Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_\nin the reply message for either the original merchant-initiated payment in the series or the previous\nmerchant-initiated payment in the series.\n" }, "originalAuthorizedAmount": { "type": "string", "maxLength": 15, "description": "Amount of the original authorization.\n" } } } } } } } } }, "billTo": { "type": "object", "description": "This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Instrument Identifier." } } } } } } } } }, "defaultShippingAddress": { "readOnly": true, "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customers Shipping Address\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/shipping-addresses/D9F3439F0448C901E053A2598D0AA1CC" } } }, "customer": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Shipping Address Token." }, "default": { "type": "boolean", "description": "Flag that indicates whether customer shipping address is the dafault.\nPossible Values:\n - `true`: Shipping Address is customer's default.\n - `false`: Shipping Address is not customer's default.\n" }, "shipTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "First name of the recipient.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Last name of the recipient.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Company associated with the shipping address.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of the shipping address.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Second line of the shipping address.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "City of the shipping address.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the shipping address. Use 2 character the State,\nProvince, and Territory Codes for the United States and Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n**American Express Direct**\\\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, truncates the value starting from the right side.\n" }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character ISO Standard Country Codes.\n", "maxLength": 2 }, "email": { "type": "string", "maxLength": 320, "description": "Email associated with the shipping address.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Phone number associated with the shipping address.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Shipping Address." } } } } } } } } } }, "400": { "description": "Bad Request: e.g. A required header value could be missing.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - invalidHeaders\n - missingHeaders\n - invalidFields\n - missingFields\n - unsupportedPaymentMethodModification\n - invalidCombination\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." }, "details": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "name": { "type": "string", "readOnly": true, "description": "The name of the field that caused the error." }, "location": { "type": "string", "readOnly": true, "description": "The location of the field that caused the error." } } } } } } } } }, "examples": { "Invalid Customer request body": { "errors": [ { "type": "invalidRequest", "message": "Invalid HTTP Body" } ] } } }, "403": { "description": "Forbidden: e.g. The profile might not have permission to perform the operation.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - forbidden\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "forbidden", "message": "Request not permitted" } ] } } }, "404": { "description": "Token Not Found. The Id may not exist or was entered incorrectly.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notFound", "message": "Token not found" } ] } } }, "410": { "description": "Token Not Available. The token has been deleted.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notAvailable\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notAvailable", "message": "Token not available." } ] } } }, "424": { "description": "Failed Dependency: e.g. The profile represented by the profile-id may not exist or the profile-id was entered incorrectly.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notFound", "message": "Profile not found" } ] } } }, "500": { "description": "Unexpected error.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "examples": { "application/json": { "errors": [ { "type": "serverError", "message": "Internal server error" } ] } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - internalError\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } } } } }, "patch": { "summary": "Update a Customer", "description": "| | | |\n| --- | --- | --- |\n|**Customers**
A Customer represents your tokenized customer information.
You should associate the Customer Id with the customer account on your systems.
A Customer can have one or more [Payment Instruments](#token-management_customer-payment-instrument_create-a-customer-payment-instrumentl) or [Shipping Addresses](#token-management_customer-shipping-address_create-a-customer-shipping-address) with one allocated as the Customers default.|      |**Updating a Customer**
Your system can use this API to update a Customers details including selecting a [default Payment Instrument](#token-management_customer_update-a-customer_samplerequests-dropdown_update-customers-default-payment-instrument_liveconsole-tab-request-body) or [default Shipping Address](#token-management_customer_update-a-customer_samplerequests-dropdown_update-customers-default-shipping-address_liveconsole-tab-request-body) for use in payments.
Note: Updating a Customers [Payment Instrument](#token-management_customer-payment-instrument_update-a-customer-payment-instrument) or [Shipping Address](#token-management_customer-shipping-address_update-a-customer-shipping-address) details is performed using their own dedicated API resources.\n", "parameters": [ { "name": "profile-id", "in": "header", "description": "The Id of a profile containing user specific TMS configuration.", "required": false, "type": "string", "minLength": 36, "maxLength": 36, "x-hide-field": true }, { "name": "customerId", "in": "path", "description": "The Id of a Customer.", "required": true, "type": "string", "minLength": 1, "maxLength": 32 }, { "name": "if-match", "in": "header", "description": "Contains an ETag value from a GET request to make the request conditional.", "required": false, "type": "string", "minLength": 1, "maxLength": 32 }, { "name": "patchCustomerRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } }, "paymentInstruments": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customers Payment Instruments.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments" } } }, "shippingAddress": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customers Shipping Addresses.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/shipping-addresses" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Customer Token." }, "objectInformation": { "type": "object", "properties": { "title": { "type": "string", "description": "Name or title of the customer.\n", "maxLength": 60 }, "comment": { "type": "string", "description": "Comments that you can make about the customer.\n", "maxLength": 150 } } }, "buyerInformation": { "type": "object", "properties": { "merchantCustomerID": { "type": "string", "description": "Your identifier for the customer.\n", "maxLength": 100 }, "email": { "type": "string", "maxLength": 255, "description": "Customer's primary email address, including the full domain name.\n" } } }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "description": "Client-generated order reference or tracking number.\n", "maxLength": 50 } } }, "merchantDefinedInformation": { "type": "array", "description": "Object containing the custom data that the merchant defines.\n", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The number you assign as the name for your merchant-defined data or secure field. Possible Values are data1 to data4 and sensitive1 to sensitive4\n\nFor example, to set the name for merchant-defined data 2 field, you would reference merchantDefinedInformation[x].name as data2\nPossible Values:\n- data1\n- data2\n- data3\n- data4\n- sensitive1\n- sensitive2\n- sensitive3\n- sensitive4\n" }, "value": { "type": "string", "description": "The value you assign for your merchant-defined data field.\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event it is discovered a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, the merchant's account will immediately be suspended, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n", "maxLength": 100 } } } }, "defaultPaymentInstrument": { "type": "object", "properties": { "id": { "type": "string", "description": "The Id of the Customers default Payment Instrument\n" } } }, "defaultShippingAddress": { "type": "object", "properties": { "id": { "type": "string", "description": "The Id of the Customers default Shipping Address\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Customer.\n" } } }, "_embedded": { "type": "object", "readOnly": true, "description": "Additional resources for the Customer.\n", "properties": { "defaultPaymentInstrument": { "readOnly": true, "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Payment Instrument.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments" } } }, "customer": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Payment Instrument Token." }, "object": { "type": "string", "readOnly": true, "example": "paymentInstrument", "description": "The type.\n\nPossible Values:\n- paymentInstrument\n" }, "default": { "type": "boolean", "description": "Flag that indicates whether customer payment instrument is the dafault.\nPossible Values:\n - `true`: Payment instrument is customer's default.\n - `false`: Payment instrument is not customer's default.\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "readOnly": true, "description": "The type of Payment Instrument.\nPossible Values:\n- cardHash\n" }, "bankAccount": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 18, "description": "Account type.\n\nPossible Values:\n - checking : C\n - general ledger : G This value is supported only on Wells Fargo ACH\n - savings : S (U.S. dollars only)\n - corporate checking : X (U.S. dollars only)\n" } } }, "card": { "type": "object", "properties": { "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "Value that indicates the card type. Possible Values v2 : v1:\n * 001 : visa\n * 002 : mastercard - Eurocard\u2014European regional brand of Mastercard\n * 003 : american express\n * 004 : discover\n * 005 : diners club\n * 006 : carte blanche\n * 007 : jcb\n * 008 : optima\n * 011 : twinpay credit\n * 012 : twinpay debit\n * 013 : walmart\n * 014 : enRoute\n * 015 : lowes consumer\n * 016 : home depot consumer\n * 017 : mbna\n * 018 : dicks sportswear\n * 019 : casual corner\n * 020 : sears\n * 021 : jal\n * 023 : disney\n * 024 : maestro uk domestic\n * 025 : sams club consumer\n * 026 : sams club business\n * 028 : bill me later\n * 029 : bebe\n * 030 : restoration hardware\n * 031 : delta online \u2014 use this value only for Ingenico ePayments. For other processors, use 001 for all Visa card types.\n * 032 : solo\n * 033 : visa electron\n * 034 : dankort\n * 035 : laser\n * 036 : carte bleue \u2014 formerly Cartes Bancaires\n * 037 : carta si\n * 038 : pinless debit\n * 039 : encoded account\n * 040 : uatp\n * 041 : household\n * 042 : maestro international\n * 043 : ge money uk\n * 044 : korean cards\n * 045 : style\n * 046 : jcrew\n * 047 : payease china processing ewallet\n * 048 : payease china processing bank transfer\n * 049 : meijer private label\n * 050 : hipercard \u2014 supported only by the Comercio Latino processor.\n * 051 : aura \u2014 supported only by the Comercio Latino processor.\n * 052 : redecard\n * 054 : elo \u2014 supported only by the Comercio Latino processor.\n * 055 : capital one private label\n * 056 : synchrony private label\n * 057 : costco private label\n * 060 : mada\n * 062 : china union pay\n * 063 : falabella private label\n" }, "issueNumber": { "type": "string", "maxLength": 2, "description": "Number of times a Maestro (UK Domestic) card has been issued to the account holder. The card might or might not have an issue number. The number can consist of one or two digits, and the first digit might be a zero. When you include this value in your request, include exactly what is printed on the card. A value of 2 is different than a value of 02. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card.\n\n**Note** The issue number is not required for Maestro (UK Domestic) transactions.\n" }, "startMonth": { "type": "string", "maxLength": 2, "description": "Month of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: MM`.\nPossible Values: 01 through 12.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "startYear": { "type": "string", "maxLength": 4, "description": "Year of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: YYYY`.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "useAs": { "type": "string", "example": "pinless debit", "description": "'Payment Instrument was created / updated as part of a pinless debit transaction.'\n" }, "hash": { "type": "string", "minLength": 32, "maxLength": 34, "readOnly": true, "description": "Hash value representing the card.\n" }, "tokenizedInformation": { "type": "object", "properties": { "requestorID": { "type": "string", "maxLength": 11, "description": "Value that identifies your business and indicates that the cardholder's account number is tokenized. This value\nis assigned by the token service provider and is unique within the token service provider's database.\n\n**Note** This field is supported only through **VisaNet** and **FDC Nashville Global**.\n" }, "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it\nspecifies the entity that provided you with information about the token.\n\nSet the value for this field to 1. An application on the customer's mobile device provided the token data.\n" } } } } }, "buyerInformation": { "type": "object", "properties": { "companyTaxID": { "type": "string", "maxLength": 9, "description": "Company's tax identifier. This is only used for eCheck service.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character I[ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\nFor details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n" }, "dateOfBirth": { "type": "string", "format": "date", "example": "1960-12-30", "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "The value of the identification type.\n" }, "type": { "type": "string", "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" }, "issuedBy": { "type": "object", "properties": { "administrativeArea": { "type": "string", "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", "maxLength": 20 } } } } } } } }, "billTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n" } } }, "processingInformation": { "type": "object", "title": "tmsPaymentInstrumentProcessingInfo", "properties": { "billPaymentProgramEnabled": { "type": "boolean", "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nFor processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n" }, "bankTransferOptions": { "type": "object", "properties": { "SECCode": { "type": "string", "maxLength": 3, "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\nFor details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "alternateName": { "type": "string", "description": "Alternate contact information for your business,such as an email address or URL.\nThis value might be displayed on the cardholder's statement.\nWhen you do not include this value in your capture or credit request, the merchant URL from your CyberSource account is used.\nImportant This value must consist of English characters\n", "maxLength": 13 } } } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "minLength": 12, "maxLength": 32, "description": "The Id of the Instrument Identifier linked to the Payment Instrument.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Payment Instrument.\n" } } }, "_embedded": { "type": "object", "readOnly": true, "description": "Additional resources for the Payment Instrument.\n", "properties": { "instrumentIdentifier": { "readOnly": true, "title": "tmsEmbeddedInstrumentIdentifier", "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifier.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111" } } }, "paymentInstruments": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifiers Payment Instruments.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111/paymentinstruments" } } } } }, "id": { "type": "string", "description": "The Id of the Instrument Identifier Token.\n" }, "object": { "type": "string", "readOnly": true, "example": "instrumentIdentifier", "description": "The type.\n\nPossible Values:\n- instrumentIdentifier\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "description": "The type of Instrument Identifier.\nPossible Values:\n- enrollable card\n" }, "tokenProvisioningInformation": { "type": "object", "properties": { "consumerConsentObtained": { "type": "boolean", "description": "Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has consented to tokenization of their credentials.\n- `false`: Consumer has not consented to tokenization of their credentials.\n" }, "multiFactorAuthenticated": { "type": "boolean", "description": "Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has been authenticated by the issuer.\n- `false`: Consumer has not been authenticated by the issuer.\n" } } }, "card": { "type": "object", "description": "The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Code. \nThis value is sent to the issuer to support the approval of a network token provision.\nIt is not persisted against the Instrument Identifier.\n" } } }, "bankAccount": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 17, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "routingNumber": { "type": "string", "description": "Bank routing number. This is also called the transit number.\n\nFor details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } }, "tokenizedCard": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The network token card association brand\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n", "example": "visa" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "State of the network token or network token provision\nPossible Values:\n- ACTIVE : Network token is active.\n- SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n- DELETED : This is a final state for a network token instance.\n- UNPROVISIONED : A previous network token provision was unsuccessful.\n" }, "enrollmentId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the enrolled PAN. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "tokenReferenceId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the network token. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "reason": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the network token\nPossible Values:\n- INVALID_REQUEST : The network token provision request contained invalid data.\n- CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified.\n- CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization.\n- CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization.\n- DECLINED : Card can currently not be used with issuer for tokenization.\n- SERVICE_UNAVAILABLE : The network token service was unavailable or timed out.\n- SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration.\n" }, "number": { "type": "string", "readOnly": true, "description": "The token requestors network token\n" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "Two-digit month in which the network token expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the network token expires.\n\nFormat: `YYYY`.\n" }, "cryptogram": { "type": "string", "readOnly": true, "description": "Generated value used in conjunction with the network token for making a payment.\n", "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" }, "card": { "type": "object", "readOnly": true, "description": "The latest card details associated with the network token", "properties": { "suffix": { "type": "string", "readOnly": true, "description": "The customer's latest payment card number suffix\n", "example": "1111" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "\nTwo-digit month in which the customer's latest payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the customer's latest payment card expires.\n\nFormat: `YYYY`.\n" } } } } }, "issuer": { "type": "object", "readOnly": true, "properties": { "paymentAccountReference": { "type": "string", "readOnly": true, "maxLength": 32, "description": "This reference number serves as a link to the cardholder account and to all transactions for that account.\n" } } }, "processingInformation": { "type": "object", "properties": { "authorizationOptions": { "type": "object", "title": "tmsAuthorizationOptions", "properties": { "initiator": { "type": "object", "properties": { "merchantInitiatedTransaction": { "type": "object", "properties": { "previousTransactionId": { "type": "string", "maxLength": 15, "description": "Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_\nin the reply message for either the original merchant-initiated payment in the series or the previous\nmerchant-initiated payment in the series.\n" }, "originalAuthorizedAmount": { "type": "string", "maxLength": 15, "description": "Amount of the original authorization.\n" } } } } } } } } }, "billTo": { "type": "object", "description": "This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Instrument Identifier." } } } } } } } } }, "defaultShippingAddress": { "readOnly": true, "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customers Shipping Address\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/shipping-addresses/D9F3439F0448C901E053A2598D0AA1CC" } } }, "customer": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Shipping Address Token." }, "default": { "type": "boolean", "description": "Flag that indicates whether customer shipping address is the dafault.\nPossible Values:\n - `true`: Shipping Address is customer's default.\n - `false`: Shipping Address is not customer's default.\n" }, "shipTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "First name of the recipient.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Last name of the recipient.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Company associated with the shipping address.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of the shipping address.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Second line of the shipping address.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "City of the shipping address.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the shipping address. Use 2 character the State,\nProvince, and Territory Codes for the United States and Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n**American Express Direct**\\\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, truncates the value starting from the right side.\n" }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character ISO Standard Country Codes.\n", "maxLength": 2 }, "email": { "type": "string", "maxLength": 320, "description": "Email associated with the shipping address.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Phone number associated with the shipping address.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Shipping Address." } } } } } } } } } } ], "tags": [ "Customer" ], "operationId": "patchCustomer", "x-devcenter-metaData": { "categoryTag": "Token_Management", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-cust-tkn/tms-cust-tkn-update-intro.html" }, "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/json;charset=utf-8" ], "x-depends": { "example": { "path": "/tms/v2/customers", "verb": "post", "exampleId": "example0" }, "fieldMapping": [ { "sourceField": "id", "destinationField": "customerId", "fieldTypeInDestination": "path" } ] }, "responses": { "200": { "description": "Returns an existing Customer associated with the supplied Id.", "headers": { "ETag": { "description": "An ETag is an identifier assigned to a specific version of a resource.", "type": "string" }, "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally-unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } }, "paymentInstruments": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customers Payment Instruments.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments" } } }, "shippingAddress": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customers Shipping Addresses.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/shipping-addresses" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Customer Token." }, "objectInformation": { "type": "object", "properties": { "title": { "type": "string", "description": "Name or title of the customer.\n", "maxLength": 60 }, "comment": { "type": "string", "description": "Comments that you can make about the customer.\n", "maxLength": 150 } } }, "buyerInformation": { "type": "object", "properties": { "merchantCustomerID": { "type": "string", "description": "Your identifier for the customer.\n", "maxLength": 100 }, "email": { "type": "string", "maxLength": 255, "description": "Customer's primary email address, including the full domain name.\n" } } }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "description": "Client-generated order reference or tracking number.\n", "maxLength": 50 } } }, "merchantDefinedInformation": { "type": "array", "description": "Object containing the custom data that the merchant defines.\n", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The number you assign as the name for your merchant-defined data or secure field. Possible Values are data1 to data4 and sensitive1 to sensitive4\n\nFor example, to set the name for merchant-defined data 2 field, you would reference merchantDefinedInformation[x].name as data2\nPossible Values:\n- data1\n- data2\n- data3\n- data4\n- sensitive1\n- sensitive2\n- sensitive3\n- sensitive4\n" }, "value": { "type": "string", "description": "The value you assign for your merchant-defined data field.\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event it is discovered a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, the merchant's account will immediately be suspended, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n", "maxLength": 100 } } } }, "defaultPaymentInstrument": { "type": "object", "properties": { "id": { "type": "string", "description": "The Id of the Customers default Payment Instrument\n" } } }, "defaultShippingAddress": { "type": "object", "properties": { "id": { "type": "string", "description": "The Id of the Customers default Shipping Address\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Customer.\n" } } }, "_embedded": { "type": "object", "readOnly": true, "description": "Additional resources for the Customer.\n", "properties": { "defaultPaymentInstrument": { "readOnly": true, "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Payment Instrument.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments" } } }, "customer": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Payment Instrument Token." }, "object": { "type": "string", "readOnly": true, "example": "paymentInstrument", "description": "The type.\n\nPossible Values:\n- paymentInstrument\n" }, "default": { "type": "boolean", "description": "Flag that indicates whether customer payment instrument is the dafault.\nPossible Values:\n - `true`: Payment instrument is customer's default.\n - `false`: Payment instrument is not customer's default.\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "readOnly": true, "description": "The type of Payment Instrument.\nPossible Values:\n- cardHash\n" }, "bankAccount": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 18, "description": "Account type.\n\nPossible Values:\n - checking : C\n - general ledger : G This value is supported only on Wells Fargo ACH\n - savings : S (U.S. dollars only)\n - corporate checking : X (U.S. dollars only)\n" } } }, "card": { "type": "object", "properties": { "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "Value that indicates the card type. Possible Values v2 : v1:\n * 001 : visa\n * 002 : mastercard - Eurocard\u2014European regional brand of Mastercard\n * 003 : american express\n * 004 : discover\n * 005 : diners club\n * 006 : carte blanche\n * 007 : jcb\n * 008 : optima\n * 011 : twinpay credit\n * 012 : twinpay debit\n * 013 : walmart\n * 014 : enRoute\n * 015 : lowes consumer\n * 016 : home depot consumer\n * 017 : mbna\n * 018 : dicks sportswear\n * 019 : casual corner\n * 020 : sears\n * 021 : jal\n * 023 : disney\n * 024 : maestro uk domestic\n * 025 : sams club consumer\n * 026 : sams club business\n * 028 : bill me later\n * 029 : bebe\n * 030 : restoration hardware\n * 031 : delta online \u2014 use this value only for Ingenico ePayments. For other processors, use 001 for all Visa card types.\n * 032 : solo\n * 033 : visa electron\n * 034 : dankort\n * 035 : laser\n * 036 : carte bleue \u2014 formerly Cartes Bancaires\n * 037 : carta si\n * 038 : pinless debit\n * 039 : encoded account\n * 040 : uatp\n * 041 : household\n * 042 : maestro international\n * 043 : ge money uk\n * 044 : korean cards\n * 045 : style\n * 046 : jcrew\n * 047 : payease china processing ewallet\n * 048 : payease china processing bank transfer\n * 049 : meijer private label\n * 050 : hipercard \u2014 supported only by the Comercio Latino processor.\n * 051 : aura \u2014 supported only by the Comercio Latino processor.\n * 052 : redecard\n * 054 : elo \u2014 supported only by the Comercio Latino processor.\n * 055 : capital one private label\n * 056 : synchrony private label\n * 057 : costco private label\n * 060 : mada\n * 062 : china union pay\n * 063 : falabella private label\n" }, "issueNumber": { "type": "string", "maxLength": 2, "description": "Number of times a Maestro (UK Domestic) card has been issued to the account holder. The card might or might not have an issue number. The number can consist of one or two digits, and the first digit might be a zero. When you include this value in your request, include exactly what is printed on the card. A value of 2 is different than a value of 02. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card.\n\n**Note** The issue number is not required for Maestro (UK Domestic) transactions.\n" }, "startMonth": { "type": "string", "maxLength": 2, "description": "Month of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: MM`.\nPossible Values: 01 through 12.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "startYear": { "type": "string", "maxLength": 4, "description": "Year of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: YYYY`.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "useAs": { "type": "string", "example": "pinless debit", "description": "'Payment Instrument was created / updated as part of a pinless debit transaction.'\n" }, "hash": { "type": "string", "minLength": 32, "maxLength": 34, "readOnly": true, "description": "Hash value representing the card.\n" }, "tokenizedInformation": { "type": "object", "properties": { "requestorID": { "type": "string", "maxLength": 11, "description": "Value that identifies your business and indicates that the cardholder's account number is tokenized. This value\nis assigned by the token service provider and is unique within the token service provider's database.\n\n**Note** This field is supported only through **VisaNet** and **FDC Nashville Global**.\n" }, "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it\nspecifies the entity that provided you with information about the token.\n\nSet the value for this field to 1. An application on the customer's mobile device provided the token data.\n" } } } } }, "buyerInformation": { "type": "object", "properties": { "companyTaxID": { "type": "string", "maxLength": 9, "description": "Company's tax identifier. This is only used for eCheck service.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character I[ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\nFor details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n" }, "dateOfBirth": { "type": "string", "format": "date", "example": "1960-12-30", "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "The value of the identification type.\n" }, "type": { "type": "string", "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" }, "issuedBy": { "type": "object", "properties": { "administrativeArea": { "type": "string", "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", "maxLength": 20 } } } } } } } }, "billTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n" } } }, "processingInformation": { "type": "object", "title": "tmsPaymentInstrumentProcessingInfo", "properties": { "billPaymentProgramEnabled": { "type": "boolean", "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nFor processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n" }, "bankTransferOptions": { "type": "object", "properties": { "SECCode": { "type": "string", "maxLength": 3, "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\nFor details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "alternateName": { "type": "string", "description": "Alternate contact information for your business,such as an email address or URL.\nThis value might be displayed on the cardholder's statement.\nWhen you do not include this value in your capture or credit request, the merchant URL from your CyberSource account is used.\nImportant This value must consist of English characters\n", "maxLength": 13 } } } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "minLength": 12, "maxLength": 32, "description": "The Id of the Instrument Identifier linked to the Payment Instrument.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Payment Instrument.\n" } } }, "_embedded": { "type": "object", "readOnly": true, "description": "Additional resources for the Payment Instrument.\n", "properties": { "instrumentIdentifier": { "readOnly": true, "title": "tmsEmbeddedInstrumentIdentifier", "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifier.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111" } } }, "paymentInstruments": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifiers Payment Instruments.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111/paymentinstruments" } } } } }, "id": { "type": "string", "description": "The Id of the Instrument Identifier Token.\n" }, "object": { "type": "string", "readOnly": true, "example": "instrumentIdentifier", "description": "The type.\n\nPossible Values:\n- instrumentIdentifier\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "description": "The type of Instrument Identifier.\nPossible Values:\n- enrollable card\n" }, "tokenProvisioningInformation": { "type": "object", "properties": { "consumerConsentObtained": { "type": "boolean", "description": "Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has consented to tokenization of their credentials.\n- `false`: Consumer has not consented to tokenization of their credentials.\n" }, "multiFactorAuthenticated": { "type": "boolean", "description": "Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has been authenticated by the issuer.\n- `false`: Consumer has not been authenticated by the issuer.\n" } } }, "card": { "type": "object", "description": "The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Code. \nThis value is sent to the issuer to support the approval of a network token provision.\nIt is not persisted against the Instrument Identifier.\n" } } }, "bankAccount": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 17, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "routingNumber": { "type": "string", "description": "Bank routing number. This is also called the transit number.\n\nFor details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } }, "tokenizedCard": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The network token card association brand\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n", "example": "visa" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "State of the network token or network token provision\nPossible Values:\n- ACTIVE : Network token is active.\n- SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n- DELETED : This is a final state for a network token instance.\n- UNPROVISIONED : A previous network token provision was unsuccessful.\n" }, "enrollmentId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the enrolled PAN. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "tokenReferenceId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the network token. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "reason": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the network token\nPossible Values:\n- INVALID_REQUEST : The network token provision request contained invalid data.\n- CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified.\n- CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization.\n- CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization.\n- DECLINED : Card can currently not be used with issuer for tokenization.\n- SERVICE_UNAVAILABLE : The network token service was unavailable or timed out.\n- SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration.\n" }, "number": { "type": "string", "readOnly": true, "description": "The token requestors network token\n" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "Two-digit month in which the network token expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the network token expires.\n\nFormat: `YYYY`.\n" }, "cryptogram": { "type": "string", "readOnly": true, "description": "Generated value used in conjunction with the network token for making a payment.\n", "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" }, "card": { "type": "object", "readOnly": true, "description": "The latest card details associated with the network token", "properties": { "suffix": { "type": "string", "readOnly": true, "description": "The customer's latest payment card number suffix\n", "example": "1111" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "\nTwo-digit month in which the customer's latest payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the customer's latest payment card expires.\n\nFormat: `YYYY`.\n" } } } } }, "issuer": { "type": "object", "readOnly": true, "properties": { "paymentAccountReference": { "type": "string", "readOnly": true, "maxLength": 32, "description": "This reference number serves as a link to the cardholder account and to all transactions for that account.\n" } } }, "processingInformation": { "type": "object", "properties": { "authorizationOptions": { "type": "object", "title": "tmsAuthorizationOptions", "properties": { "initiator": { "type": "object", "properties": { "merchantInitiatedTransaction": { "type": "object", "properties": { "previousTransactionId": { "type": "string", "maxLength": 15, "description": "Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_\nin the reply message for either the original merchant-initiated payment in the series or the previous\nmerchant-initiated payment in the series.\n" }, "originalAuthorizedAmount": { "type": "string", "maxLength": 15, "description": "Amount of the original authorization.\n" } } } } } } } } }, "billTo": { "type": "object", "description": "This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Instrument Identifier." } } } } } } } } }, "defaultShippingAddress": { "readOnly": true, "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customers Shipping Address\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/shipping-addresses/D9F3439F0448C901E053A2598D0AA1CC" } } }, "customer": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Shipping Address Token." }, "default": { "type": "boolean", "description": "Flag that indicates whether customer shipping address is the dafault.\nPossible Values:\n - `true`: Shipping Address is customer's default.\n - `false`: Shipping Address is not customer's default.\n" }, "shipTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "First name of the recipient.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Last name of the recipient.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Company associated with the shipping address.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of the shipping address.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Second line of the shipping address.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "City of the shipping address.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the shipping address. Use 2 character the State,\nProvince, and Territory Codes for the United States and Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n**American Express Direct**\\\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, truncates the value starting from the right side.\n" }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character ISO Standard Country Codes.\n", "maxLength": 2 }, "email": { "type": "string", "maxLength": 320, "description": "Email associated with the shipping address.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Phone number associated with the shipping address.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Shipping Address." } } } } } } } } } }, "400": { "description": "Bad Request: e.g. A required header value could be missing.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - invalidHeaders\n - missingHeaders\n - invalidFields\n - missingFields\n - unsupportedPaymentMethodModification\n - invalidCombination\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." }, "details": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "name": { "type": "string", "readOnly": true, "description": "The name of the field that caused the error." }, "location": { "type": "string", "readOnly": true, "description": "The location of the field that caused the error." } } } } } } } } }, "examples": { "Invalid Customer request body": { "errors": [ { "type": "invalidRequest", "message": "Invalid HTTP Body" } ] } } }, "403": { "description": "Forbidden: e.g. The profile might not have permission to perform the operation.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - forbidden\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "forbidden", "message": "Request not permitted" } ] } } }, "404": { "description": "Token Not Found. The Id may not exist or was entered incorrectly.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notFound", "message": "Token not found" } ] } } }, "410": { "description": "Token Not Available. The token has been deleted.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notAvailable\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notAvailable", "message": "Token not available." } ] } } }, "412": { "description": "Precondition Failed: The If-Match request header value does not match the current resources ETag", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - conflict\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "conflict", "message": "Action cannot be performed as the if-match header value does not match the token etag" } ] } } }, "424": { "description": "Failed Dependency: e.g. The profile represented by the profile-id may not exist or the profile-id was entered incorrectly.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notFound", "message": "Profile not found" } ] } } }, "500": { "description": "Unexpected error.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "examples": { "application/json": { "errors": [ { "type": "serverError", "message": "Internal server error" } ] } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - internalError\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } } } }, "x-example": { "example0": { "summary": "Update Customer", "value": { "buyerInformation": { "merchantCustomerID": "Your customer identifier", "email": "test@cybs.com" }, "clientReferenceInformation": { "code": "TC50171_3" }, "merchantDefinedInformation": [ { "name": "data1", "value": "Your customer data" } ] } }, "example1": { "summary": "Update Customers default Payment Instrument", "value": { "defaultPaymentInstrument": { "id": "paymentInstrumentId" } } }, "example2": { "summary": "Update Customers default Shipping Address", "value": { "defaultShippingAddress": { "id": "shippingAddressId" } } } } }, "delete": { "summary": "Delete a Customer", "description": "| | | |\n| --- | --- | --- |\n|**Customers**
A Customer represents your tokenized customer information.
You should associate the Customer Id with the customer account on your systems.
A Customer can have one or more [Payment Instruments](#token-management_customer-payment-instrument_create-a-customer-payment-instrumentl) or [Shipping Addresses](#token-management_customer-shipping-address_create-a-customer-shipping-address) with one allocated as the Customers default.|      |**Deleting a Customer**
Your system can use this API to delete a complete Customer.
When a Customer is deleted all associated Payment Instruments & Shipping Addresses are deleted.
Any Instrument Identifiers representing the card number will also be deleted if they are not associated with any other Payment Instruments.
Note: Individual [Payment Instruments](#token-management_customer-payment-instrument_delete-a-customer-payment-instrument) or [Shipping Addresses](#token-management_customer-shipping-address_delete-a-customer-shipping-address) can be deleted via their own dedicated API resources.\n", "parameters": [ { "name": "profile-id", "in": "header", "description": "The Id of a profile containing user specific TMS configuration.", "required": false, "type": "string", "minLength": 36, "maxLength": 36, "x-hide-field": true }, { "name": "customerId", "in": "path", "description": "The Id of a Customer.", "required": true, "type": "string", "minLength": 1, "maxLength": 32 } ], "tags": [ "Customer" ], "operationId": "deleteCustomer", "x-devcenter-metaData": { "categoryTag": "Token_Management", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-cust-tkn/tms-cust-tkn-delete-intro.html" }, "produces": [ "application/json;charset=utf-8" ], "x-depends": { "example": { "path": "/tms/v2/customers", "verb": "post", "exampleId": "example0" }, "fieldMapping": [ { "sourceField": "id", "destinationField": "customerId", "fieldTypeInDestination": "path" } ] }, "responses": { "204": { "description": "The request is fulfilled but does not need to return a body", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } } }, "400": { "description": "Bad Request: e.g. A required header value could be missing.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - invalidHeaders\n - missingHeaders\n - invalidFields\n - missingFields\n - unsupportedPaymentMethodModification\n - invalidCombination\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." }, "details": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "name": { "type": "string", "readOnly": true, "description": "The name of the field that caused the error." }, "location": { "type": "string", "readOnly": true, "description": "The location of the field that caused the error." } } } } } } } } }, "examples": { "Invalid Customer request body": { "errors": [ { "type": "invalidRequest", "message": "Invalid HTTP Body" } ] } } }, "403": { "description": "Forbidden: e.g. The profile might not have permission to perform the operation.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - forbidden\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "forbidden", "message": "Request not permitted" } ] } } }, "404": { "description": "Token Not Found. The Id may not exist or was entered incorrectly.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notFound", "message": "Token not found" } ] } } }, "410": { "description": "Token Not Available. The token has been deleted.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notAvailable\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notAvailable", "message": "Token not available." } ] } } }, "424": { "description": "Failed Dependency: e.g. The profile represented by the profile-id may not exist or the profile-id was entered incorrectly.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notFound", "message": "Profile not found" } ] } } }, "500": { "description": "Unexpected error.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "examples": { "application/json": { "errors": [ { "type": "serverError", "message": "Internal server error" } ] } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - internalError\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } } } } } }, "/tms/v2/customers/{customerId}/shipping-addresses": { "post": { "summary": "Create a Customer Shipping Address", "description": "| | | |\n| --- | --- | --- |\n|**Customer Shipping Address**
A Customer Shipping Address represents tokenized customer shipping information.
A [Customer](#token-management_customer_create-a-customer) can have [one or more Shipping Addresses](#token-management_customer-shipping-address_list-shipping-addresses-for-a-customer), with one allocated as the Customers default for use in payments.|      |**Creating a Customer Shipping Address**
Your system can use this API to create an existing Customers default or non default Shipping Address.
You can also create additional Customer Shipping Addresses via the [Payments API](#payments_payments_process-a-payment_samplerequests-dropdown_authorization-with-token-create_authorization-create-default-payment-instrument-shipping-address-for-existing-customer_liveconsole-tab-request-body).\n", "parameters": [ { "name": "profile-id", "in": "header", "description": "The Id of a profile containing user specific TMS configuration.", "required": false, "type": "string", "minLength": 36, "maxLength": 36, "x-hide-field": true }, { "name": "customerId", "in": "path", "description": "The Id of a Customer.", "required": true, "type": "string", "minLength": 1, "maxLength": 32 }, { "name": "postCustomerShippingAddressRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customers Shipping Address\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/shipping-addresses/D9F3439F0448C901E053A2598D0AA1CC" } } }, "customer": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Shipping Address Token." }, "default": { "type": "boolean", "description": "Flag that indicates whether customer shipping address is the dafault.\nPossible Values:\n - `true`: Shipping Address is customer's default.\n - `false`: Shipping Address is not customer's default.\n" }, "shipTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "First name of the recipient.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Last name of the recipient.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Company associated with the shipping address.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of the shipping address.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Second line of the shipping address.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "City of the shipping address.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the shipping address. Use 2 character the State,\nProvince, and Territory Codes for the United States and Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n**American Express Direct**\\\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, truncates the value starting from the right side.\n" }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character ISO Standard Country Codes.\n", "maxLength": 2 }, "email": { "type": "string", "maxLength": 320, "description": "Email associated with the shipping address.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Phone number associated with the shipping address.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Shipping Address." } } } } } } ], "tags": [ "Customer Shipping Address" ], "operationId": "postCustomerShippingAddress", "x-devcenter-metaData": { "categoryTag": "Token_Management", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-ship-tkn/tms-ship-addr-tkn-create-intro.html" }, "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/json;charset=utf-8" ], "x-depends": { "example": { "path": "/tms/v2/customers/{customerId}", "verb": "post", "exampleId": "example0" }, "fieldMapping": [ { "sourceField": "id", "destinationField": "customerId", "fieldTypeInDestination": "path" } ] }, "responses": { "201": { "description": "A new Shipping Address has been created.", "headers": { "Location": { "description": "Location of the Shipping Address.", "type": "string" }, "ETag": { "description": "An ETag is an identifier assigned to a specific version of a resource.", "type": "string" }, "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally-unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customers Shipping Address\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/shipping-addresses/D9F3439F0448C901E053A2598D0AA1CC" } } }, "customer": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Shipping Address Token." }, "default": { "type": "boolean", "description": "Flag that indicates whether customer shipping address is the dafault.\nPossible Values:\n - `true`: Shipping Address is customer's default.\n - `false`: Shipping Address is not customer's default.\n" }, "shipTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "First name of the recipient.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Last name of the recipient.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Company associated with the shipping address.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of the shipping address.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Second line of the shipping address.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "City of the shipping address.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the shipping address. Use 2 character the State,\nProvince, and Territory Codes for the United States and Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n**American Express Direct**\\\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, truncates the value starting from the right side.\n" }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character ISO Standard Country Codes.\n", "maxLength": 2 }, "email": { "type": "string", "maxLength": 320, "description": "Email associated with the shipping address.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Phone number associated with the shipping address.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Shipping Address." } } } } } }, "400": { "description": "Bad Request: e.g. A required header value could be missing.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - invalidHeaders\n - missingHeaders\n - invalidFields\n - missingFields\n - unsupportedPaymentMethodModification\n - invalidCombination\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." }, "details": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "name": { "type": "string", "readOnly": true, "description": "The name of the field that caused the error." }, "location": { "type": "string", "readOnly": true, "description": "The location of the field that caused the error." } } } } } } } } }, "examples": { "Invalid Customer request body": { "errors": [ { "type": "invalidRequest", "message": "Invalid HTTP Body" } ] } } }, "403": { "description": "Forbidden: e.g. The profile might not have permission to perform the operation.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - forbidden\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "forbidden", "message": "Request not permitted" } ] } } }, "409": { "description": "Conflict. The token is linked to a Payment Instrument.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - instrumentIdentifierDeletionError\n - tokenIdConflict\n - conflict\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "conflict", "message": "Action cannot be performed as the PaymentInstrument is the customers default" } ] } } }, "424": { "description": "Failed Dependency: e.g. The profile represented by the profile-id may not exist or the profile-id was entered incorrectly.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notFound", "message": "Profile not found" } ] } } }, "500": { "description": "Unexpected error.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "examples": { "application/json": { "errors": [ { "type": "serverError", "message": "Internal server error" } ] } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - internalError\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } } } }, "x-example": { "example0": { "summary": "Create Customer Default Shipping Address", "value": { "default": "true", "shipTo": { "firstName": "John", "lastName": "Doe", "company": "CyberSource", "address1": "1 Market St", "locality": "San Francisco", "administrativeArea": "CA", "postalCode": "94105", "country": "US", "email": "test@cybs.com", "phoneNumber": "4158880000" } } }, "example1": { "summary": "Create Customer Non-Default Shipping Address", "value": { "default": "false", "shipTo": { "firstName": "John", "lastName": "Doe", "company": "CyberSource", "address1": "1 Market St", "locality": "San Francisco", "administrativeArea": "CA", "postalCode": "94105", "country": "US", "email": "test@cybs.com", "phoneNumber": "4158880000" } } } } }, "get": { "summary": "List Shipping Addresses for a Customer", "description": "| | | |\n| --- | --- | --- |\n|**Customer Shipping Address**
A Customer Shipping Address represents tokenized customer shipping information.
A [Customer](#token-management_customer_create-a-customer) can have [one or more Shipping Addresses](#token-management_customer-shipping-address_list-shipping-addresses-for-a-customer), with one allocated as the Customers default for use in payments.|      |**Retrieving all Customer Shipping Addresses**
Your system can use this API to retrieve all existing Shipping Addresses for a Customer.\n", "parameters": [ { "name": "profile-id", "in": "header", "description": "The Id of a profile containing user specific TMS configuration.", "required": false, "type": "string", "minLength": 36, "maxLength": 36, "x-hide-field": true }, { "name": "customerId", "in": "path", "description": "The Id of a Customer.", "required": true, "type": "string", "minLength": 1, "maxLength": 32 }, { "name": "offset", "in": "query", "description": "Starting record in zero-based dataset that should be returned as the first object in the array. Default is 0.", "required": false, "type": "integer", "format": "int64", "default": 0, "minimum": 0 }, { "name": "limit", "in": "query", "description": "The maximum number that can be returned in the array starting from the offset record in zero-based dataset. Default is 20, maximum is 100.", "required": false, "type": "integer", "format": "int64", "default": 20, "minimum": 1, "maximum": 100 } ], "tags": [ "Customer Shipping Address" ], "operationId": "getCustomerShippingAddressesList", "x-devcenter-metaData": { "categoryTag": "Token_Management", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-ship-tkn/tms-ship-addr-tkn-retrieve-all-intro.html" }, "produces": [ "application/json;charset=utf-8" ], "x-depends": { "example": { "path": "/tms/v2/customers/{customerId}", "verb": "post", "exampleId": "example0" }, "fieldMapping": [ { "sourceField": "id", "destinationField": "customerId", "fieldTypeInDestination": "path" } ] }, "responses": { "200": { "description": "Returns all existing Shipping Addresses associated with the supplied Id.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally-unique Id associated with your request.", "type": "string" }, "X-Total-Count": { "description": "The total number of Shipping Addresses associated with the Customer.", "type": "string" } }, "schema": { "title": "ShippingAddressListForCustomer", "type": "object", "readOnly": true, "description": "A paginated container of Shipping Addresses.\n", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the current page.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/shipping-addresses?offset=0&limit=1" } } }, "first": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the first page.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/shipping-addresses?offset=0&limit=1" } } }, "prev": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the previous page.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/shipping-addresses?offset=0&limit=1" } } }, "next": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the next page.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/shipping-addresses?offset=0&limit=1" } } }, "last": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the last page.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/shipping-addresses?offset=0&limit=1" } } } } }, "offset": { "type": "integer", "readOnly": true, "default": 0, "example": 0, "description": "The offset parameter supplied in the request." }, "limit": { "type": "integer", "readOnly": true, "default": 20, "example": 20, "description": "The limit parameter supplied in the request." }, "count": { "type": "integer", "readOnly": true, "example": 1, "description": "The number of Shipping Addresses returned in the array." }, "total": { "type": "integer", "readOnly": true, "example": 1, "description": "The total number of Shipping Addresses associated with the Customer." }, "_embedded": { "type": "object", "readOnly": true, "description": "Shipping Address Resources.\n", "properties": { "shippingAddresses": { "type": "array", "readOnly": true, "items": { "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customers Shipping Address\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/shipping-addresses/D9F3439F0448C901E053A2598D0AA1CC" } } }, "customer": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Shipping Address Token." }, "default": { "type": "boolean", "description": "Flag that indicates whether customer shipping address is the dafault.\nPossible Values:\n - `true`: Shipping Address is customer's default.\n - `false`: Shipping Address is not customer's default.\n" }, "shipTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "First name of the recipient.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Last name of the recipient.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Company associated with the shipping address.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of the shipping address.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Second line of the shipping address.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "City of the shipping address.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the shipping address. Use 2 character the State,\nProvince, and Territory Codes for the United States and Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n**American Express Direct**\\\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, truncates the value starting from the right side.\n" }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character ISO Standard Country Codes.\n", "maxLength": 2 }, "email": { "type": "string", "maxLength": 320, "description": "Email associated with the shipping address.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Phone number associated with the shipping address.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Shipping Address." } } } } } } } } } } }, "400": { "description": "Bad Request: e.g. A required header value could be missing.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - invalidHeaders\n - missingHeaders\n - invalidFields\n - missingFields\n - unsupportedPaymentMethodModification\n - invalidCombination\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." }, "details": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "name": { "type": "string", "readOnly": true, "description": "The name of the field that caused the error." }, "location": { "type": "string", "readOnly": true, "description": "The location of the field that caused the error." } } } } } } } } }, "examples": { "Invalid Customer request body": { "errors": [ { "type": "invalidRequest", "message": "Invalid HTTP Body" } ] } } }, "403": { "description": "Forbidden: e.g. The profile might not have permission to perform the operation.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - forbidden\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "forbidden", "message": "Request not permitted" } ] } } }, "404": { "description": "Token Not Found. The Id may not exist or was entered incorrectly.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notFound", "message": "Token not found" } ] } } }, "410": { "description": "Token Not Available. The token has been deleted.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notAvailable\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notAvailable", "message": "Token not available." } ] } } }, "424": { "description": "Failed Dependency: e.g. The profile represented by the profile-id may not exist or the profile-id was entered incorrectly.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notFound", "message": "Profile not found" } ] } } }, "500": { "description": "Unexpected error.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "examples": { "application/json": { "errors": [ { "type": "serverError", "message": "Internal server error" } ] } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - internalError\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } } } } } }, "/tms/v2/customers/{customerId}/shipping-addresses/{shippingAddressId}": { "get": { "summary": "Retrieve a Customer Shipping Address", "description": "| | | |\n| --- | --- | --- |\n|**Customer Shipping Address**
A Customer Shipping Address represents tokenized customer shipping information.
A [Customer](#token-management_customer_create-a-customer) can have [one or more Shipping Addresses](#token-management_customer-shipping-address_list-shipping-addresses-for-a-customer), with one allocated as the Customers default for use in payments.|      |**Retrieving a Customer Shipping Address**
Your system can use this API to retrieve an existing Shipping Address for a Customer.
To perform a payment with a particular Shipping Address simply specify the [Shipping Address Id in the payments request](#payments_payments_process-a-payment_samplerequests-dropdown_authorization-using-tokens_authorization-with-customer-payment-instrument-and-shipping-address-token-id_liveconsole-tab-request-body).\n", "parameters": [ { "name": "profile-id", "in": "header", "description": "The Id of a profile containing user specific TMS configuration.", "required": false, "type": "string", "minLength": 36, "maxLength": 36, "x-hide-field": true }, { "name": "customerId", "in": "path", "description": "The Id of a Customer.", "required": true, "type": "string", "minLength": 1, "maxLength": 32 }, { "name": "shippingAddressId", "in": "path", "description": "The Id of a shipping address.", "required": true, "type": "string", "minLength": 1, "maxLength": 32 } ], "tags": [ "Customer Shipping Address" ], "operationId": "getCustomerShippingAddress", "x-devcenter-metaData": { "categoryTag": "Token_Management", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-ship-tkn/tms-ship-addr-tkn-retrieve-intro.html" }, "produces": [ "application/json;charset=utf-8" ], "x-depends": { "example": { "path": "/tms/v2/customers/{customerId}/shipping-addresses", "verb": "post", "exampleId": "example0" }, "fieldMapping": [ { "sourceField": "id", "destinationField": "shippingAddressId", "fieldTypeInDestination": "path" } ] }, "responses": { "200": { "description": "Returns an existing Shipping Address associated with the supplied Id.", "headers": { "ETag": { "description": "An ETag is an identifier assigned to a specific version of a resource.", "type": "string" }, "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally-unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customers Shipping Address\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/shipping-addresses/D9F3439F0448C901E053A2598D0AA1CC" } } }, "customer": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Shipping Address Token." }, "default": { "type": "boolean", "description": "Flag that indicates whether customer shipping address is the dafault.\nPossible Values:\n - `true`: Shipping Address is customer's default.\n - `false`: Shipping Address is not customer's default.\n" }, "shipTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "First name of the recipient.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Last name of the recipient.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Company associated with the shipping address.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of the shipping address.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Second line of the shipping address.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "City of the shipping address.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the shipping address. Use 2 character the State,\nProvince, and Territory Codes for the United States and Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n**American Express Direct**\\\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, truncates the value starting from the right side.\n" }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character ISO Standard Country Codes.\n", "maxLength": 2 }, "email": { "type": "string", "maxLength": 320, "description": "Email associated with the shipping address.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Phone number associated with the shipping address.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Shipping Address." } } } } } }, "400": { "description": "Bad Request: e.g. A required header value could be missing.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - invalidHeaders\n - missingHeaders\n - invalidFields\n - missingFields\n - unsupportedPaymentMethodModification\n - invalidCombination\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." }, "details": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "name": { "type": "string", "readOnly": true, "description": "The name of the field that caused the error." }, "location": { "type": "string", "readOnly": true, "description": "The location of the field that caused the error." } } } } } } } } }, "examples": { "Invalid Customer request body": { "errors": [ { "type": "invalidRequest", "message": "Invalid HTTP Body" } ] } } }, "403": { "description": "Forbidden: e.g. The profile might not have permission to perform the operation.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - forbidden\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "forbidden", "message": "Request not permitted" } ] } } }, "404": { "description": "Token Not Found. The Id may not exist or was entered incorrectly.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notFound", "message": "Token not found" } ] } } }, "410": { "description": "Token Not Available. The token has been deleted.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notAvailable\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notAvailable", "message": "Token not available." } ] } } }, "424": { "description": "Failed Dependency: e.g. The profile represented by the profile-id may not exist or the profile-id was entered incorrectly.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notFound", "message": "Profile not found" } ] } } }, "500": { "description": "Unexpected error.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "examples": { "application/json": { "errors": [ { "type": "serverError", "message": "Internal server error" } ] } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - internalError\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } } } } }, "patch": { "summary": "Update a Customer Shipping Address", "description": "| | | |\n| --- | --- | --- |\n|**Customer Shipping Address**
A Customer Shipping Address represents tokenized customer shipping information.
A [Customer](#token-management_customer_create-a-customer) can have [one or more Shipping Addresses](#token-management_customer-shipping-address_list-shipping-addresses-for-a-customer), with one allocated as the Customers default for use in payments.|      |**Updating a Customers Shipping Address**
Your system can use this API to update an existing Shipping Addresses for a Customer, including selecting a [default Shipping Address](#token-management_customer-shipping-address_update-a-customer-shipping-address_samplerequests-dropdown_make-customer-shipping-address-the-default_liveconsole-tab-request-body) for use in payments.\n", "parameters": [ { "name": "profile-id", "in": "header", "description": "The Id of a profile containing user specific TMS configuration.", "required": false, "type": "string", "minLength": 36, "maxLength": 36, "x-hide-field": true }, { "name": "customerId", "in": "path", "description": "The Id of a Customer.", "required": true, "type": "string", "minLength": 1, "maxLength": 32 }, { "name": "shippingAddressId", "in": "path", "description": "The Id of a shipping address.", "required": true, "type": "string", "minLength": 1, "maxLength": 32 }, { "name": "if-match", "in": "header", "description": "Contains an ETag value from a GET request to make the request conditional.", "required": false, "type": "string", "minLength": 1, "maxLength": 32 }, { "name": "patchCustomerShippingAddressRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customers Shipping Address\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/shipping-addresses/D9F3439F0448C901E053A2598D0AA1CC" } } }, "customer": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Shipping Address Token." }, "default": { "type": "boolean", "description": "Flag that indicates whether customer shipping address is the dafault.\nPossible Values:\n - `true`: Shipping Address is customer's default.\n - `false`: Shipping Address is not customer's default.\n" }, "shipTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "First name of the recipient.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Last name of the recipient.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Company associated with the shipping address.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of the shipping address.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Second line of the shipping address.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "City of the shipping address.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the shipping address. Use 2 character the State,\nProvince, and Territory Codes for the United States and Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n**American Express Direct**\\\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, truncates the value starting from the right side.\n" }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character ISO Standard Country Codes.\n", "maxLength": 2 }, "email": { "type": "string", "maxLength": 320, "description": "Email associated with the shipping address.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Phone number associated with the shipping address.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Shipping Address." } } } } } } ], "tags": [ "Customer Shipping Address" ], "operationId": "patchCustomersShippingAddress", "x-devcenter-metaData": { "categoryTag": "Token_Management", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-ship-tkn/tms-ship-addr-tkn-update-intro.html" }, "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/json;charset=utf-8" ], "x-example": { "example0": { "summary": "Update Customer Shipping Address", "value": { "shipTo": { "firstName": "John", "lastName": "Doe", "company": "CyberSource", "address1": "1 Market St", "locality": "San Francisco", "administrativeArea": "CA", "postalCode": "94105", "country": "US", "email": "test@cybs.com", "phoneNumber": "4158880000" } } }, "example1": { "summary": "Make Customer Shipping Address the default", "value": { "default": "true" } } }, "x-depends": { "example": { "path": "/tms/v2/customers/{customerId}/shipping-addresses", "verb": "post", "exampleId": "example0" }, "fieldMapping": [ { "sourceField": "id", "destinationField": "shippingAddressId", "fieldTypeInDestination": "path" } ] }, "responses": { "200": { "description": "Returns an existing Shipping Address associated with the supplied Id.", "headers": { "ETag": { "description": "An ETag is an identifier assigned to a specific version of a resource.", "type": "string" }, "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally-unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customers Shipping Address\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/shipping-addresses/D9F3439F0448C901E053A2598D0AA1CC" } } }, "customer": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Shipping Address Token." }, "default": { "type": "boolean", "description": "Flag that indicates whether customer shipping address is the dafault.\nPossible Values:\n - `true`: Shipping Address is customer's default.\n - `false`: Shipping Address is not customer's default.\n" }, "shipTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "First name of the recipient.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Last name of the recipient.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Company associated with the shipping address.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of the shipping address.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Second line of the shipping address.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "City of the shipping address.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the shipping address. Use 2 character the State,\nProvince, and Territory Codes for the United States and Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n**American Express Direct**\\\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, truncates the value starting from the right side.\n" }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character ISO Standard Country Codes.\n", "maxLength": 2 }, "email": { "type": "string", "maxLength": 320, "description": "Email associated with the shipping address.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Phone number associated with the shipping address.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Shipping Address." } } } } } }, "400": { "description": "Bad Request: e.g. A required header value could be missing.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - invalidHeaders\n - missingHeaders\n - invalidFields\n - missingFields\n - unsupportedPaymentMethodModification\n - invalidCombination\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." }, "details": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "name": { "type": "string", "readOnly": true, "description": "The name of the field that caused the error." }, "location": { "type": "string", "readOnly": true, "description": "The location of the field that caused the error." } } } } } } } } }, "examples": { "Invalid Customer request body": { "errors": [ { "type": "invalidRequest", "message": "Invalid HTTP Body" } ] } } }, "403": { "description": "Forbidden: e.g. The profile might not have permission to perform the operation.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - forbidden\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "forbidden", "message": "Request not permitted" } ] } } }, "404": { "description": "Token Not Found. The Id may not exist or was entered incorrectly.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notFound", "message": "Token not found" } ] } } }, "410": { "description": "Token Not Available. The token has been deleted.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notAvailable\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notAvailable", "message": "Token not available." } ] } } }, "412": { "description": "Precondition Failed: The If-Match request header value does not match the current resources ETag", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - conflict\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "conflict", "message": "Action cannot be performed as the if-match header value does not match the token etag" } ] } } }, "424": { "description": "Failed Dependency: e.g. The profile represented by the profile-id may not exist or the profile-id was entered incorrectly.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notFound", "message": "Profile not found" } ] } } }, "500": { "description": "Unexpected error.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "examples": { "application/json": { "errors": [ { "type": "serverError", "message": "Internal server error" } ] } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - internalError\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } } } } }, "delete": { "summary": "Delete a Customer Shipping Address", "description": "| | | |\n| --- | --- | --- |\n|**Customer Shipping Address**
A Customer Shipping Address represents tokenized customer shipping information.
A [Customer](#token-management_customer_create-a-customer) can have [one or more Shipping Addresses](#token-management_customer-shipping-address_list-shipping-addresses-for-a-customer), with one allocated as the Customers default for use in payments.|      |**Deleting a Customers Shipping Address**
Your system can use this API to delete an existing Shipping Address for a Customer.
If a customer has more than one Shipping Address then the default Shipping Address cannot be deleted without first selecting a [new default Shipping Address](#token-management_customer-shipping-address_update-a-customer-shipping-address_samplerequests-dropdown_make-customer-shipping-address-the-default_liveconsole-tab-request-body).\n", "parameters": [ { "name": "profile-id", "in": "header", "description": "The Id of a profile containing user specific TMS configuration.", "required": false, "type": "string", "minLength": 36, "maxLength": 36, "x-hide-field": true }, { "name": "customerId", "in": "path", "description": "The Id of a Customer.", "required": true, "type": "string", "minLength": 1, "maxLength": 32 }, { "name": "shippingAddressId", "in": "path", "description": "The Id of a shipping address.", "required": true, "type": "string", "minLength": 1, "maxLength": 32 } ], "tags": [ "Customer Shipping Address" ], "operationId": "deleteCustomerShippingAddress", "x-devcenter-metaData": { "categoryTag": "Token_Management", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-ship-tkn/tms-ship-addr-tkn-delete-intro.html" }, "produces": [ "application/json;charset=utf-8" ], "x-depends": { "example": { "path": "/tms/v2/customers/{customerId}/shipping-addresses", "verb": "post", "exampleId": "example0" }, "fieldMapping": [ { "sourceField": "id", "destinationField": "shippingAddressId", "fieldTypeInDestination": "path" } ] }, "responses": { "204": { "description": "The request is fulfilled but does not need to return a body", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } } }, "400": { "description": "Bad Request: e.g. A required header value could be missing.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - invalidHeaders\n - missingHeaders\n - invalidFields\n - missingFields\n - unsupportedPaymentMethodModification\n - invalidCombination\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." }, "details": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "name": { "type": "string", "readOnly": true, "description": "The name of the field that caused the error." }, "location": { "type": "string", "readOnly": true, "description": "The location of the field that caused the error." } } } } } } } } }, "examples": { "Invalid Customer request body": { "errors": [ { "type": "invalidRequest", "message": "Invalid HTTP Body" } ] } } }, "403": { "description": "Forbidden: e.g. The profile might not have permission to perform the operation.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - forbidden\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "forbidden", "message": "Request not permitted" } ] } } }, "404": { "description": "Token Not Found. The Id may not exist or was entered incorrectly.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notFound", "message": "Token not found" } ] } } }, "409": { "description": "Conflict. The token is linked to a Payment Instrument.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - instrumentIdentifierDeletionError\n - tokenIdConflict\n - conflict\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "conflict", "message": "Action cannot be performed as the PaymentInstrument is the customers default" } ] } } }, "410": { "description": "Token Not Available. The token has been deleted.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notAvailable\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notAvailable", "message": "Token not available." } ] } } }, "424": { "description": "Failed Dependency: e.g. The profile represented by the profile-id may not exist or the profile-id was entered incorrectly.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notFound", "message": "Profile not found" } ] } } }, "500": { "description": "Unexpected error.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "examples": { "application/json": { "errors": [ { "type": "serverError", "message": "Internal server error" } ] } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - internalError\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } } } } } }, "/tms/v2/customers/{customerId}/payment-instruments": { "post": { "summary": "Create a Customer Payment Instrument", "description": "| | | |\n| --- | --- | --- |\n|**Customer Payment Instrument**
A Customer Payment Instrument represents tokenized customer payment information such as expiration date, billing address & card type.
A [Customer](#token-management_customer_create-a-customer) can have [one or more Payment Instruments](#token-management_customer-payment-instrument_retrieve-a-customer-payment-instrument), with one allocated as the Customers default for use in payments.
A Payment Instrument token does not store the card number. A Payment Instrument is associated with an [Instrument Identifier](#token-management_instrument-identifier_create-an-instrument-identifier) that represents either a payment card number, or in the case of an ACH bank account, the routing and account number.

**Creating a Customer Payment Instrument**
It is recommended you [create a Customer Payment Instrument via a Payment Authorization](#payments_payments_process-a-payment_samplerequests-dropdown_authorization-with-token-create_authorization-create-default-payment-instrument-shipping-address-for-existing-customer_liveconsole-tab-request-body), this can be for a zero amount.
In Europe: You should perform Payer Authentication alongside the Authorization.|      |**Payment Network Tokens**
Network tokens perform better than regular card numbers and they are not necessarily invalidated when a cardholder loses their card, or it expires.
A Payment Network Token will be automatically created and used in future payments if you are enabled for the service.
A Payment Network Token can also be [provisioned for an existing Instrument Identifier](#token-management_instrument-identifier_enroll-an-instrument-identifier-for-payment-network-token).
For more information about Payment Network Tokens see the Developer Guide.

**Payments with Customers Payment Instrument**
To perform a payment with a particular Payment Instrument or Shipping Address specify the [Payment Instrument in the payment request](#payments_payments_process-a-payment_samplerequests-dropdown_authorization-using-tokens_authorization-with-customer-payment-instrument-and-shipping-address-token-id_liveconsole-tab-request-body).\n", "parameters": [ { "name": "profile-id", "in": "header", "description": "The Id of a profile containing user specific TMS configuration.", "required": false, "type": "string", "minLength": 36, "maxLength": 36, "x-hide-field": true }, { "name": "customerId", "in": "path", "description": "The Id of a Customer.", "required": true, "type": "string", "minLength": 1, "maxLength": 32 }, { "name": "postCustomerPaymentInstrumentRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Payment Instrument.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments" } } }, "customer": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Payment Instrument Token." }, "object": { "type": "string", "readOnly": true, "example": "paymentInstrument", "description": "The type.\n\nPossible Values:\n- paymentInstrument\n" }, "default": { "type": "boolean", "description": "Flag that indicates whether customer payment instrument is the dafault.\nPossible Values:\n - `true`: Payment instrument is customer's default.\n - `false`: Payment instrument is not customer's default.\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "readOnly": true, "description": "The type of Payment Instrument.\nPossible Values:\n- cardHash\n" }, "bankAccount": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 18, "description": "Account type.\n\nPossible Values:\n - checking : C\n - general ledger : G This value is supported only on Wells Fargo ACH\n - savings : S (U.S. dollars only)\n - corporate checking : X (U.S. dollars only)\n" } } }, "card": { "type": "object", "properties": { "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "Value that indicates the card type. Possible Values v2 : v1:\n * 001 : visa\n * 002 : mastercard - Eurocard\u2014European regional brand of Mastercard\n * 003 : american express\n * 004 : discover\n * 005 : diners club\n * 006 : carte blanche\n * 007 : jcb\n * 008 : optima\n * 011 : twinpay credit\n * 012 : twinpay debit\n * 013 : walmart\n * 014 : enRoute\n * 015 : lowes consumer\n * 016 : home depot consumer\n * 017 : mbna\n * 018 : dicks sportswear\n * 019 : casual corner\n * 020 : sears\n * 021 : jal\n * 023 : disney\n * 024 : maestro uk domestic\n * 025 : sams club consumer\n * 026 : sams club business\n * 028 : bill me later\n * 029 : bebe\n * 030 : restoration hardware\n * 031 : delta online \u2014 use this value only for Ingenico ePayments. For other processors, use 001 for all Visa card types.\n * 032 : solo\n * 033 : visa electron\n * 034 : dankort\n * 035 : laser\n * 036 : carte bleue \u2014 formerly Cartes Bancaires\n * 037 : carta si\n * 038 : pinless debit\n * 039 : encoded account\n * 040 : uatp\n * 041 : household\n * 042 : maestro international\n * 043 : ge money uk\n * 044 : korean cards\n * 045 : style\n * 046 : jcrew\n * 047 : payease china processing ewallet\n * 048 : payease china processing bank transfer\n * 049 : meijer private label\n * 050 : hipercard \u2014 supported only by the Comercio Latino processor.\n * 051 : aura \u2014 supported only by the Comercio Latino processor.\n * 052 : redecard\n * 054 : elo \u2014 supported only by the Comercio Latino processor.\n * 055 : capital one private label\n * 056 : synchrony private label\n * 057 : costco private label\n * 060 : mada\n * 062 : china union pay\n * 063 : falabella private label\n" }, "issueNumber": { "type": "string", "maxLength": 2, "description": "Number of times a Maestro (UK Domestic) card has been issued to the account holder. The card might or might not have an issue number. The number can consist of one or two digits, and the first digit might be a zero. When you include this value in your request, include exactly what is printed on the card. A value of 2 is different than a value of 02. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card.\n\n**Note** The issue number is not required for Maestro (UK Domestic) transactions.\n" }, "startMonth": { "type": "string", "maxLength": 2, "description": "Month of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: MM`.\nPossible Values: 01 through 12.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "startYear": { "type": "string", "maxLength": 4, "description": "Year of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: YYYY`.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "useAs": { "type": "string", "example": "pinless debit", "description": "'Payment Instrument was created / updated as part of a pinless debit transaction.'\n" }, "hash": { "type": "string", "minLength": 32, "maxLength": 34, "readOnly": true, "description": "Hash value representing the card.\n" }, "tokenizedInformation": { "type": "object", "properties": { "requestorID": { "type": "string", "maxLength": 11, "description": "Value that identifies your business and indicates that the cardholder's account number is tokenized. This value\nis assigned by the token service provider and is unique within the token service provider's database.\n\n**Note** This field is supported only through **VisaNet** and **FDC Nashville Global**.\n" }, "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it\nspecifies the entity that provided you with information about the token.\n\nSet the value for this field to 1. An application on the customer's mobile device provided the token data.\n" } } } } }, "buyerInformation": { "type": "object", "properties": { "companyTaxID": { "type": "string", "maxLength": 9, "description": "Company's tax identifier. This is only used for eCheck service.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character I[ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\nFor details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n" }, "dateOfBirth": { "type": "string", "format": "date", "example": "1960-12-30", "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "The value of the identification type.\n" }, "type": { "type": "string", "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" }, "issuedBy": { "type": "object", "properties": { "administrativeArea": { "type": "string", "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", "maxLength": 20 } } } } } } } }, "billTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n" } } }, "processingInformation": { "type": "object", "title": "tmsPaymentInstrumentProcessingInfo", "properties": { "billPaymentProgramEnabled": { "type": "boolean", "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nFor processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n" }, "bankTransferOptions": { "type": "object", "properties": { "SECCode": { "type": "string", "maxLength": 3, "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\nFor details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "alternateName": { "type": "string", "description": "Alternate contact information for your business,such as an email address or URL.\nThis value might be displayed on the cardholder's statement.\nWhen you do not include this value in your capture or credit request, the merchant URL from your CyberSource account is used.\nImportant This value must consist of English characters\n", "maxLength": 13 } } } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "minLength": 12, "maxLength": 32, "description": "The Id of the Instrument Identifier linked to the Payment Instrument.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Payment Instrument.\n" } } }, "_embedded": { "type": "object", "readOnly": true, "description": "Additional resources for the Payment Instrument.\n", "properties": { "instrumentIdentifier": { "readOnly": true, "title": "tmsEmbeddedInstrumentIdentifier", "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifier.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111" } } }, "paymentInstruments": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifiers Payment Instruments.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111/paymentinstruments" } } } } }, "id": { "type": "string", "description": "The Id of the Instrument Identifier Token.\n" }, "object": { "type": "string", "readOnly": true, "example": "instrumentIdentifier", "description": "The type.\n\nPossible Values:\n- instrumentIdentifier\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "description": "The type of Instrument Identifier.\nPossible Values:\n- enrollable card\n" }, "tokenProvisioningInformation": { "type": "object", "properties": { "consumerConsentObtained": { "type": "boolean", "description": "Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has consented to tokenization of their credentials.\n- `false`: Consumer has not consented to tokenization of their credentials.\n" }, "multiFactorAuthenticated": { "type": "boolean", "description": "Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has been authenticated by the issuer.\n- `false`: Consumer has not been authenticated by the issuer.\n" } } }, "card": { "type": "object", "description": "The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Code. \nThis value is sent to the issuer to support the approval of a network token provision.\nIt is not persisted against the Instrument Identifier.\n" } } }, "bankAccount": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 17, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "routingNumber": { "type": "string", "description": "Bank routing number. This is also called the transit number.\n\nFor details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } }, "tokenizedCard": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The network token card association brand\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n", "example": "visa" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "State of the network token or network token provision\nPossible Values:\n- ACTIVE : Network token is active.\n- SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n- DELETED : This is a final state for a network token instance.\n- UNPROVISIONED : A previous network token provision was unsuccessful.\n" }, "enrollmentId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the enrolled PAN. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "tokenReferenceId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the network token. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "reason": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the network token\nPossible Values:\n- INVALID_REQUEST : The network token provision request contained invalid data.\n- CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified.\n- CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization.\n- CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization.\n- DECLINED : Card can currently not be used with issuer for tokenization.\n- SERVICE_UNAVAILABLE : The network token service was unavailable or timed out.\n- SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration.\n" }, "number": { "type": "string", "readOnly": true, "description": "The token requestors network token\n" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "Two-digit month in which the network token expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the network token expires.\n\nFormat: `YYYY`.\n" }, "cryptogram": { "type": "string", "readOnly": true, "description": "Generated value used in conjunction with the network token for making a payment.\n", "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" }, "card": { "type": "object", "readOnly": true, "description": "The latest card details associated with the network token", "properties": { "suffix": { "type": "string", "readOnly": true, "description": "The customer's latest payment card number suffix\n", "example": "1111" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "\nTwo-digit month in which the customer's latest payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the customer's latest payment card expires.\n\nFormat: `YYYY`.\n" } } } } }, "issuer": { "type": "object", "readOnly": true, "properties": { "paymentAccountReference": { "type": "string", "readOnly": true, "maxLength": 32, "description": "This reference number serves as a link to the cardholder account and to all transactions for that account.\n" } } }, "processingInformation": { "type": "object", "properties": { "authorizationOptions": { "type": "object", "title": "tmsAuthorizationOptions", "properties": { "initiator": { "type": "object", "properties": { "merchantInitiatedTransaction": { "type": "object", "properties": { "previousTransactionId": { "type": "string", "maxLength": 15, "description": "Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_\nin the reply message for either the original merchant-initiated payment in the series or the previous\nmerchant-initiated payment in the series.\n" }, "originalAuthorizedAmount": { "type": "string", "maxLength": 15, "description": "Amount of the original authorization.\n" } } } } } } } } }, "billTo": { "type": "object", "description": "This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Instrument Identifier." } } } } } } } } } } ], "tags": [ "Customer Payment Instrument" ], "operationId": "postCustomerPaymentInstrument", "x-devcenter-metaData": { "categoryTag": "Token_Management", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-cust-pi-tkn/tms-cust-pi-tkn-create-intro.html" }, "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/json;charset=utf-8" ], "x-depends": { "example": { "path": "/tms/v2/customers", "verb": "post", "exampleId": "example0" }, "fieldMapping": [ { "sourceField": "id", "destinationField": "customerId", "fieldTypeInDestination": "path" } ] }, "responses": { "201": { "description": "A new Payment Instrument has been created.", "headers": { "Location": { "description": "Location of the Payment Instrument.", "type": "string" }, "ETag": { "description": "An ETag is an identifier assigned to a specific version of a resource.", "type": "string" }, "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally-unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Payment Instrument.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments" } } }, "customer": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Payment Instrument Token." }, "object": { "type": "string", "readOnly": true, "example": "paymentInstrument", "description": "The type.\n\nPossible Values:\n- paymentInstrument\n" }, "default": { "type": "boolean", "description": "Flag that indicates whether customer payment instrument is the dafault.\nPossible Values:\n - `true`: Payment instrument is customer's default.\n - `false`: Payment instrument is not customer's default.\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "readOnly": true, "description": "The type of Payment Instrument.\nPossible Values:\n- cardHash\n" }, "bankAccount": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 18, "description": "Account type.\n\nPossible Values:\n - checking : C\n - general ledger : G This value is supported only on Wells Fargo ACH\n - savings : S (U.S. dollars only)\n - corporate checking : X (U.S. dollars only)\n" } } }, "card": { "type": "object", "properties": { "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "Value that indicates the card type. Possible Values v2 : v1:\n * 001 : visa\n * 002 : mastercard - Eurocard\u2014European regional brand of Mastercard\n * 003 : american express\n * 004 : discover\n * 005 : diners club\n * 006 : carte blanche\n * 007 : jcb\n * 008 : optima\n * 011 : twinpay credit\n * 012 : twinpay debit\n * 013 : walmart\n * 014 : enRoute\n * 015 : lowes consumer\n * 016 : home depot consumer\n * 017 : mbna\n * 018 : dicks sportswear\n * 019 : casual corner\n * 020 : sears\n * 021 : jal\n * 023 : disney\n * 024 : maestro uk domestic\n * 025 : sams club consumer\n * 026 : sams club business\n * 028 : bill me later\n * 029 : bebe\n * 030 : restoration hardware\n * 031 : delta online \u2014 use this value only for Ingenico ePayments. For other processors, use 001 for all Visa card types.\n * 032 : solo\n * 033 : visa electron\n * 034 : dankort\n * 035 : laser\n * 036 : carte bleue \u2014 formerly Cartes Bancaires\n * 037 : carta si\n * 038 : pinless debit\n * 039 : encoded account\n * 040 : uatp\n * 041 : household\n * 042 : maestro international\n * 043 : ge money uk\n * 044 : korean cards\n * 045 : style\n * 046 : jcrew\n * 047 : payease china processing ewallet\n * 048 : payease china processing bank transfer\n * 049 : meijer private label\n * 050 : hipercard \u2014 supported only by the Comercio Latino processor.\n * 051 : aura \u2014 supported only by the Comercio Latino processor.\n * 052 : redecard\n * 054 : elo \u2014 supported only by the Comercio Latino processor.\n * 055 : capital one private label\n * 056 : synchrony private label\n * 057 : costco private label\n * 060 : mada\n * 062 : china union pay\n * 063 : falabella private label\n" }, "issueNumber": { "type": "string", "maxLength": 2, "description": "Number of times a Maestro (UK Domestic) card has been issued to the account holder. The card might or might not have an issue number. The number can consist of one or two digits, and the first digit might be a zero. When you include this value in your request, include exactly what is printed on the card. A value of 2 is different than a value of 02. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card.\n\n**Note** The issue number is not required for Maestro (UK Domestic) transactions.\n" }, "startMonth": { "type": "string", "maxLength": 2, "description": "Month of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: MM`.\nPossible Values: 01 through 12.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "startYear": { "type": "string", "maxLength": 4, "description": "Year of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: YYYY`.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "useAs": { "type": "string", "example": "pinless debit", "description": "'Payment Instrument was created / updated as part of a pinless debit transaction.'\n" }, "hash": { "type": "string", "minLength": 32, "maxLength": 34, "readOnly": true, "description": "Hash value representing the card.\n" }, "tokenizedInformation": { "type": "object", "properties": { "requestorID": { "type": "string", "maxLength": 11, "description": "Value that identifies your business and indicates that the cardholder's account number is tokenized. This value\nis assigned by the token service provider and is unique within the token service provider's database.\n\n**Note** This field is supported only through **VisaNet** and **FDC Nashville Global**.\n" }, "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it\nspecifies the entity that provided you with information about the token.\n\nSet the value for this field to 1. An application on the customer's mobile device provided the token data.\n" } } } } }, "buyerInformation": { "type": "object", "properties": { "companyTaxID": { "type": "string", "maxLength": 9, "description": "Company's tax identifier. This is only used for eCheck service.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character I[ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\nFor details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n" }, "dateOfBirth": { "type": "string", "format": "date", "example": "1960-12-30", "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "The value of the identification type.\n" }, "type": { "type": "string", "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" }, "issuedBy": { "type": "object", "properties": { "administrativeArea": { "type": "string", "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", "maxLength": 20 } } } } } } } }, "billTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n" } } }, "processingInformation": { "type": "object", "title": "tmsPaymentInstrumentProcessingInfo", "properties": { "billPaymentProgramEnabled": { "type": "boolean", "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nFor processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n" }, "bankTransferOptions": { "type": "object", "properties": { "SECCode": { "type": "string", "maxLength": 3, "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\nFor details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "alternateName": { "type": "string", "description": "Alternate contact information for your business,such as an email address or URL.\nThis value might be displayed on the cardholder's statement.\nWhen you do not include this value in your capture or credit request, the merchant URL from your CyberSource account is used.\nImportant This value must consist of English characters\n", "maxLength": 13 } } } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "minLength": 12, "maxLength": 32, "description": "The Id of the Instrument Identifier linked to the Payment Instrument.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Payment Instrument.\n" } } }, "_embedded": { "type": "object", "readOnly": true, "description": "Additional resources for the Payment Instrument.\n", "properties": { "instrumentIdentifier": { "readOnly": true, "title": "tmsEmbeddedInstrumentIdentifier", "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifier.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111" } } }, "paymentInstruments": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifiers Payment Instruments.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111/paymentinstruments" } } } } }, "id": { "type": "string", "description": "The Id of the Instrument Identifier Token.\n" }, "object": { "type": "string", "readOnly": true, "example": "instrumentIdentifier", "description": "The type.\n\nPossible Values:\n- instrumentIdentifier\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "description": "The type of Instrument Identifier.\nPossible Values:\n- enrollable card\n" }, "tokenProvisioningInformation": { "type": "object", "properties": { "consumerConsentObtained": { "type": "boolean", "description": "Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has consented to tokenization of their credentials.\n- `false`: Consumer has not consented to tokenization of their credentials.\n" }, "multiFactorAuthenticated": { "type": "boolean", "description": "Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has been authenticated by the issuer.\n- `false`: Consumer has not been authenticated by the issuer.\n" } } }, "card": { "type": "object", "description": "The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Code. \nThis value is sent to the issuer to support the approval of a network token provision.\nIt is not persisted against the Instrument Identifier.\n" } } }, "bankAccount": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 17, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "routingNumber": { "type": "string", "description": "Bank routing number. This is also called the transit number.\n\nFor details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } }, "tokenizedCard": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The network token card association brand\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n", "example": "visa" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "State of the network token or network token provision\nPossible Values:\n- ACTIVE : Network token is active.\n- SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n- DELETED : This is a final state for a network token instance.\n- UNPROVISIONED : A previous network token provision was unsuccessful.\n" }, "enrollmentId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the enrolled PAN. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "tokenReferenceId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the network token. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "reason": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the network token\nPossible Values:\n- INVALID_REQUEST : The network token provision request contained invalid data.\n- CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified.\n- CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization.\n- CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization.\n- DECLINED : Card can currently not be used with issuer for tokenization.\n- SERVICE_UNAVAILABLE : The network token service was unavailable or timed out.\n- SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration.\n" }, "number": { "type": "string", "readOnly": true, "description": "The token requestors network token\n" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "Two-digit month in which the network token expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the network token expires.\n\nFormat: `YYYY`.\n" }, "cryptogram": { "type": "string", "readOnly": true, "description": "Generated value used in conjunction with the network token for making a payment.\n", "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" }, "card": { "type": "object", "readOnly": true, "description": "The latest card details associated with the network token", "properties": { "suffix": { "type": "string", "readOnly": true, "description": "The customer's latest payment card number suffix\n", "example": "1111" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "\nTwo-digit month in which the customer's latest payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the customer's latest payment card expires.\n\nFormat: `YYYY`.\n" } } } } }, "issuer": { "type": "object", "readOnly": true, "properties": { "paymentAccountReference": { "type": "string", "readOnly": true, "maxLength": 32, "description": "This reference number serves as a link to the cardholder account and to all transactions for that account.\n" } } }, "processingInformation": { "type": "object", "properties": { "authorizationOptions": { "type": "object", "title": "tmsAuthorizationOptions", "properties": { "initiator": { "type": "object", "properties": { "merchantInitiatedTransaction": { "type": "object", "properties": { "previousTransactionId": { "type": "string", "maxLength": 15, "description": "Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_\nin the reply message for either the original merchant-initiated payment in the series or the previous\nmerchant-initiated payment in the series.\n" }, "originalAuthorizedAmount": { "type": "string", "maxLength": 15, "description": "Amount of the original authorization.\n" } } } } } } } } }, "billTo": { "type": "object", "description": "This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Instrument Identifier." } } } } } } } } } }, "400": { "description": "Bad Request: e.g. A required header value could be missing.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - invalidHeaders\n - missingHeaders\n - invalidFields\n - missingFields\n - unsupportedPaymentMethodModification\n - invalidCombination\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." }, "details": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "name": { "type": "string", "readOnly": true, "description": "The name of the field that caused the error." }, "location": { "type": "string", "readOnly": true, "description": "The location of the field that caused the error." } } } } } } } } }, "examples": { "Invalid Customer request body": { "errors": [ { "type": "invalidRequest", "message": "Invalid HTTP Body" } ] } } }, "403": { "description": "Forbidden: e.g. The profile might not have permission to perform the operation.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - forbidden\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "forbidden", "message": "Request not permitted" } ] } } }, "409": { "description": "Conflict. The token is linked to a Payment Instrument.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - instrumentIdentifierDeletionError\n - tokenIdConflict\n - conflict\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "conflict", "message": "Action cannot be performed as the PaymentInstrument is the customers default" } ] } } }, "424": { "description": "Failed Dependency: e.g. The profile represented by the profile-id may not exist or the profile-id was entered incorrectly.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notFound", "message": "Profile not found" } ] } } }, "500": { "description": "Unexpected error.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "examples": { "application/json": { "errors": [ { "type": "serverError", "message": "Internal server error" } ] } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - internalError\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } } } }, "x-example": { "example0": { "summary": "Create Customer Default Payment Instrument (Card)", "value": { "default": "true", "card": { "expirationMonth": "12", "expirationYear": "2031", "type": "001" }, "billTo": { "firstName": "John", "lastName": "Doe", "company": "CyberSource", "address1": "1 Market St", "locality": "San Francisco", "administrativeArea": "CA", "postalCode": "94105", "country": "US", "email": "test@cybs.com", "phoneNumber": "4158880000" }, "instrumentIdentifier": { "id": "instrumentIdentifierId" } } }, "example1": { "summary": "Create Customer Non-Default Payment Instrument (Card)", "value": { "default": "false", "card": { "expirationMonth": "12", "expirationYear": "2031", "type": "001" }, "billTo": { "firstName": "John", "lastName": "Doe", "company": "CyberSource", "address1": "1 Market St", "locality": "San Francisco", "administrativeArea": "CA", "postalCode": "94105", "country": "US", "email": "test@cybs.com", "phoneNumber": "4158880000" }, "instrumentIdentifier": { "id": "instrumentIdentifierId" } } }, "example2": { "summary": "Create Customer Payment Instrument (Bank Account)", "value": { "bankAccount": { "type": "savings" }, "buyerInformation": { "companyTaxID": "12345", "currency": "USD", "dateOfBirth": "2000-12-13", "personalIdentification": [ { "id": "57684432111321", "type": "driver license", "issuedBy": { "administrativeArea": "CA" } } ] }, "billTo": { "firstName": "John", "lastName": "Doe", "company": "CyberSource", "address1": "1 Market St", "locality": "San Francisco", "administrativeArea": "CA", "postalCode": "94105", "country": "US", "email": "test@cybs.com", "phoneNumber": "4158880000" }, "processingInformation": { "bankTransferOptions": { "SECCode": "WEB" } }, "instrumentIdentifier": { "id": "instrumentIdentifierId" } } }, "example3": { "summary": "Create Customer Payment Instrument (Pinless Debit)", "value": { "card": { "expirationMonth": "12", "expirationYear": "2031", "type": "001", "issueNumber": "01", "startMonth": "01", "startYear": "2020", "useAs": "pinless debit" }, "billTo": { "firstName": "John", "lastName": "Doe", "company": "CyberSource", "address1": "1 Market St", "locality": "San Francisco", "administrativeArea": "CA", "postalCode": "94105", "country": "US", "email": "test@cybs.com", "phoneNumber": "4158880000" }, "instrumentIdentifier": { "id": "instrumentIdentifierId" } } } } }, "get": { "summary": "List Payment Instruments for a Customer", "description": "| | | |\n| --- | --- | --- |\n|**Customer Payment Instrument**
A Customer Payment Instrument represents tokenized customer payment information such as expiration date, billing address & card type.
A [Customer](#token-management_customer_create-a-customer) can have [one or more Payment Instruments](#token-management_customer-payment-instrument_retrieve-a-customer-payment-instrument), with one allocated as the Customers default for use in payments.
A Payment Instrument token does not store the card number. A Payment Instrument is associated with an [Instrument Identifier](#token-management_instrument-identifier_create-an-instrument-identifier) that represents either a payment card number, or in the case of an ACH bank account, the routing and account number.
|      |**Retrieving all Customer Payment Instruments**
Your system can use this API to retrieve all existing Payment Instruments for a Customer.\n", "parameters": [ { "name": "profile-id", "in": "header", "description": "The Id of a profile containing user specific TMS configuration.", "required": false, "type": "string", "minLength": 36, "maxLength": 36, "x-hide-field": true }, { "name": "customerId", "in": "path", "description": "The Id of a Customer.", "required": true, "type": "string", "minLength": 1, "maxLength": 32 }, { "name": "offset", "in": "query", "description": "Starting record in zero-based dataset that should be returned as the first object in the array. Default is 0.", "required": false, "type": "integer", "format": "int64", "default": 0, "minimum": 0 }, { "name": "limit", "in": "query", "description": "The maximum number that can be returned in the array starting from the offset record in zero-based dataset. Default is 20, maximum is 100.", "required": false, "type": "integer", "format": "int64", "default": 20, "minimum": 1, "maximum": 100 } ], "tags": [ "Customer Payment Instrument" ], "operationId": "getCustomerPaymentInstrumentsList", "x-devcenter-metaData": { "categoryTag": "Token_Management", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-cust-pi-tkn/tms-cust-pi-tkn-retrieve-mult-intro.html" }, "produces": [ "application/json;charset=utf-8" ], "x-depends": { "example": { "path": "/tms/v2/customers/{customerId}/payment-instruments", "verb": "post", "exampleId": "example0" }, "fieldMapping": [ { "sourceField": "id", "destinationField": "paymentInstrumentId", "fieldTypeInDestination": "path" } ] }, "responses": { "200": { "description": "Returns all existing Payment Instruments associated with the supplied Id.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally-unique Id associated with your request.", "type": "string" }, "X-Total-Count": { "description": "The total number of Payment Instruments associated with the Customer or Instrument Identifier.", "type": "string" } }, "schema": { "title": "PaymentInstrumentList", "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the current page.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments?offset=0&limit=1" } } }, "first": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the first page.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments?offset=0&limit=1" } } }, "prev": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the previous page.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments?offset=0&limit=1" } } }, "next": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the next page.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments?offset=0&limit=1" } } }, "last": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the last page.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments?offset=0&limit=1" } } } } }, "offset": { "type": "integer", "readOnly": true, "default": 0, "example": 0, "description": "The offset parameter supplied in the request." }, "limit": { "type": "integer", "readOnly": true, "default": 20, "example": 20, "description": "The limit parameter supplied in the request." }, "count": { "type": "integer", "readOnly": true, "example": 1, "description": "The number of Payment Instruments returned in the array." }, "total": { "type": "integer", "readOnly": true, "example": 1, "description": "The total number of Payment Instruments associated with the Customer or Instrument Identifier." }, "_embedded": { "type": "object", "readOnly": true, "description": "Payment Instrument Resources.\n", "properties": { "paymentInstruments": { "type": "array", "readOnly": true, "items": { "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Payment Instrument.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments" } } }, "customer": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Payment Instrument Token." }, "object": { "type": "string", "readOnly": true, "example": "paymentInstrument", "description": "The type.\n\nPossible Values:\n- paymentInstrument\n" }, "default": { "type": "boolean", "description": "Flag that indicates whether customer payment instrument is the dafault.\nPossible Values:\n - `true`: Payment instrument is customer's default.\n - `false`: Payment instrument is not customer's default.\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "readOnly": true, "description": "The type of Payment Instrument.\nPossible Values:\n- cardHash\n" }, "bankAccount": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 18, "description": "Account type.\n\nPossible Values:\n - checking : C\n - general ledger : G This value is supported only on Wells Fargo ACH\n - savings : S (U.S. dollars only)\n - corporate checking : X (U.S. dollars only)\n" } } }, "card": { "type": "object", "properties": { "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "Value that indicates the card type. Possible Values v2 : v1:\n * 001 : visa\n * 002 : mastercard - Eurocard\u2014European regional brand of Mastercard\n * 003 : american express\n * 004 : discover\n * 005 : diners club\n * 006 : carte blanche\n * 007 : jcb\n * 008 : optima\n * 011 : twinpay credit\n * 012 : twinpay debit\n * 013 : walmart\n * 014 : enRoute\n * 015 : lowes consumer\n * 016 : home depot consumer\n * 017 : mbna\n * 018 : dicks sportswear\n * 019 : casual corner\n * 020 : sears\n * 021 : jal\n * 023 : disney\n * 024 : maestro uk domestic\n * 025 : sams club consumer\n * 026 : sams club business\n * 028 : bill me later\n * 029 : bebe\n * 030 : restoration hardware\n * 031 : delta online \u2014 use this value only for Ingenico ePayments. For other processors, use 001 for all Visa card types.\n * 032 : solo\n * 033 : visa electron\n * 034 : dankort\n * 035 : laser\n * 036 : carte bleue \u2014 formerly Cartes Bancaires\n * 037 : carta si\n * 038 : pinless debit\n * 039 : encoded account\n * 040 : uatp\n * 041 : household\n * 042 : maestro international\n * 043 : ge money uk\n * 044 : korean cards\n * 045 : style\n * 046 : jcrew\n * 047 : payease china processing ewallet\n * 048 : payease china processing bank transfer\n * 049 : meijer private label\n * 050 : hipercard \u2014 supported only by the Comercio Latino processor.\n * 051 : aura \u2014 supported only by the Comercio Latino processor.\n * 052 : redecard\n * 054 : elo \u2014 supported only by the Comercio Latino processor.\n * 055 : capital one private label\n * 056 : synchrony private label\n * 057 : costco private label\n * 060 : mada\n * 062 : china union pay\n * 063 : falabella private label\n" }, "issueNumber": { "type": "string", "maxLength": 2, "description": "Number of times a Maestro (UK Domestic) card has been issued to the account holder. The card might or might not have an issue number. The number can consist of one or two digits, and the first digit might be a zero. When you include this value in your request, include exactly what is printed on the card. A value of 2 is different than a value of 02. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card.\n\n**Note** The issue number is not required for Maestro (UK Domestic) transactions.\n" }, "startMonth": { "type": "string", "maxLength": 2, "description": "Month of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: MM`.\nPossible Values: 01 through 12.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "startYear": { "type": "string", "maxLength": 4, "description": "Year of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: YYYY`.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "useAs": { "type": "string", "example": "pinless debit", "description": "'Payment Instrument was created / updated as part of a pinless debit transaction.'\n" }, "hash": { "type": "string", "minLength": 32, "maxLength": 34, "readOnly": true, "description": "Hash value representing the card.\n" }, "tokenizedInformation": { "type": "object", "properties": { "requestorID": { "type": "string", "maxLength": 11, "description": "Value that identifies your business and indicates that the cardholder's account number is tokenized. This value\nis assigned by the token service provider and is unique within the token service provider's database.\n\n**Note** This field is supported only through **VisaNet** and **FDC Nashville Global**.\n" }, "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it\nspecifies the entity that provided you with information about the token.\n\nSet the value for this field to 1. An application on the customer's mobile device provided the token data.\n" } } } } }, "buyerInformation": { "type": "object", "properties": { "companyTaxID": { "type": "string", "maxLength": 9, "description": "Company's tax identifier. This is only used for eCheck service.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character I[ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\nFor details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n" }, "dateOfBirth": { "type": "string", "format": "date", "example": "1960-12-30", "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "The value of the identification type.\n" }, "type": { "type": "string", "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" }, "issuedBy": { "type": "object", "properties": { "administrativeArea": { "type": "string", "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", "maxLength": 20 } } } } } } } }, "billTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n" } } }, "processingInformation": { "type": "object", "title": "tmsPaymentInstrumentProcessingInfo", "properties": { "billPaymentProgramEnabled": { "type": "boolean", "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nFor processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n" }, "bankTransferOptions": { "type": "object", "properties": { "SECCode": { "type": "string", "maxLength": 3, "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\nFor details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "alternateName": { "type": "string", "description": "Alternate contact information for your business,such as an email address or URL.\nThis value might be displayed on the cardholder's statement.\nWhen you do not include this value in your capture or credit request, the merchant URL from your CyberSource account is used.\nImportant This value must consist of English characters\n", "maxLength": 13 } } } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "minLength": 12, "maxLength": 32, "description": "The Id of the Instrument Identifier linked to the Payment Instrument.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Payment Instrument.\n" } } }, "_embedded": { "type": "object", "readOnly": true, "description": "Additional resources for the Payment Instrument.\n", "properties": { "instrumentIdentifier": { "readOnly": true, "title": "tmsEmbeddedInstrumentIdentifier", "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifier.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111" } } }, "paymentInstruments": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifiers Payment Instruments.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111/paymentinstruments" } } } } }, "id": { "type": "string", "description": "The Id of the Instrument Identifier Token.\n" }, "object": { "type": "string", "readOnly": true, "example": "instrumentIdentifier", "description": "The type.\n\nPossible Values:\n- instrumentIdentifier\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "description": "The type of Instrument Identifier.\nPossible Values:\n- enrollable card\n" }, "tokenProvisioningInformation": { "type": "object", "properties": { "consumerConsentObtained": { "type": "boolean", "description": "Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has consented to tokenization of their credentials.\n- `false`: Consumer has not consented to tokenization of their credentials.\n" }, "multiFactorAuthenticated": { "type": "boolean", "description": "Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has been authenticated by the issuer.\n- `false`: Consumer has not been authenticated by the issuer.\n" } } }, "card": { "type": "object", "description": "The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Code. \nThis value is sent to the issuer to support the approval of a network token provision.\nIt is not persisted against the Instrument Identifier.\n" } } }, "bankAccount": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 17, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "routingNumber": { "type": "string", "description": "Bank routing number. This is also called the transit number.\n\nFor details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } }, "tokenizedCard": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The network token card association brand\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n", "example": "visa" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "State of the network token or network token provision\nPossible Values:\n- ACTIVE : Network token is active.\n- SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n- DELETED : This is a final state for a network token instance.\n- UNPROVISIONED : A previous network token provision was unsuccessful.\n" }, "enrollmentId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the enrolled PAN. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "tokenReferenceId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the network token. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "reason": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the network token\nPossible Values:\n- INVALID_REQUEST : The network token provision request contained invalid data.\n- CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified.\n- CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization.\n- CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization.\n- DECLINED : Card can currently not be used with issuer for tokenization.\n- SERVICE_UNAVAILABLE : The network token service was unavailable or timed out.\n- SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration.\n" }, "number": { "type": "string", "readOnly": true, "description": "The token requestors network token\n" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "Two-digit month in which the network token expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the network token expires.\n\nFormat: `YYYY`.\n" }, "cryptogram": { "type": "string", "readOnly": true, "description": "Generated value used in conjunction with the network token for making a payment.\n", "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" }, "card": { "type": "object", "readOnly": true, "description": "The latest card details associated with the network token", "properties": { "suffix": { "type": "string", "readOnly": true, "description": "The customer's latest payment card number suffix\n", "example": "1111" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "\nTwo-digit month in which the customer's latest payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the customer's latest payment card expires.\n\nFormat: `YYYY`.\n" } } } } }, "issuer": { "type": "object", "readOnly": true, "properties": { "paymentAccountReference": { "type": "string", "readOnly": true, "maxLength": 32, "description": "This reference number serves as a link to the cardholder account and to all transactions for that account.\n" } } }, "processingInformation": { "type": "object", "properties": { "authorizationOptions": { "type": "object", "title": "tmsAuthorizationOptions", "properties": { "initiator": { "type": "object", "properties": { "merchantInitiatedTransaction": { "type": "object", "properties": { "previousTransactionId": { "type": "string", "maxLength": 15, "description": "Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_\nin the reply message for either the original merchant-initiated payment in the series or the previous\nmerchant-initiated payment in the series.\n" }, "originalAuthorizedAmount": { "type": "string", "maxLength": 15, "description": "Amount of the original authorization.\n" } } } } } } } } }, "billTo": { "type": "object", "description": "This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Instrument Identifier." } } } } } } } } } } } } } } }, "400": { "description": "Bad Request: e.g. A required header value could be missing.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - invalidHeaders\n - missingHeaders\n - invalidFields\n - missingFields\n - unsupportedPaymentMethodModification\n - invalidCombination\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." }, "details": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "name": { "type": "string", "readOnly": true, "description": "The name of the field that caused the error." }, "location": { "type": "string", "readOnly": true, "description": "The location of the field that caused the error." } } } } } } } } }, "examples": { "Invalid Customer request body": { "errors": [ { "type": "invalidRequest", "message": "Invalid HTTP Body" } ] } } }, "403": { "description": "Forbidden: e.g. The profile might not have permission to perform the operation.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - forbidden\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "forbidden", "message": "Request not permitted" } ] } } }, "404": { "description": "Token Not Found. The Id may not exist or was entered incorrectly.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notFound", "message": "Token not found" } ] } } }, "410": { "description": "Token Not Available. The token has been deleted.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notAvailable\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notAvailable", "message": "Token not available." } ] } } }, "424": { "description": "Failed Dependency: e.g. The profile represented by the profile-id may not exist or the profile-id was entered incorrectly.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notFound", "message": "Profile not found" } ] } } }, "500": { "description": "Unexpected error.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "examples": { "application/json": { "errors": [ { "type": "serverError", "message": "Internal server error" } ] } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - internalError\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } } } } } }, "/tms/v2/customers/{customerId}/payment-instruments/{paymentInstrumentId}": { "get": { "summary": "Retrieve a Customer Payment Instrument", "description": "| | | |\n| --- | --- | --- |\n|**Customer Payment Instrument**
A Customer Payment Instrument represents tokenized customer payment information such as expiration date, billing address & card type.
A [Customer](#token-management_customer_create-a-customer) can have [one or more Payment Instruments](#token-management_customer-payment-instrument_retrieve-a-customer-payment-instrument), with one allocated as the Customers default for use in payments.
A Payment Instrument token does not store the card number. A Payment Instrument is associated with an [Instrument Identifier](#token-management_instrument-identifier_create-an-instrument-identifier) that represents either a payment card number, or in the case of an ACH bank account, the routing and account number.
|      |**Retrieving a Customer Payment Instrument**
Your system can use this API to retrieve an existing Payment Instrument for a Customer.
To perform a payment with a particular Payment Instrument simply specify the [Payment Instrument Id in the payments request](#payments_payments_process-a-payment_samplerequests-dropdown_authorization-using-tokens_authorization-with-customer-payment-instrument-and-shipping-address-token-id_liveconsole-tab-request-body).\n", "parameters": [ { "name": "profile-id", "in": "header", "description": "The Id of a profile containing user specific TMS configuration.", "required": false, "type": "string", "minLength": 36, "maxLength": 36, "x-hide-field": true }, { "name": "customerId", "in": "path", "description": "The Id of a Customer.", "required": true, "type": "string", "minLength": 1, "maxLength": 32 }, { "name": "paymentInstrumentId", "in": "path", "description": "The Id of a payment instrument.", "required": true, "type": "string", "minLength": 1, "maxLength": 32 } ], "tags": [ "Customer Payment Instrument" ], "operationId": "getCustomerPaymentInstrument", "x-devcenter-metaData": { "categoryTag": "Token_Management", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-cust-pi-tkn/tms-cust-pi-tkn-retrieve-intro.html" }, "produces": [ "application/json;charset=utf-8" ], "x-depends": { "example": { "path": "/tms/v2/customers/{customerId}/payment-instruments", "verb": "post", "exampleId": "example0" }, "fieldMapping": [ { "sourceField": "id", "destinationField": "paymentInstrumentId", "fieldTypeInDestination": "path" } ] }, "responses": { "200": { "description": "Returns an existing Payment Instrument associated with the supplied Id.", "headers": { "ETag": { "description": "An ETag is an identifier assigned to a specific version of a resource.", "type": "string" }, "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally-unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Payment Instrument.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments" } } }, "customer": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Payment Instrument Token." }, "object": { "type": "string", "readOnly": true, "example": "paymentInstrument", "description": "The type.\n\nPossible Values:\n- paymentInstrument\n" }, "default": { "type": "boolean", "description": "Flag that indicates whether customer payment instrument is the dafault.\nPossible Values:\n - `true`: Payment instrument is customer's default.\n - `false`: Payment instrument is not customer's default.\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "readOnly": true, "description": "The type of Payment Instrument.\nPossible Values:\n- cardHash\n" }, "bankAccount": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 18, "description": "Account type.\n\nPossible Values:\n - checking : C\n - general ledger : G This value is supported only on Wells Fargo ACH\n - savings : S (U.S. dollars only)\n - corporate checking : X (U.S. dollars only)\n" } } }, "card": { "type": "object", "properties": { "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "Value that indicates the card type. Possible Values v2 : v1:\n * 001 : visa\n * 002 : mastercard - Eurocard\u2014European regional brand of Mastercard\n * 003 : american express\n * 004 : discover\n * 005 : diners club\n * 006 : carte blanche\n * 007 : jcb\n * 008 : optima\n * 011 : twinpay credit\n * 012 : twinpay debit\n * 013 : walmart\n * 014 : enRoute\n * 015 : lowes consumer\n * 016 : home depot consumer\n * 017 : mbna\n * 018 : dicks sportswear\n * 019 : casual corner\n * 020 : sears\n * 021 : jal\n * 023 : disney\n * 024 : maestro uk domestic\n * 025 : sams club consumer\n * 026 : sams club business\n * 028 : bill me later\n * 029 : bebe\n * 030 : restoration hardware\n * 031 : delta online \u2014 use this value only for Ingenico ePayments. For other processors, use 001 for all Visa card types.\n * 032 : solo\n * 033 : visa electron\n * 034 : dankort\n * 035 : laser\n * 036 : carte bleue \u2014 formerly Cartes Bancaires\n * 037 : carta si\n * 038 : pinless debit\n * 039 : encoded account\n * 040 : uatp\n * 041 : household\n * 042 : maestro international\n * 043 : ge money uk\n * 044 : korean cards\n * 045 : style\n * 046 : jcrew\n * 047 : payease china processing ewallet\n * 048 : payease china processing bank transfer\n * 049 : meijer private label\n * 050 : hipercard \u2014 supported only by the Comercio Latino processor.\n * 051 : aura \u2014 supported only by the Comercio Latino processor.\n * 052 : redecard\n * 054 : elo \u2014 supported only by the Comercio Latino processor.\n * 055 : capital one private label\n * 056 : synchrony private label\n * 057 : costco private label\n * 060 : mada\n * 062 : china union pay\n * 063 : falabella private label\n" }, "issueNumber": { "type": "string", "maxLength": 2, "description": "Number of times a Maestro (UK Domestic) card has been issued to the account holder. The card might or might not have an issue number. The number can consist of one or two digits, and the first digit might be a zero. When you include this value in your request, include exactly what is printed on the card. A value of 2 is different than a value of 02. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card.\n\n**Note** The issue number is not required for Maestro (UK Domestic) transactions.\n" }, "startMonth": { "type": "string", "maxLength": 2, "description": "Month of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: MM`.\nPossible Values: 01 through 12.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "startYear": { "type": "string", "maxLength": 4, "description": "Year of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: YYYY`.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "useAs": { "type": "string", "example": "pinless debit", "description": "'Payment Instrument was created / updated as part of a pinless debit transaction.'\n" }, "hash": { "type": "string", "minLength": 32, "maxLength": 34, "readOnly": true, "description": "Hash value representing the card.\n" }, "tokenizedInformation": { "type": "object", "properties": { "requestorID": { "type": "string", "maxLength": 11, "description": "Value that identifies your business and indicates that the cardholder's account number is tokenized. This value\nis assigned by the token service provider and is unique within the token service provider's database.\n\n**Note** This field is supported only through **VisaNet** and **FDC Nashville Global**.\n" }, "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it\nspecifies the entity that provided you with information about the token.\n\nSet the value for this field to 1. An application on the customer's mobile device provided the token data.\n" } } } } }, "buyerInformation": { "type": "object", "properties": { "companyTaxID": { "type": "string", "maxLength": 9, "description": "Company's tax identifier. This is only used for eCheck service.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character I[ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\nFor details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n" }, "dateOfBirth": { "type": "string", "format": "date", "example": "1960-12-30", "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "The value of the identification type.\n" }, "type": { "type": "string", "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" }, "issuedBy": { "type": "object", "properties": { "administrativeArea": { "type": "string", "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", "maxLength": 20 } } } } } } } }, "billTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n" } } }, "processingInformation": { "type": "object", "title": "tmsPaymentInstrumentProcessingInfo", "properties": { "billPaymentProgramEnabled": { "type": "boolean", "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nFor processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n" }, "bankTransferOptions": { "type": "object", "properties": { "SECCode": { "type": "string", "maxLength": 3, "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\nFor details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "alternateName": { "type": "string", "description": "Alternate contact information for your business,such as an email address or URL.\nThis value might be displayed on the cardholder's statement.\nWhen you do not include this value in your capture or credit request, the merchant URL from your CyberSource account is used.\nImportant This value must consist of English characters\n", "maxLength": 13 } } } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "minLength": 12, "maxLength": 32, "description": "The Id of the Instrument Identifier linked to the Payment Instrument.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Payment Instrument.\n" } } }, "_embedded": { "type": "object", "readOnly": true, "description": "Additional resources for the Payment Instrument.\n", "properties": { "instrumentIdentifier": { "readOnly": true, "title": "tmsEmbeddedInstrumentIdentifier", "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifier.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111" } } }, "paymentInstruments": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifiers Payment Instruments.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111/paymentinstruments" } } } } }, "id": { "type": "string", "description": "The Id of the Instrument Identifier Token.\n" }, "object": { "type": "string", "readOnly": true, "example": "instrumentIdentifier", "description": "The type.\n\nPossible Values:\n- instrumentIdentifier\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "description": "The type of Instrument Identifier.\nPossible Values:\n- enrollable card\n" }, "tokenProvisioningInformation": { "type": "object", "properties": { "consumerConsentObtained": { "type": "boolean", "description": "Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has consented to tokenization of their credentials.\n- `false`: Consumer has not consented to tokenization of their credentials.\n" }, "multiFactorAuthenticated": { "type": "boolean", "description": "Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has been authenticated by the issuer.\n- `false`: Consumer has not been authenticated by the issuer.\n" } } }, "card": { "type": "object", "description": "The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Code. \nThis value is sent to the issuer to support the approval of a network token provision.\nIt is not persisted against the Instrument Identifier.\n" } } }, "bankAccount": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 17, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "routingNumber": { "type": "string", "description": "Bank routing number. This is also called the transit number.\n\nFor details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } }, "tokenizedCard": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The network token card association brand\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n", "example": "visa" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "State of the network token or network token provision\nPossible Values:\n- ACTIVE : Network token is active.\n- SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n- DELETED : This is a final state for a network token instance.\n- UNPROVISIONED : A previous network token provision was unsuccessful.\n" }, "enrollmentId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the enrolled PAN. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "tokenReferenceId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the network token. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "reason": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the network token\nPossible Values:\n- INVALID_REQUEST : The network token provision request contained invalid data.\n- CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified.\n- CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization.\n- CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization.\n- DECLINED : Card can currently not be used with issuer for tokenization.\n- SERVICE_UNAVAILABLE : The network token service was unavailable or timed out.\n- SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration.\n" }, "number": { "type": "string", "readOnly": true, "description": "The token requestors network token\n" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "Two-digit month in which the network token expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the network token expires.\n\nFormat: `YYYY`.\n" }, "cryptogram": { "type": "string", "readOnly": true, "description": "Generated value used in conjunction with the network token for making a payment.\n", "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" }, "card": { "type": "object", "readOnly": true, "description": "The latest card details associated with the network token", "properties": { "suffix": { "type": "string", "readOnly": true, "description": "The customer's latest payment card number suffix\n", "example": "1111" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "\nTwo-digit month in which the customer's latest payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the customer's latest payment card expires.\n\nFormat: `YYYY`.\n" } } } } }, "issuer": { "type": "object", "readOnly": true, "properties": { "paymentAccountReference": { "type": "string", "readOnly": true, "maxLength": 32, "description": "This reference number serves as a link to the cardholder account and to all transactions for that account.\n" } } }, "processingInformation": { "type": "object", "properties": { "authorizationOptions": { "type": "object", "title": "tmsAuthorizationOptions", "properties": { "initiator": { "type": "object", "properties": { "merchantInitiatedTransaction": { "type": "object", "properties": { "previousTransactionId": { "type": "string", "maxLength": 15, "description": "Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_\nin the reply message for either the original merchant-initiated payment in the series or the previous\nmerchant-initiated payment in the series.\n" }, "originalAuthorizedAmount": { "type": "string", "maxLength": 15, "description": "Amount of the original authorization.\n" } } } } } } } } }, "billTo": { "type": "object", "description": "This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Instrument Identifier." } } } } } } } } } }, "400": { "description": "Bad Request: e.g. A required header value could be missing.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - invalidHeaders\n - missingHeaders\n - invalidFields\n - missingFields\n - unsupportedPaymentMethodModification\n - invalidCombination\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." }, "details": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "name": { "type": "string", "readOnly": true, "description": "The name of the field that caused the error." }, "location": { "type": "string", "readOnly": true, "description": "The location of the field that caused the error." } } } } } } } } }, "examples": { "Invalid Customer request body": { "errors": [ { "type": "invalidRequest", "message": "Invalid HTTP Body" } ] } } }, "403": { "description": "Forbidden: e.g. The profile might not have permission to perform the operation.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - forbidden\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "forbidden", "message": "Request not permitted" } ] } } }, "404": { "description": "Token Not Found. The Id may not exist or was entered incorrectly.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notFound", "message": "Token not found" } ] } } }, "410": { "description": "Token Not Available. The token has been deleted.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notAvailable\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notAvailable", "message": "Token not available." } ] } } }, "424": { "description": "Failed Dependency: e.g. The profile represented by the profile-id may not exist or the profile-id was entered incorrectly.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notFound", "message": "Profile not found" } ] } } }, "500": { "description": "Unexpected error.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "examples": { "application/json": { "errors": [ { "type": "serverError", "message": "Internal server error" } ] } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - internalError\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } } } } }, "patch": { "summary": "Update a Customer Payment Instrument", "description": "| | | |\n| --- | --- | --- |\n|**Customer Payment Instrument**
A Customer Payment Instrument represents tokenized customer payment information such as expiration date, billing address & card type.
A [Customer](#token-management_customer_create-a-customer) can have [one or more Payment Instruments](#token-management_customer-payment-instrument_retrieve-a-customer-payment-instrument), with one allocated as the Customers default for use in payments.
A Payment Instrument token does not store the card number. A Payment Instrument is associated with an [Instrument Identifier](#token-management_instrument-identifier_create-an-instrument-identifier) that represents either a payment card number, or in the case of an ACH bank account, the routing and account number.
|      |**Updating a Customers Payment Instrument**
Your system can use this API to update an existing Payment Instrument for a Customer, including selecting a [default Payment Instrument](#token-management_customer-payment-instrument_update-a-customer-payment-instrument_samplerequests-dropdown_make-customer-payment-instrument-the-default_liveconsole-tab-request-body) for use in payments.\n", "parameters": [ { "name": "profile-id", "in": "header", "description": "The Id of a profile containing user specific TMS configuration.", "required": false, "type": "string", "minLength": 36, "maxLength": 36, "x-hide-field": true }, { "name": "customerId", "in": "path", "description": "The Id of a Customer.", "required": true, "type": "string", "minLength": 1, "maxLength": 32 }, { "name": "paymentInstrumentId", "in": "path", "description": "The Id of a payment instrument.", "required": true, "type": "string", "minLength": 1, "maxLength": 32 }, { "name": "if-match", "in": "header", "description": "Contains an ETag value from a GET request to make the request conditional.", "required": false, "type": "string", "minLength": 1, "maxLength": 32 }, { "name": "patchCustomerPaymentInstrumentRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Payment Instrument.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments" } } }, "customer": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Payment Instrument Token." }, "object": { "type": "string", "readOnly": true, "example": "paymentInstrument", "description": "The type.\n\nPossible Values:\n- paymentInstrument\n" }, "default": { "type": "boolean", "description": "Flag that indicates whether customer payment instrument is the dafault.\nPossible Values:\n - `true`: Payment instrument is customer's default.\n - `false`: Payment instrument is not customer's default.\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "readOnly": true, "description": "The type of Payment Instrument.\nPossible Values:\n- cardHash\n" }, "bankAccount": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 18, "description": "Account type.\n\nPossible Values:\n - checking : C\n - general ledger : G This value is supported only on Wells Fargo ACH\n - savings : S (U.S. dollars only)\n - corporate checking : X (U.S. dollars only)\n" } } }, "card": { "type": "object", "properties": { "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "Value that indicates the card type. Possible Values v2 : v1:\n * 001 : visa\n * 002 : mastercard - Eurocard\u2014European regional brand of Mastercard\n * 003 : american express\n * 004 : discover\n * 005 : diners club\n * 006 : carte blanche\n * 007 : jcb\n * 008 : optima\n * 011 : twinpay credit\n * 012 : twinpay debit\n * 013 : walmart\n * 014 : enRoute\n * 015 : lowes consumer\n * 016 : home depot consumer\n * 017 : mbna\n * 018 : dicks sportswear\n * 019 : casual corner\n * 020 : sears\n * 021 : jal\n * 023 : disney\n * 024 : maestro uk domestic\n * 025 : sams club consumer\n * 026 : sams club business\n * 028 : bill me later\n * 029 : bebe\n * 030 : restoration hardware\n * 031 : delta online \u2014 use this value only for Ingenico ePayments. For other processors, use 001 for all Visa card types.\n * 032 : solo\n * 033 : visa electron\n * 034 : dankort\n * 035 : laser\n * 036 : carte bleue \u2014 formerly Cartes Bancaires\n * 037 : carta si\n * 038 : pinless debit\n * 039 : encoded account\n * 040 : uatp\n * 041 : household\n * 042 : maestro international\n * 043 : ge money uk\n * 044 : korean cards\n * 045 : style\n * 046 : jcrew\n * 047 : payease china processing ewallet\n * 048 : payease china processing bank transfer\n * 049 : meijer private label\n * 050 : hipercard \u2014 supported only by the Comercio Latino processor.\n * 051 : aura \u2014 supported only by the Comercio Latino processor.\n * 052 : redecard\n * 054 : elo \u2014 supported only by the Comercio Latino processor.\n * 055 : capital one private label\n * 056 : synchrony private label\n * 057 : costco private label\n * 060 : mada\n * 062 : china union pay\n * 063 : falabella private label\n" }, "issueNumber": { "type": "string", "maxLength": 2, "description": "Number of times a Maestro (UK Domestic) card has been issued to the account holder. The card might or might not have an issue number. The number can consist of one or two digits, and the first digit might be a zero. When you include this value in your request, include exactly what is printed on the card. A value of 2 is different than a value of 02. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card.\n\n**Note** The issue number is not required for Maestro (UK Domestic) transactions.\n" }, "startMonth": { "type": "string", "maxLength": 2, "description": "Month of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: MM`.\nPossible Values: 01 through 12.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "startYear": { "type": "string", "maxLength": 4, "description": "Year of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: YYYY`.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "useAs": { "type": "string", "example": "pinless debit", "description": "'Payment Instrument was created / updated as part of a pinless debit transaction.'\n" }, "hash": { "type": "string", "minLength": 32, "maxLength": 34, "readOnly": true, "description": "Hash value representing the card.\n" }, "tokenizedInformation": { "type": "object", "properties": { "requestorID": { "type": "string", "maxLength": 11, "description": "Value that identifies your business and indicates that the cardholder's account number is tokenized. This value\nis assigned by the token service provider and is unique within the token service provider's database.\n\n**Note** This field is supported only through **VisaNet** and **FDC Nashville Global**.\n" }, "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it\nspecifies the entity that provided you with information about the token.\n\nSet the value for this field to 1. An application on the customer's mobile device provided the token data.\n" } } } } }, "buyerInformation": { "type": "object", "properties": { "companyTaxID": { "type": "string", "maxLength": 9, "description": "Company's tax identifier. This is only used for eCheck service.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character I[ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\nFor details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n" }, "dateOfBirth": { "type": "string", "format": "date", "example": "1960-12-30", "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "The value of the identification type.\n" }, "type": { "type": "string", "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" }, "issuedBy": { "type": "object", "properties": { "administrativeArea": { "type": "string", "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", "maxLength": 20 } } } } } } } }, "billTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n" } } }, "processingInformation": { "type": "object", "title": "tmsPaymentInstrumentProcessingInfo", "properties": { "billPaymentProgramEnabled": { "type": "boolean", "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nFor processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n" }, "bankTransferOptions": { "type": "object", "properties": { "SECCode": { "type": "string", "maxLength": 3, "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\nFor details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "alternateName": { "type": "string", "description": "Alternate contact information for your business,such as an email address or URL.\nThis value might be displayed on the cardholder's statement.\nWhen you do not include this value in your capture or credit request, the merchant URL from your CyberSource account is used.\nImportant This value must consist of English characters\n", "maxLength": 13 } } } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "minLength": 12, "maxLength": 32, "description": "The Id of the Instrument Identifier linked to the Payment Instrument.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Payment Instrument.\n" } } }, "_embedded": { "type": "object", "readOnly": true, "description": "Additional resources for the Payment Instrument.\n", "properties": { "instrumentIdentifier": { "readOnly": true, "title": "tmsEmbeddedInstrumentIdentifier", "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifier.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111" } } }, "paymentInstruments": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifiers Payment Instruments.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111/paymentinstruments" } } } } }, "id": { "type": "string", "description": "The Id of the Instrument Identifier Token.\n" }, "object": { "type": "string", "readOnly": true, "example": "instrumentIdentifier", "description": "The type.\n\nPossible Values:\n- instrumentIdentifier\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "description": "The type of Instrument Identifier.\nPossible Values:\n- enrollable card\n" }, "tokenProvisioningInformation": { "type": "object", "properties": { "consumerConsentObtained": { "type": "boolean", "description": "Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has consented to tokenization of their credentials.\n- `false`: Consumer has not consented to tokenization of their credentials.\n" }, "multiFactorAuthenticated": { "type": "boolean", "description": "Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has been authenticated by the issuer.\n- `false`: Consumer has not been authenticated by the issuer.\n" } } }, "card": { "type": "object", "description": "The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Code. \nThis value is sent to the issuer to support the approval of a network token provision.\nIt is not persisted against the Instrument Identifier.\n" } } }, "bankAccount": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 17, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "routingNumber": { "type": "string", "description": "Bank routing number. This is also called the transit number.\n\nFor details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } }, "tokenizedCard": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The network token card association brand\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n", "example": "visa" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "State of the network token or network token provision\nPossible Values:\n- ACTIVE : Network token is active.\n- SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n- DELETED : This is a final state for a network token instance.\n- UNPROVISIONED : A previous network token provision was unsuccessful.\n" }, "enrollmentId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the enrolled PAN. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "tokenReferenceId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the network token. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "reason": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the network token\nPossible Values:\n- INVALID_REQUEST : The network token provision request contained invalid data.\n- CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified.\n- CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization.\n- CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization.\n- DECLINED : Card can currently not be used with issuer for tokenization.\n- SERVICE_UNAVAILABLE : The network token service was unavailable or timed out.\n- SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration.\n" }, "number": { "type": "string", "readOnly": true, "description": "The token requestors network token\n" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "Two-digit month in which the network token expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the network token expires.\n\nFormat: `YYYY`.\n" }, "cryptogram": { "type": "string", "readOnly": true, "description": "Generated value used in conjunction with the network token for making a payment.\n", "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" }, "card": { "type": "object", "readOnly": true, "description": "The latest card details associated with the network token", "properties": { "suffix": { "type": "string", "readOnly": true, "description": "The customer's latest payment card number suffix\n", "example": "1111" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "\nTwo-digit month in which the customer's latest payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the customer's latest payment card expires.\n\nFormat: `YYYY`.\n" } } } } }, "issuer": { "type": "object", "readOnly": true, "properties": { "paymentAccountReference": { "type": "string", "readOnly": true, "maxLength": 32, "description": "This reference number serves as a link to the cardholder account and to all transactions for that account.\n" } } }, "processingInformation": { "type": "object", "properties": { "authorizationOptions": { "type": "object", "title": "tmsAuthorizationOptions", "properties": { "initiator": { "type": "object", "properties": { "merchantInitiatedTransaction": { "type": "object", "properties": { "previousTransactionId": { "type": "string", "maxLength": 15, "description": "Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_\nin the reply message for either the original merchant-initiated payment in the series or the previous\nmerchant-initiated payment in the series.\n" }, "originalAuthorizedAmount": { "type": "string", "maxLength": 15, "description": "Amount of the original authorization.\n" } } } } } } } } }, "billTo": { "type": "object", "description": "This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Instrument Identifier." } } } } } } } } } } ], "tags": [ "Customer Payment Instrument" ], "operationId": "patchCustomersPaymentInstrument", "x-devcenter-metaData": { "categoryTag": "Token_Management", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-cust-pi-tkn/tms-cust-pi-tkn-update-intro.html" }, "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/json;charset=utf-8" ], "x-depends": { "example": { "path": "/tms/v2/customers/{customerId}/payment-instruments", "verb": "post", "exampleId": "example0" }, "fieldMapping": [ { "sourceField": "id", "destinationField": "paymentInstrumentId", "fieldTypeInDestination": "path" } ] }, "responses": { "200": { "description": "Returns an existing Payment Instrument associated with the supplied Id.", "headers": { "ETag": { "description": "An ETag is an identifier assigned to a specific version of a resource.", "type": "string" }, "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally-unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Payment Instrument.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments" } } }, "customer": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Payment Instrument Token." }, "object": { "type": "string", "readOnly": true, "example": "paymentInstrument", "description": "The type.\n\nPossible Values:\n- paymentInstrument\n" }, "default": { "type": "boolean", "description": "Flag that indicates whether customer payment instrument is the dafault.\nPossible Values:\n - `true`: Payment instrument is customer's default.\n - `false`: Payment instrument is not customer's default.\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "readOnly": true, "description": "The type of Payment Instrument.\nPossible Values:\n- cardHash\n" }, "bankAccount": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 18, "description": "Account type.\n\nPossible Values:\n - checking : C\n - general ledger : G This value is supported only on Wells Fargo ACH\n - savings : S (U.S. dollars only)\n - corporate checking : X (U.S. dollars only)\n" } } }, "card": { "type": "object", "properties": { "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "Value that indicates the card type. Possible Values v2 : v1:\n * 001 : visa\n * 002 : mastercard - Eurocard\u2014European regional brand of Mastercard\n * 003 : american express\n * 004 : discover\n * 005 : diners club\n * 006 : carte blanche\n * 007 : jcb\n * 008 : optima\n * 011 : twinpay credit\n * 012 : twinpay debit\n * 013 : walmart\n * 014 : enRoute\n * 015 : lowes consumer\n * 016 : home depot consumer\n * 017 : mbna\n * 018 : dicks sportswear\n * 019 : casual corner\n * 020 : sears\n * 021 : jal\n * 023 : disney\n * 024 : maestro uk domestic\n * 025 : sams club consumer\n * 026 : sams club business\n * 028 : bill me later\n * 029 : bebe\n * 030 : restoration hardware\n * 031 : delta online \u2014 use this value only for Ingenico ePayments. For other processors, use 001 for all Visa card types.\n * 032 : solo\n * 033 : visa electron\n * 034 : dankort\n * 035 : laser\n * 036 : carte bleue \u2014 formerly Cartes Bancaires\n * 037 : carta si\n * 038 : pinless debit\n * 039 : encoded account\n * 040 : uatp\n * 041 : household\n * 042 : maestro international\n * 043 : ge money uk\n * 044 : korean cards\n * 045 : style\n * 046 : jcrew\n * 047 : payease china processing ewallet\n * 048 : payease china processing bank transfer\n * 049 : meijer private label\n * 050 : hipercard \u2014 supported only by the Comercio Latino processor.\n * 051 : aura \u2014 supported only by the Comercio Latino processor.\n * 052 : redecard\n * 054 : elo \u2014 supported only by the Comercio Latino processor.\n * 055 : capital one private label\n * 056 : synchrony private label\n * 057 : costco private label\n * 060 : mada\n * 062 : china union pay\n * 063 : falabella private label\n" }, "issueNumber": { "type": "string", "maxLength": 2, "description": "Number of times a Maestro (UK Domestic) card has been issued to the account holder. The card might or might not have an issue number. The number can consist of one or two digits, and the first digit might be a zero. When you include this value in your request, include exactly what is printed on the card. A value of 2 is different than a value of 02. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card.\n\n**Note** The issue number is not required for Maestro (UK Domestic) transactions.\n" }, "startMonth": { "type": "string", "maxLength": 2, "description": "Month of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: MM`.\nPossible Values: 01 through 12.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "startYear": { "type": "string", "maxLength": 4, "description": "Year of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: YYYY`.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "useAs": { "type": "string", "example": "pinless debit", "description": "'Payment Instrument was created / updated as part of a pinless debit transaction.'\n" }, "hash": { "type": "string", "minLength": 32, "maxLength": 34, "readOnly": true, "description": "Hash value representing the card.\n" }, "tokenizedInformation": { "type": "object", "properties": { "requestorID": { "type": "string", "maxLength": 11, "description": "Value that identifies your business and indicates that the cardholder's account number is tokenized. This value\nis assigned by the token service provider and is unique within the token service provider's database.\n\n**Note** This field is supported only through **VisaNet** and **FDC Nashville Global**.\n" }, "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it\nspecifies the entity that provided you with information about the token.\n\nSet the value for this field to 1. An application on the customer's mobile device provided the token data.\n" } } } } }, "buyerInformation": { "type": "object", "properties": { "companyTaxID": { "type": "string", "maxLength": 9, "description": "Company's tax identifier. This is only used for eCheck service.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character I[ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\nFor details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n" }, "dateOfBirth": { "type": "string", "format": "date", "example": "1960-12-30", "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "The value of the identification type.\n" }, "type": { "type": "string", "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" }, "issuedBy": { "type": "object", "properties": { "administrativeArea": { "type": "string", "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", "maxLength": 20 } } } } } } } }, "billTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n" } } }, "processingInformation": { "type": "object", "title": "tmsPaymentInstrumentProcessingInfo", "properties": { "billPaymentProgramEnabled": { "type": "boolean", "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nFor processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n" }, "bankTransferOptions": { "type": "object", "properties": { "SECCode": { "type": "string", "maxLength": 3, "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\nFor details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "alternateName": { "type": "string", "description": "Alternate contact information for your business,such as an email address or URL.\nThis value might be displayed on the cardholder's statement.\nWhen you do not include this value in your capture or credit request, the merchant URL from your CyberSource account is used.\nImportant This value must consist of English characters\n", "maxLength": 13 } } } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "minLength": 12, "maxLength": 32, "description": "The Id of the Instrument Identifier linked to the Payment Instrument.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Payment Instrument.\n" } } }, "_embedded": { "type": "object", "readOnly": true, "description": "Additional resources for the Payment Instrument.\n", "properties": { "instrumentIdentifier": { "readOnly": true, "title": "tmsEmbeddedInstrumentIdentifier", "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifier.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111" } } }, "paymentInstruments": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifiers Payment Instruments.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111/paymentinstruments" } } } } }, "id": { "type": "string", "description": "The Id of the Instrument Identifier Token.\n" }, "object": { "type": "string", "readOnly": true, "example": "instrumentIdentifier", "description": "The type.\n\nPossible Values:\n- instrumentIdentifier\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "description": "The type of Instrument Identifier.\nPossible Values:\n- enrollable card\n" }, "tokenProvisioningInformation": { "type": "object", "properties": { "consumerConsentObtained": { "type": "boolean", "description": "Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has consented to tokenization of their credentials.\n- `false`: Consumer has not consented to tokenization of their credentials.\n" }, "multiFactorAuthenticated": { "type": "boolean", "description": "Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has been authenticated by the issuer.\n- `false`: Consumer has not been authenticated by the issuer.\n" } } }, "card": { "type": "object", "description": "The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Code. \nThis value is sent to the issuer to support the approval of a network token provision.\nIt is not persisted against the Instrument Identifier.\n" } } }, "bankAccount": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 17, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "routingNumber": { "type": "string", "description": "Bank routing number. This is also called the transit number.\n\nFor details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } }, "tokenizedCard": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The network token card association brand\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n", "example": "visa" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "State of the network token or network token provision\nPossible Values:\n- ACTIVE : Network token is active.\n- SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n- DELETED : This is a final state for a network token instance.\n- UNPROVISIONED : A previous network token provision was unsuccessful.\n" }, "enrollmentId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the enrolled PAN. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "tokenReferenceId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the network token. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "reason": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the network token\nPossible Values:\n- INVALID_REQUEST : The network token provision request contained invalid data.\n- CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified.\n- CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization.\n- CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization.\n- DECLINED : Card can currently not be used with issuer for tokenization.\n- SERVICE_UNAVAILABLE : The network token service was unavailable or timed out.\n- SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration.\n" }, "number": { "type": "string", "readOnly": true, "description": "The token requestors network token\n" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "Two-digit month in which the network token expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the network token expires.\n\nFormat: `YYYY`.\n" }, "cryptogram": { "type": "string", "readOnly": true, "description": "Generated value used in conjunction with the network token for making a payment.\n", "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" }, "card": { "type": "object", "readOnly": true, "description": "The latest card details associated with the network token", "properties": { "suffix": { "type": "string", "readOnly": true, "description": "The customer's latest payment card number suffix\n", "example": "1111" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "\nTwo-digit month in which the customer's latest payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the customer's latest payment card expires.\n\nFormat: `YYYY`.\n" } } } } }, "issuer": { "type": "object", "readOnly": true, "properties": { "paymentAccountReference": { "type": "string", "readOnly": true, "maxLength": 32, "description": "This reference number serves as a link to the cardholder account and to all transactions for that account.\n" } } }, "processingInformation": { "type": "object", "properties": { "authorizationOptions": { "type": "object", "title": "tmsAuthorizationOptions", "properties": { "initiator": { "type": "object", "properties": { "merchantInitiatedTransaction": { "type": "object", "properties": { "previousTransactionId": { "type": "string", "maxLength": 15, "description": "Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_\nin the reply message for either the original merchant-initiated payment in the series or the previous\nmerchant-initiated payment in the series.\n" }, "originalAuthorizedAmount": { "type": "string", "maxLength": 15, "description": "Amount of the original authorization.\n" } } } } } } } } }, "billTo": { "type": "object", "description": "This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Instrument Identifier." } } } } } } } } } }, "400": { "description": "Bad Request: e.g. A required header value could be missing.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - invalidHeaders\n - missingHeaders\n - invalidFields\n - missingFields\n - unsupportedPaymentMethodModification\n - invalidCombination\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." }, "details": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "name": { "type": "string", "readOnly": true, "description": "The name of the field that caused the error." }, "location": { "type": "string", "readOnly": true, "description": "The location of the field that caused the error." } } } } } } } } }, "examples": { "Invalid Customer request body": { "errors": [ { "type": "invalidRequest", "message": "Invalid HTTP Body" } ] } } }, "403": { "description": "Forbidden: e.g. The profile might not have permission to perform the operation.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - forbidden\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "forbidden", "message": "Request not permitted" } ] } } }, "404": { "description": "Token Not Found. The Id may not exist or was entered incorrectly.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notFound", "message": "Token not found" } ] } } }, "410": { "description": "Token Not Available. The token has been deleted.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notAvailable\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notAvailable", "message": "Token not available." } ] } } }, "412": { "description": "Precondition Failed: The If-Match request header value does not match the current resources ETag", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - conflict\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "conflict", "message": "Action cannot be performed as the if-match header value does not match the token etag" } ] } } }, "424": { "description": "Failed Dependency: e.g. The profile represented by the profile-id may not exist or the profile-id was entered incorrectly.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notFound", "message": "Profile not found" } ] } } }, "500": { "description": "Unexpected error.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "examples": { "application/json": { "errors": [ { "type": "serverError", "message": "Internal server error" } ] } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - internalError\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } } } }, "x-example": { "example0": { "summary": "Update Customer Payment Instrument (Card)", "value": { "card": { "expirationMonth": "12", "expirationYear": "2031", "type": "001" }, "billTo": { "firstName": "John", "lastName": "Doe", "company": "CyberSource", "address1": "1 Market St", "locality": "San Francisco", "administrativeArea": "CA", "postalCode": "94105", "country": "US", "email": "test@cybs.com", "phoneNumber": "4158880000" }, "instrumentIdentifier": { "id": "instrumentIdentifierId" } } }, "example1": { "summary": "Update Customer Payment Instrument (Bank Account)", "value": { "bankAccount": { "type": "savings" }, "buyerInformation": { "companyTaxID": "12345", "currency": "USD", "dateOfBirth": "2000-12-13", "personalIdentification": [ { "id": "57684432111321", "type": "driver license", "issuedBy": { "administrativeArea": "CA" } } ] }, "billTo": { "firstName": "John", "lastName": "Doe", "company": "CyberSource", "address1": "1 Market St", "locality": "San Francisco", "administrativeArea": "CA", "postalCode": "94105", "country": "US", "email": "test@cybs.com", "phoneNumber": "4158880000" }, "processingInformation": { "bankTransferOptions": { "SECCode": "WEB" } }, "instrumentIdentifier": { "id": "instrumentIdentifierId" } } }, "example2": { "summary": "Make Customer Payment Instrument the default", "value": { "default": "true" } } } }, "delete": { "summary": "Delete a Customer Payment Instrument", "description": "| | | |\n| --- | --- | --- |\n|**Customer Payment Instrument**
A Customer Payment Instrument represents tokenized customer payment information such as expiration date, billing address & card type.
A [Customer](#token-management_customer_create-a-customer) can have [one or more Payment Instruments](#token-management_customer-payment-instrument_retrieve-a-customer-payment-instrument), with one allocated as the Customers default for use in payments.
A Payment Instrument token does not store the card number. A Payment Instrument is associated with an [Instrument Identifier](#token-management_instrument-identifier_create-an-instrument-identifier) that represents either a payment card number, or in the case of an ACH bank account, the routing and account number.
|      |**Deleting a Customers Payment Instrument**
Your system can use this API to delete an existing Payment Instrument for a Customer.
Any Instrument Identifiers representing the card number will also be deleted if they are not associated with any other Payment Instruments.
If a customer has more than one Payment Instrument then the default Payment Instrument cannot be deleted without first selecting a [new default Payment Instrument](#token-management_customer-payment-instrument_update-a-customer-payment-instrument_samplerequests-dropdown_make-customer-payment-instrument-the-default_liveconsole-tab-request-body).\n", "parameters": [ { "name": "profile-id", "in": "header", "description": "The Id of a profile containing user specific TMS configuration.", "required": false, "type": "string", "minLength": 36, "maxLength": 36, "x-hide-field": true }, { "name": "customerId", "in": "path", "description": "The Id of a Customer.", "required": true, "type": "string", "minLength": 1, "maxLength": 32 }, { "name": "paymentInstrumentId", "in": "path", "description": "The Id of a payment instrument.", "required": true, "type": "string", "minLength": 1, "maxLength": 32 } ], "tags": [ "Customer Payment Instrument" ], "operationId": "deleteCustomerPaymentInstrument", "x-devcenter-metaData": { "categoryTag": "Token_Management", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-cust-pi-tkn/tms-cust-pi-tkn-delete-intro.html" }, "produces": [ "application/json;charset=utf-8" ], "x-depends": { "example": { "path": "/tms/v2/customers/{customerId}/payment-instruments", "verb": "post", "exampleId": "example0" }, "fieldMapping": [ { "sourceField": "id", "destinationField": "paymentInstrumentId", "fieldTypeInDestination": "path" } ] }, "responses": { "204": { "description": "The request is fulfilled but does not need to return a body", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } } }, "400": { "description": "Bad Request: e.g. A required header value could be missing.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - invalidHeaders\n - missingHeaders\n - invalidFields\n - missingFields\n - unsupportedPaymentMethodModification\n - invalidCombination\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." }, "details": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "name": { "type": "string", "readOnly": true, "description": "The name of the field that caused the error." }, "location": { "type": "string", "readOnly": true, "description": "The location of the field that caused the error." } } } } } } } } }, "examples": { "Invalid Customer request body": { "errors": [ { "type": "invalidRequest", "message": "Invalid HTTP Body" } ] } } }, "403": { "description": "Forbidden: e.g. The profile might not have permission to perform the operation.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - forbidden\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "forbidden", "message": "Request not permitted" } ] } } }, "404": { "description": "Token Not Found. The Id may not exist or was entered incorrectly.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notFound", "message": "Token not found" } ] } } }, "409": { "description": "Conflict. The token is linked to a Payment Instrument.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - instrumentIdentifierDeletionError\n - tokenIdConflict\n - conflict\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "conflict", "message": "Action cannot be performed as the PaymentInstrument is the customers default" } ] } } }, "410": { "description": "Token Not Available. The token has been deleted.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notAvailable\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notAvailable", "message": "Token not available." } ] } } }, "424": { "description": "Failed Dependency: e.g. The profile represented by the profile-id may not exist or the profile-id was entered incorrectly.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notFound", "message": "Profile not found" } ] } } }, "500": { "description": "Unexpected error.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "examples": { "application/json": { "errors": [ { "type": "serverError", "message": "Internal server error" } ] } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - internalError\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } } } } } }, "/tms/v1/paymentinstruments": { "post": { "summary": "Create a Payment Instrument", "description": "| | | |\n| --- | --- | --- |\n|**Standalone Payment Instruments**
A Payment Instrument represents tokenized payment information such as expiration date, billing address & card type.
A Payment Instrument token does not store the card number. A Payment Instrument is associated with an [Instrument Identifier](#token-management_instrument-identifier_create-an-instrument-identifier) that represents either a payment card number, or in the case of an ACH bank account, the routing and account number.
**Standalone Payment Instruments do not belong to a [Customer](#token-management_customer_create-a-customer).**

**Creating a Payment Instrument**
It is recommended you [create a Payment Instrument via a Payment Authorization](#payments_payments_process-a-payment_samplerequests-dropdown_authorization-with-token-create_authorization-with-customer-token-creation_liveconsole-tab-request-body), this can be for a zero amount.
In Europe: You should perform Payer Authentication alongside the Authorization.|      |**Payment Network Tokens**
Network tokens perform better than regular card numbers and they are not necessarily invalidated when a cardholder loses their card, or it expires.
A Payment Network Token will be automatically created and used in future payments if you are enabled for the service.
A Payment Network Token can also be [provisioned for an existing Instrument Identifier](#token-management_instrument-identifier_enroll-an-instrument-identifier-for-payment-network-token).
For more information about Payment Network Tokens see the Developer Guide.

**Payments with Payment Instruments**
To perform a payment with a particular Payment Instrument specify the [Payment Instrument in the payment request](#payments_payments_process-a-payment_samplerequests-dropdown_authorization-using-tokens_authorization-with-customer-payment-instrument-and-shipping-address-token-id_liveconsole-tab-request-body).\n", "parameters": [ { "name": "profile-id", "in": "header", "description": "The Id of a profile containing user specific TMS configuration.", "required": false, "type": "string", "minLength": 36, "maxLength": 36, "x-hide-field": true }, { "name": "postPaymentInstrumentRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Payment Instrument.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments" } } }, "customer": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Payment Instrument Token." }, "object": { "type": "string", "readOnly": true, "example": "paymentInstrument", "description": "The type.\n\nPossible Values:\n- paymentInstrument\n" }, "default": { "type": "boolean", "description": "Flag that indicates whether customer payment instrument is the dafault.\nPossible Values:\n - `true`: Payment instrument is customer's default.\n - `false`: Payment instrument is not customer's default.\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "readOnly": true, "description": "The type of Payment Instrument.\nPossible Values:\n- cardHash\n" }, "bankAccount": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 18, "description": "Account type.\n\nPossible Values:\n - checking : C\n - general ledger : G This value is supported only on Wells Fargo ACH\n - savings : S (U.S. dollars only)\n - corporate checking : X (U.S. dollars only)\n" } } }, "card": { "type": "object", "properties": { "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "Value that indicates the card type. Possible Values v2 : v1:\n * 001 : visa\n * 002 : mastercard - Eurocard\u2014European regional brand of Mastercard\n * 003 : american express\n * 004 : discover\n * 005 : diners club\n * 006 : carte blanche\n * 007 : jcb\n * 008 : optima\n * 011 : twinpay credit\n * 012 : twinpay debit\n * 013 : walmart\n * 014 : enRoute\n * 015 : lowes consumer\n * 016 : home depot consumer\n * 017 : mbna\n * 018 : dicks sportswear\n * 019 : casual corner\n * 020 : sears\n * 021 : jal\n * 023 : disney\n * 024 : maestro uk domestic\n * 025 : sams club consumer\n * 026 : sams club business\n * 028 : bill me later\n * 029 : bebe\n * 030 : restoration hardware\n * 031 : delta online \u2014 use this value only for Ingenico ePayments. For other processors, use 001 for all Visa card types.\n * 032 : solo\n * 033 : visa electron\n * 034 : dankort\n * 035 : laser\n * 036 : carte bleue \u2014 formerly Cartes Bancaires\n * 037 : carta si\n * 038 : pinless debit\n * 039 : encoded account\n * 040 : uatp\n * 041 : household\n * 042 : maestro international\n * 043 : ge money uk\n * 044 : korean cards\n * 045 : style\n * 046 : jcrew\n * 047 : payease china processing ewallet\n * 048 : payease china processing bank transfer\n * 049 : meijer private label\n * 050 : hipercard \u2014 supported only by the Comercio Latino processor.\n * 051 : aura \u2014 supported only by the Comercio Latino processor.\n * 052 : redecard\n * 054 : elo \u2014 supported only by the Comercio Latino processor.\n * 055 : capital one private label\n * 056 : synchrony private label\n * 057 : costco private label\n * 060 : mada\n * 062 : china union pay\n * 063 : falabella private label\n" }, "issueNumber": { "type": "string", "maxLength": 2, "description": "Number of times a Maestro (UK Domestic) card has been issued to the account holder. The card might or might not have an issue number. The number can consist of one or two digits, and the first digit might be a zero. When you include this value in your request, include exactly what is printed on the card. A value of 2 is different than a value of 02. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card.\n\n**Note** The issue number is not required for Maestro (UK Domestic) transactions.\n" }, "startMonth": { "type": "string", "maxLength": 2, "description": "Month of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: MM`.\nPossible Values: 01 through 12.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "startYear": { "type": "string", "maxLength": 4, "description": "Year of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: YYYY`.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "useAs": { "type": "string", "example": "pinless debit", "description": "'Payment Instrument was created / updated as part of a pinless debit transaction.'\n" }, "hash": { "type": "string", "minLength": 32, "maxLength": 34, "readOnly": true, "description": "Hash value representing the card.\n" }, "tokenizedInformation": { "type": "object", "properties": { "requestorID": { "type": "string", "maxLength": 11, "description": "Value that identifies your business and indicates that the cardholder's account number is tokenized. This value\nis assigned by the token service provider and is unique within the token service provider's database.\n\n**Note** This field is supported only through **VisaNet** and **FDC Nashville Global**.\n" }, "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it\nspecifies the entity that provided you with information about the token.\n\nSet the value for this field to 1. An application on the customer's mobile device provided the token data.\n" } } } } }, "buyerInformation": { "type": "object", "properties": { "companyTaxID": { "type": "string", "maxLength": 9, "description": "Company's tax identifier. This is only used for eCheck service.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character I[ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\nFor details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n" }, "dateOfBirth": { "type": "string", "format": "date", "example": "1960-12-30", "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "The value of the identification type.\n" }, "type": { "type": "string", "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" }, "issuedBy": { "type": "object", "properties": { "administrativeArea": { "type": "string", "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", "maxLength": 20 } } } } } } } }, "billTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n" } } }, "processingInformation": { "type": "object", "title": "tmsPaymentInstrumentProcessingInfo", "properties": { "billPaymentProgramEnabled": { "type": "boolean", "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nFor processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n" }, "bankTransferOptions": { "type": "object", "properties": { "SECCode": { "type": "string", "maxLength": 3, "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\nFor details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "alternateName": { "type": "string", "description": "Alternate contact information for your business,such as an email address or URL.\nThis value might be displayed on the cardholder's statement.\nWhen you do not include this value in your capture or credit request, the merchant URL from your CyberSource account is used.\nImportant This value must consist of English characters\n", "maxLength": 13 } } } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "minLength": 12, "maxLength": 32, "description": "The Id of the Instrument Identifier linked to the Payment Instrument.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Payment Instrument.\n" } } }, "_embedded": { "type": "object", "readOnly": true, "description": "Additional resources for the Payment Instrument.\n", "properties": { "instrumentIdentifier": { "readOnly": true, "title": "tmsEmbeddedInstrumentIdentifier", "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifier.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111" } } }, "paymentInstruments": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifiers Payment Instruments.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111/paymentinstruments" } } } } }, "id": { "type": "string", "description": "The Id of the Instrument Identifier Token.\n" }, "object": { "type": "string", "readOnly": true, "example": "instrumentIdentifier", "description": "The type.\n\nPossible Values:\n- instrumentIdentifier\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "description": "The type of Instrument Identifier.\nPossible Values:\n- enrollable card\n" }, "tokenProvisioningInformation": { "type": "object", "properties": { "consumerConsentObtained": { "type": "boolean", "description": "Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has consented to tokenization of their credentials.\n- `false`: Consumer has not consented to tokenization of their credentials.\n" }, "multiFactorAuthenticated": { "type": "boolean", "description": "Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has been authenticated by the issuer.\n- `false`: Consumer has not been authenticated by the issuer.\n" } } }, "card": { "type": "object", "description": "The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Code. \nThis value is sent to the issuer to support the approval of a network token provision.\nIt is not persisted against the Instrument Identifier.\n" } } }, "bankAccount": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 17, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "routingNumber": { "type": "string", "description": "Bank routing number. This is also called the transit number.\n\nFor details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } }, "tokenizedCard": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The network token card association brand\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n", "example": "visa" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "State of the network token or network token provision\nPossible Values:\n- ACTIVE : Network token is active.\n- SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n- DELETED : This is a final state for a network token instance.\n- UNPROVISIONED : A previous network token provision was unsuccessful.\n" }, "enrollmentId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the enrolled PAN. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "tokenReferenceId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the network token. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "reason": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the network token\nPossible Values:\n- INVALID_REQUEST : The network token provision request contained invalid data.\n- CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified.\n- CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization.\n- CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization.\n- DECLINED : Card can currently not be used with issuer for tokenization.\n- SERVICE_UNAVAILABLE : The network token service was unavailable or timed out.\n- SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration.\n" }, "number": { "type": "string", "readOnly": true, "description": "The token requestors network token\n" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "Two-digit month in which the network token expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the network token expires.\n\nFormat: `YYYY`.\n" }, "cryptogram": { "type": "string", "readOnly": true, "description": "Generated value used in conjunction with the network token for making a payment.\n", "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" }, "card": { "type": "object", "readOnly": true, "description": "The latest card details associated with the network token", "properties": { "suffix": { "type": "string", "readOnly": true, "description": "The customer's latest payment card number suffix\n", "example": "1111" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "\nTwo-digit month in which the customer's latest payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the customer's latest payment card expires.\n\nFormat: `YYYY`.\n" } } } } }, "issuer": { "type": "object", "readOnly": true, "properties": { "paymentAccountReference": { "type": "string", "readOnly": true, "maxLength": 32, "description": "This reference number serves as a link to the cardholder account and to all transactions for that account.\n" } } }, "processingInformation": { "type": "object", "properties": { "authorizationOptions": { "type": "object", "title": "tmsAuthorizationOptions", "properties": { "initiator": { "type": "object", "properties": { "merchantInitiatedTransaction": { "type": "object", "properties": { "previousTransactionId": { "type": "string", "maxLength": 15, "description": "Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_\nin the reply message for either the original merchant-initiated payment in the series or the previous\nmerchant-initiated payment in the series.\n" }, "originalAuthorizedAmount": { "type": "string", "maxLength": 15, "description": "Amount of the original authorization.\n" } } } } } } } } }, "billTo": { "type": "object", "description": "This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Instrument Identifier." } } } } } } } } } } ], "tags": [ "Payment Instrument" ], "operationId": "postPaymentInstrument", "x-devcenter-metaData": { "categoryTag": "Token_Management", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-pi-tkn/tms-pi-tkn-create-intro.html" }, "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/json;charset=utf-8" ], "responses": { "201": { "description": "Returns an existing Payment Instrument associated with the supplied Id.", "headers": { "ETag": { "description": "An ETag is an identifier assigned to a specific version of a resource.", "type": "string" }, "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally-unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Payment Instrument.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments" } } }, "customer": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Payment Instrument Token." }, "object": { "type": "string", "readOnly": true, "example": "paymentInstrument", "description": "The type.\n\nPossible Values:\n- paymentInstrument\n" }, "default": { "type": "boolean", "description": "Flag that indicates whether customer payment instrument is the dafault.\nPossible Values:\n - `true`: Payment instrument is customer's default.\n - `false`: Payment instrument is not customer's default.\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "readOnly": true, "description": "The type of Payment Instrument.\nPossible Values:\n- cardHash\n" }, "bankAccount": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 18, "description": "Account type.\n\nPossible Values:\n - checking : C\n - general ledger : G This value is supported only on Wells Fargo ACH\n - savings : S (U.S. dollars only)\n - corporate checking : X (U.S. dollars only)\n" } } }, "card": { "type": "object", "properties": { "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "Value that indicates the card type. Possible Values v2 : v1:\n * 001 : visa\n * 002 : mastercard - Eurocard\u2014European regional brand of Mastercard\n * 003 : american express\n * 004 : discover\n * 005 : diners club\n * 006 : carte blanche\n * 007 : jcb\n * 008 : optima\n * 011 : twinpay credit\n * 012 : twinpay debit\n * 013 : walmart\n * 014 : enRoute\n * 015 : lowes consumer\n * 016 : home depot consumer\n * 017 : mbna\n * 018 : dicks sportswear\n * 019 : casual corner\n * 020 : sears\n * 021 : jal\n * 023 : disney\n * 024 : maestro uk domestic\n * 025 : sams club consumer\n * 026 : sams club business\n * 028 : bill me later\n * 029 : bebe\n * 030 : restoration hardware\n * 031 : delta online \u2014 use this value only for Ingenico ePayments. For other processors, use 001 for all Visa card types.\n * 032 : solo\n * 033 : visa electron\n * 034 : dankort\n * 035 : laser\n * 036 : carte bleue \u2014 formerly Cartes Bancaires\n * 037 : carta si\n * 038 : pinless debit\n * 039 : encoded account\n * 040 : uatp\n * 041 : household\n * 042 : maestro international\n * 043 : ge money uk\n * 044 : korean cards\n * 045 : style\n * 046 : jcrew\n * 047 : payease china processing ewallet\n * 048 : payease china processing bank transfer\n * 049 : meijer private label\n * 050 : hipercard \u2014 supported only by the Comercio Latino processor.\n * 051 : aura \u2014 supported only by the Comercio Latino processor.\n * 052 : redecard\n * 054 : elo \u2014 supported only by the Comercio Latino processor.\n * 055 : capital one private label\n * 056 : synchrony private label\n * 057 : costco private label\n * 060 : mada\n * 062 : china union pay\n * 063 : falabella private label\n" }, "issueNumber": { "type": "string", "maxLength": 2, "description": "Number of times a Maestro (UK Domestic) card has been issued to the account holder. The card might or might not have an issue number. The number can consist of one or two digits, and the first digit might be a zero. When you include this value in your request, include exactly what is printed on the card. A value of 2 is different than a value of 02. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card.\n\n**Note** The issue number is not required for Maestro (UK Domestic) transactions.\n" }, "startMonth": { "type": "string", "maxLength": 2, "description": "Month of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: MM`.\nPossible Values: 01 through 12.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "startYear": { "type": "string", "maxLength": 4, "description": "Year of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: YYYY`.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "useAs": { "type": "string", "example": "pinless debit", "description": "'Payment Instrument was created / updated as part of a pinless debit transaction.'\n" }, "hash": { "type": "string", "minLength": 32, "maxLength": 34, "readOnly": true, "description": "Hash value representing the card.\n" }, "tokenizedInformation": { "type": "object", "properties": { "requestorID": { "type": "string", "maxLength": 11, "description": "Value that identifies your business and indicates that the cardholder's account number is tokenized. This value\nis assigned by the token service provider and is unique within the token service provider's database.\n\n**Note** This field is supported only through **VisaNet** and **FDC Nashville Global**.\n" }, "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it\nspecifies the entity that provided you with information about the token.\n\nSet the value for this field to 1. An application on the customer's mobile device provided the token data.\n" } } } } }, "buyerInformation": { "type": "object", "properties": { "companyTaxID": { "type": "string", "maxLength": 9, "description": "Company's tax identifier. This is only used for eCheck service.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character I[ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\nFor details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n" }, "dateOfBirth": { "type": "string", "format": "date", "example": "1960-12-30", "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "The value of the identification type.\n" }, "type": { "type": "string", "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" }, "issuedBy": { "type": "object", "properties": { "administrativeArea": { "type": "string", "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", "maxLength": 20 } } } } } } } }, "billTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n" } } }, "processingInformation": { "type": "object", "title": "tmsPaymentInstrumentProcessingInfo", "properties": { "billPaymentProgramEnabled": { "type": "boolean", "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nFor processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n" }, "bankTransferOptions": { "type": "object", "properties": { "SECCode": { "type": "string", "maxLength": 3, "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\nFor details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "alternateName": { "type": "string", "description": "Alternate contact information for your business,such as an email address or URL.\nThis value might be displayed on the cardholder's statement.\nWhen you do not include this value in your capture or credit request, the merchant URL from your CyberSource account is used.\nImportant This value must consist of English characters\n", "maxLength": 13 } } } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "minLength": 12, "maxLength": 32, "description": "The Id of the Instrument Identifier linked to the Payment Instrument.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Payment Instrument.\n" } } }, "_embedded": { "type": "object", "readOnly": true, "description": "Additional resources for the Payment Instrument.\n", "properties": { "instrumentIdentifier": { "readOnly": true, "title": "tmsEmbeddedInstrumentIdentifier", "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifier.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111" } } }, "paymentInstruments": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifiers Payment Instruments.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111/paymentinstruments" } } } } }, "id": { "type": "string", "description": "The Id of the Instrument Identifier Token.\n" }, "object": { "type": "string", "readOnly": true, "example": "instrumentIdentifier", "description": "The type.\n\nPossible Values:\n- instrumentIdentifier\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "description": "The type of Instrument Identifier.\nPossible Values:\n- enrollable card\n" }, "tokenProvisioningInformation": { "type": "object", "properties": { "consumerConsentObtained": { "type": "boolean", "description": "Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has consented to tokenization of their credentials.\n- `false`: Consumer has not consented to tokenization of their credentials.\n" }, "multiFactorAuthenticated": { "type": "boolean", "description": "Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has been authenticated by the issuer.\n- `false`: Consumer has not been authenticated by the issuer.\n" } } }, "card": { "type": "object", "description": "The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Code. \nThis value is sent to the issuer to support the approval of a network token provision.\nIt is not persisted against the Instrument Identifier.\n" } } }, "bankAccount": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 17, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "routingNumber": { "type": "string", "description": "Bank routing number. This is also called the transit number.\n\nFor details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } }, "tokenizedCard": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The network token card association brand\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n", "example": "visa" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "State of the network token or network token provision\nPossible Values:\n- ACTIVE : Network token is active.\n- SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n- DELETED : This is a final state for a network token instance.\n- UNPROVISIONED : A previous network token provision was unsuccessful.\n" }, "enrollmentId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the enrolled PAN. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "tokenReferenceId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the network token. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "reason": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the network token\nPossible Values:\n- INVALID_REQUEST : The network token provision request contained invalid data.\n- CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified.\n- CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization.\n- CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization.\n- DECLINED : Card can currently not be used with issuer for tokenization.\n- SERVICE_UNAVAILABLE : The network token service was unavailable or timed out.\n- SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration.\n" }, "number": { "type": "string", "readOnly": true, "description": "The token requestors network token\n" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "Two-digit month in which the network token expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the network token expires.\n\nFormat: `YYYY`.\n" }, "cryptogram": { "type": "string", "readOnly": true, "description": "Generated value used in conjunction with the network token for making a payment.\n", "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" }, "card": { "type": "object", "readOnly": true, "description": "The latest card details associated with the network token", "properties": { "suffix": { "type": "string", "readOnly": true, "description": "The customer's latest payment card number suffix\n", "example": "1111" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "\nTwo-digit month in which the customer's latest payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the customer's latest payment card expires.\n\nFormat: `YYYY`.\n" } } } } }, "issuer": { "type": "object", "readOnly": true, "properties": { "paymentAccountReference": { "type": "string", "readOnly": true, "maxLength": 32, "description": "This reference number serves as a link to the cardholder account and to all transactions for that account.\n" } } }, "processingInformation": { "type": "object", "properties": { "authorizationOptions": { "type": "object", "title": "tmsAuthorizationOptions", "properties": { "initiator": { "type": "object", "properties": { "merchantInitiatedTransaction": { "type": "object", "properties": { "previousTransactionId": { "type": "string", "maxLength": 15, "description": "Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_\nin the reply message for either the original merchant-initiated payment in the series or the previous\nmerchant-initiated payment in the series.\n" }, "originalAuthorizedAmount": { "type": "string", "maxLength": 15, "description": "Amount of the original authorization.\n" } } } } } } } } }, "billTo": { "type": "object", "description": "This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Instrument Identifier." } } } } } } } } } }, "400": { "description": "Bad Request: e.g. A required header value could be missing.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - invalidHeaders\n - missingHeaders\n - invalidFields\n - missingFields\n - unsupportedPaymentMethodModification\n - invalidCombination\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." }, "details": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "name": { "type": "string", "readOnly": true, "description": "The name of the field that caused the error." }, "location": { "type": "string", "readOnly": true, "description": "The location of the field that caused the error." } } } } } } } } }, "examples": { "Invalid Customer request body": { "errors": [ { "type": "invalidRequest", "message": "Invalid HTTP Body" } ] } } }, "403": { "description": "Forbidden: e.g. The profile might not have permission to perform the operation.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - forbidden\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "forbidden", "message": "Request not permitted" } ] } } }, "409": { "description": "Conflict. The token is linked to a Payment Instrument.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - instrumentIdentifierDeletionError\n - tokenIdConflict\n - conflict\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "conflict", "message": "Action cannot be performed as the PaymentInstrument is the customers default" } ] } } }, "424": { "description": "Failed Dependency: e.g. The profile represented by the profile-id may not exist or the profile-id was entered incorrectly.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notFound", "message": "Profile not found" } ] } } }, "500": { "description": "Unexpected error.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "examples": { "application/json": { "errors": [ { "type": "serverError", "message": "Internal server error" } ] } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - internalError\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } } } }, "x-example": { "example0": { "summary": "Create Payment Instrument (Card)", "value": { "card": { "expirationMonth": "12", "expirationYear": "2031", "type": "visa" }, "billTo": { "firstName": "John", "lastName": "Doe", "company": "CyberSource", "address1": "1 Market St", "locality": "San Francisco", "administrativeArea": "CA", "postalCode": "94105", "country": "US", "email": "test@cybs.com", "phoneNumber": "4158880000" }, "instrumentIdentifier": { "id": "instrumentIdentifierId" } } }, "example1": { "summary": "Create Payment Instrument (Bank Account)", "value": { "bankAccount": { "type": "savings" }, "buyerInformation": { "companyTaxID": "12345", "currency": "USD", "dateOfBirth": "2000-12-13", "personalIdentification": [ { "id": "57684432111321", "type": "driver license", "issuedBy": { "administrativeArea": "CA" } } ] }, "billTo": { "firstName": "John", "lastName": "Doe", "company": "CyberSource", "address1": "1 Market St", "locality": "San Francisco", "administrativeArea": "CA", "postalCode": "94105", "country": "US", "email": "test@cybs.com", "phoneNumber": "4158880000" }, "processingInformation": { "bankTransferOptions": { "SECCode": "WEB" } }, "instrumentIdentifier": { "id": "instrumentIdentifierId" } } }, "example2": { "summary": "Create Payment Instrument (Pinless Debit)", "value": { "card": { "expirationMonth": "12", "expirationYear": "2031", "type": "visa", "issueNumber": "01", "startMonth": "01", "startYear": "2020", "useAs": "pinless debit" }, "billTo": { "firstName": "John", "lastName": "Doe", "company": "CyberSource", "address1": "1 Market St", "locality": "San Francisco", "administrativeArea": "CA", "postalCode": "94105", "country": "US", "email": "test@cybs.com", "phoneNumber": "4158880000" }, "instrumentIdentifier": { "id": "instrumentIdentifierId" } } } } } }, "/tms/v1/paymentinstruments/{paymentInstrumentId}": { "get": { "summary": "Retrieve a Payment Instrument", "description": "| | | |\n| --- | --- | --- |\n|**Standalone Payment Instruments**
A Payment Instrument represents tokenized payment information such as expiration date, billing address & card type.
A Payment Instrument token does not store the card number. A Payment Instrument is associated with an [Instrument Identifier](#token-management_instrument-identifier_create-an-instrument-identifier) that represents either a payment card number, or in the case of an ACH bank account, the routing and account number.
**Standalone Payment Instruments do not belong to a [Customer](#token-management_customer_create-a-customer).**|      |**Retrieving a Payment Instrument**
Your system can use this API to retrieve an existing Payment Instrument.
To perform a payment with a particular Payment Instrument simply specify the [Payment Instrument Id in the payments request](#payments_payments_process-a-payment_samplerequests-dropdown_authorization-using-tokens_authorization-with-customer-payment-instrument-and-shipping-address-token-id_liveconsole-tab-request-body).\n", "parameters": [ { "name": "profile-id", "in": "header", "description": "The Id of a profile containing user specific TMS configuration.", "required": false, "type": "string", "minLength": 36, "maxLength": 36, "x-hide-field": true }, { "name": "paymentInstrumentId", "in": "path", "description": "The Id of a payment instrument.", "required": true, "type": "string", "minLength": 1, "maxLength": 32 } ], "tags": [ "Payment Instrument" ], "operationId": "getPaymentInstrument", "x-devcenter-metaData": { "categoryTag": "Token_Management", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-pi-tkn/tms-pi-tkn-retrieve-intro.html" }, "produces": [ "application/json;charset=utf-8" ], "x-depends": { "example": { "path": "/tms/v1/paymentinstruments", "verb": "post", "exampleId": "example0" }, "fieldMapping": [ { "sourceField": "id", "destinationField": "paymentInstrumentId", "fieldTypeInDestination": "path" } ] }, "responses": { "200": { "description": "Returns an existing Payment Instrument associated with the supplied Id.", "headers": { "ETag": { "description": "An ETag is an identifier assigned to a specific version of a resource.", "type": "string" }, "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally-unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Payment Instrument.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments" } } }, "customer": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Payment Instrument Token." }, "object": { "type": "string", "readOnly": true, "example": "paymentInstrument", "description": "The type.\n\nPossible Values:\n- paymentInstrument\n" }, "default": { "type": "boolean", "description": "Flag that indicates whether customer payment instrument is the dafault.\nPossible Values:\n - `true`: Payment instrument is customer's default.\n - `false`: Payment instrument is not customer's default.\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "readOnly": true, "description": "The type of Payment Instrument.\nPossible Values:\n- cardHash\n" }, "bankAccount": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 18, "description": "Account type.\n\nPossible Values:\n - checking : C\n - general ledger : G This value is supported only on Wells Fargo ACH\n - savings : S (U.S. dollars only)\n - corporate checking : X (U.S. dollars only)\n" } } }, "card": { "type": "object", "properties": { "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "Value that indicates the card type. Possible Values v2 : v1:\n * 001 : visa\n * 002 : mastercard - Eurocard\u2014European regional brand of Mastercard\n * 003 : american express\n * 004 : discover\n * 005 : diners club\n * 006 : carte blanche\n * 007 : jcb\n * 008 : optima\n * 011 : twinpay credit\n * 012 : twinpay debit\n * 013 : walmart\n * 014 : enRoute\n * 015 : lowes consumer\n * 016 : home depot consumer\n * 017 : mbna\n * 018 : dicks sportswear\n * 019 : casual corner\n * 020 : sears\n * 021 : jal\n * 023 : disney\n * 024 : maestro uk domestic\n * 025 : sams club consumer\n * 026 : sams club business\n * 028 : bill me later\n * 029 : bebe\n * 030 : restoration hardware\n * 031 : delta online \u2014 use this value only for Ingenico ePayments. For other processors, use 001 for all Visa card types.\n * 032 : solo\n * 033 : visa electron\n * 034 : dankort\n * 035 : laser\n * 036 : carte bleue \u2014 formerly Cartes Bancaires\n * 037 : carta si\n * 038 : pinless debit\n * 039 : encoded account\n * 040 : uatp\n * 041 : household\n * 042 : maestro international\n * 043 : ge money uk\n * 044 : korean cards\n * 045 : style\n * 046 : jcrew\n * 047 : payease china processing ewallet\n * 048 : payease china processing bank transfer\n * 049 : meijer private label\n * 050 : hipercard \u2014 supported only by the Comercio Latino processor.\n * 051 : aura \u2014 supported only by the Comercio Latino processor.\n * 052 : redecard\n * 054 : elo \u2014 supported only by the Comercio Latino processor.\n * 055 : capital one private label\n * 056 : synchrony private label\n * 057 : costco private label\n * 060 : mada\n * 062 : china union pay\n * 063 : falabella private label\n" }, "issueNumber": { "type": "string", "maxLength": 2, "description": "Number of times a Maestro (UK Domestic) card has been issued to the account holder. The card might or might not have an issue number. The number can consist of one or two digits, and the first digit might be a zero. When you include this value in your request, include exactly what is printed on the card. A value of 2 is different than a value of 02. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card.\n\n**Note** The issue number is not required for Maestro (UK Domestic) transactions.\n" }, "startMonth": { "type": "string", "maxLength": 2, "description": "Month of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: MM`.\nPossible Values: 01 through 12.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "startYear": { "type": "string", "maxLength": 4, "description": "Year of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: YYYY`.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "useAs": { "type": "string", "example": "pinless debit", "description": "'Payment Instrument was created / updated as part of a pinless debit transaction.'\n" }, "hash": { "type": "string", "minLength": 32, "maxLength": 34, "readOnly": true, "description": "Hash value representing the card.\n" }, "tokenizedInformation": { "type": "object", "properties": { "requestorID": { "type": "string", "maxLength": 11, "description": "Value that identifies your business and indicates that the cardholder's account number is tokenized. This value\nis assigned by the token service provider and is unique within the token service provider's database.\n\n**Note** This field is supported only through **VisaNet** and **FDC Nashville Global**.\n" }, "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it\nspecifies the entity that provided you with information about the token.\n\nSet the value for this field to 1. An application on the customer's mobile device provided the token data.\n" } } } } }, "buyerInformation": { "type": "object", "properties": { "companyTaxID": { "type": "string", "maxLength": 9, "description": "Company's tax identifier. This is only used for eCheck service.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character I[ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\nFor details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n" }, "dateOfBirth": { "type": "string", "format": "date", "example": "1960-12-30", "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "The value of the identification type.\n" }, "type": { "type": "string", "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" }, "issuedBy": { "type": "object", "properties": { "administrativeArea": { "type": "string", "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", "maxLength": 20 } } } } } } } }, "billTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n" } } }, "processingInformation": { "type": "object", "title": "tmsPaymentInstrumentProcessingInfo", "properties": { "billPaymentProgramEnabled": { "type": "boolean", "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nFor processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n" }, "bankTransferOptions": { "type": "object", "properties": { "SECCode": { "type": "string", "maxLength": 3, "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\nFor details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "alternateName": { "type": "string", "description": "Alternate contact information for your business,such as an email address or URL.\nThis value might be displayed on the cardholder's statement.\nWhen you do not include this value in your capture or credit request, the merchant URL from your CyberSource account is used.\nImportant This value must consist of English characters\n", "maxLength": 13 } } } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "minLength": 12, "maxLength": 32, "description": "The Id of the Instrument Identifier linked to the Payment Instrument.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Payment Instrument.\n" } } }, "_embedded": { "type": "object", "readOnly": true, "description": "Additional resources for the Payment Instrument.\n", "properties": { "instrumentIdentifier": { "readOnly": true, "title": "tmsEmbeddedInstrumentIdentifier", "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifier.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111" } } }, "paymentInstruments": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifiers Payment Instruments.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111/paymentinstruments" } } } } }, "id": { "type": "string", "description": "The Id of the Instrument Identifier Token.\n" }, "object": { "type": "string", "readOnly": true, "example": "instrumentIdentifier", "description": "The type.\n\nPossible Values:\n- instrumentIdentifier\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "description": "The type of Instrument Identifier.\nPossible Values:\n- enrollable card\n" }, "tokenProvisioningInformation": { "type": "object", "properties": { "consumerConsentObtained": { "type": "boolean", "description": "Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has consented to tokenization of their credentials.\n- `false`: Consumer has not consented to tokenization of their credentials.\n" }, "multiFactorAuthenticated": { "type": "boolean", "description": "Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has been authenticated by the issuer.\n- `false`: Consumer has not been authenticated by the issuer.\n" } } }, "card": { "type": "object", "description": "The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Code. \nThis value is sent to the issuer to support the approval of a network token provision.\nIt is not persisted against the Instrument Identifier.\n" } } }, "bankAccount": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 17, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "routingNumber": { "type": "string", "description": "Bank routing number. This is also called the transit number.\n\nFor details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } }, "tokenizedCard": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The network token card association brand\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n", "example": "visa" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "State of the network token or network token provision\nPossible Values:\n- ACTIVE : Network token is active.\n- SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n- DELETED : This is a final state for a network token instance.\n- UNPROVISIONED : A previous network token provision was unsuccessful.\n" }, "enrollmentId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the enrolled PAN. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "tokenReferenceId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the network token. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "reason": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the network token\nPossible Values:\n- INVALID_REQUEST : The network token provision request contained invalid data.\n- CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified.\n- CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization.\n- CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization.\n- DECLINED : Card can currently not be used with issuer for tokenization.\n- SERVICE_UNAVAILABLE : The network token service was unavailable or timed out.\n- SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration.\n" }, "number": { "type": "string", "readOnly": true, "description": "The token requestors network token\n" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "Two-digit month in which the network token expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the network token expires.\n\nFormat: `YYYY`.\n" }, "cryptogram": { "type": "string", "readOnly": true, "description": "Generated value used in conjunction with the network token for making a payment.\n", "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" }, "card": { "type": "object", "readOnly": true, "description": "The latest card details associated with the network token", "properties": { "suffix": { "type": "string", "readOnly": true, "description": "The customer's latest payment card number suffix\n", "example": "1111" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "\nTwo-digit month in which the customer's latest payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the customer's latest payment card expires.\n\nFormat: `YYYY`.\n" } } } } }, "issuer": { "type": "object", "readOnly": true, "properties": { "paymentAccountReference": { "type": "string", "readOnly": true, "maxLength": 32, "description": "This reference number serves as a link to the cardholder account and to all transactions for that account.\n" } } }, "processingInformation": { "type": "object", "properties": { "authorizationOptions": { "type": "object", "title": "tmsAuthorizationOptions", "properties": { "initiator": { "type": "object", "properties": { "merchantInitiatedTransaction": { "type": "object", "properties": { "previousTransactionId": { "type": "string", "maxLength": 15, "description": "Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_\nin the reply message for either the original merchant-initiated payment in the series or the previous\nmerchant-initiated payment in the series.\n" }, "originalAuthorizedAmount": { "type": "string", "maxLength": 15, "description": "Amount of the original authorization.\n" } } } } } } } } }, "billTo": { "type": "object", "description": "This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Instrument Identifier." } } } } } } } } } }, "400": { "description": "Bad Request: e.g. A required header value could be missing.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - invalidHeaders\n - missingHeaders\n - invalidFields\n - missingFields\n - unsupportedPaymentMethodModification\n - invalidCombination\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." }, "details": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "name": { "type": "string", "readOnly": true, "description": "The name of the field that caused the error." }, "location": { "type": "string", "readOnly": true, "description": "The location of the field that caused the error." } } } } } } } } }, "examples": { "Invalid Customer request body": { "errors": [ { "type": "invalidRequest", "message": "Invalid HTTP Body" } ] } } }, "403": { "description": "Forbidden: e.g. The profile might not have permission to perform the operation.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - forbidden\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "forbidden", "message": "Request not permitted" } ] } } }, "404": { "description": "Token Not Found. The Id may not exist or was entered incorrectly.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notFound", "message": "Token not found" } ] } } }, "410": { "description": "Token Not Available. The token has been deleted.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notAvailable\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notAvailable", "message": "Token not available." } ] } } }, "424": { "description": "Failed Dependency: e.g. The profile represented by the profile-id may not exist or the profile-id was entered incorrectly.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notFound", "message": "Profile not found" } ] } } }, "500": { "description": "Unexpected error.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "examples": { "application/json": { "errors": [ { "type": "serverError", "message": "Internal server error" } ] } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - internalError\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } } } } }, "patch": { "summary": "Update a Payment Instrument", "description": "| | | |\n| --- | --- | --- |\n|**Standalone Payment Instruments**
A Payment Instrument represents tokenized payment information such as expiration date, billing address & card type.
A Payment Instrument token does not store the card number. A Payment Instrument is associated with an [Instrument Identifier](#token-management_instrument-identifier_create-an-instrument-identifier) that represents either a payment card number, or in the case of an ACH bank account, the routing and account number.
**Standalone Payment Instruments do not belong to a [Customer](#token-management_customer_create-a-customer).**|      |**Updating a Payment Instrument**
Your system can use this API to update an existing Payment Instrument.\n", "parameters": [ { "name": "profile-id", "in": "header", "description": "The Id of a profile containing user specific TMS configuration.", "required": false, "type": "string", "minLength": 36, "maxLength": 36, "x-hide-field": true }, { "name": "paymentInstrumentId", "in": "path", "description": "The Id of a payment instrument.", "required": true, "type": "string", "minLength": 1, "maxLength": 32 }, { "name": "if-match", "in": "header", "description": "Contains an ETag value from a GET request to make the request conditional.", "required": false, "type": "string", "minLength": 1, "maxLength": 32 }, { "name": "patchPaymentInstrumentRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Payment Instrument.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments" } } }, "customer": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Payment Instrument Token." }, "object": { "type": "string", "readOnly": true, "example": "paymentInstrument", "description": "The type.\n\nPossible Values:\n- paymentInstrument\n" }, "default": { "type": "boolean", "description": "Flag that indicates whether customer payment instrument is the dafault.\nPossible Values:\n - `true`: Payment instrument is customer's default.\n - `false`: Payment instrument is not customer's default.\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "readOnly": true, "description": "The type of Payment Instrument.\nPossible Values:\n- cardHash\n" }, "bankAccount": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 18, "description": "Account type.\n\nPossible Values:\n - checking : C\n - general ledger : G This value is supported only on Wells Fargo ACH\n - savings : S (U.S. dollars only)\n - corporate checking : X (U.S. dollars only)\n" } } }, "card": { "type": "object", "properties": { "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "Value that indicates the card type. Possible Values v2 : v1:\n * 001 : visa\n * 002 : mastercard - Eurocard\u2014European regional brand of Mastercard\n * 003 : american express\n * 004 : discover\n * 005 : diners club\n * 006 : carte blanche\n * 007 : jcb\n * 008 : optima\n * 011 : twinpay credit\n * 012 : twinpay debit\n * 013 : walmart\n * 014 : enRoute\n * 015 : lowes consumer\n * 016 : home depot consumer\n * 017 : mbna\n * 018 : dicks sportswear\n * 019 : casual corner\n * 020 : sears\n * 021 : jal\n * 023 : disney\n * 024 : maestro uk domestic\n * 025 : sams club consumer\n * 026 : sams club business\n * 028 : bill me later\n * 029 : bebe\n * 030 : restoration hardware\n * 031 : delta online \u2014 use this value only for Ingenico ePayments. For other processors, use 001 for all Visa card types.\n * 032 : solo\n * 033 : visa electron\n * 034 : dankort\n * 035 : laser\n * 036 : carte bleue \u2014 formerly Cartes Bancaires\n * 037 : carta si\n * 038 : pinless debit\n * 039 : encoded account\n * 040 : uatp\n * 041 : household\n * 042 : maestro international\n * 043 : ge money uk\n * 044 : korean cards\n * 045 : style\n * 046 : jcrew\n * 047 : payease china processing ewallet\n * 048 : payease china processing bank transfer\n * 049 : meijer private label\n * 050 : hipercard \u2014 supported only by the Comercio Latino processor.\n * 051 : aura \u2014 supported only by the Comercio Latino processor.\n * 052 : redecard\n * 054 : elo \u2014 supported only by the Comercio Latino processor.\n * 055 : capital one private label\n * 056 : synchrony private label\n * 057 : costco private label\n * 060 : mada\n * 062 : china union pay\n * 063 : falabella private label\n" }, "issueNumber": { "type": "string", "maxLength": 2, "description": "Number of times a Maestro (UK Domestic) card has been issued to the account holder. The card might or might not have an issue number. The number can consist of one or two digits, and the first digit might be a zero. When you include this value in your request, include exactly what is printed on the card. A value of 2 is different than a value of 02. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card.\n\n**Note** The issue number is not required for Maestro (UK Domestic) transactions.\n" }, "startMonth": { "type": "string", "maxLength": 2, "description": "Month of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: MM`.\nPossible Values: 01 through 12.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "startYear": { "type": "string", "maxLength": 4, "description": "Year of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: YYYY`.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "useAs": { "type": "string", "example": "pinless debit", "description": "'Payment Instrument was created / updated as part of a pinless debit transaction.'\n" }, "hash": { "type": "string", "minLength": 32, "maxLength": 34, "readOnly": true, "description": "Hash value representing the card.\n" }, "tokenizedInformation": { "type": "object", "properties": { "requestorID": { "type": "string", "maxLength": 11, "description": "Value that identifies your business and indicates that the cardholder's account number is tokenized. This value\nis assigned by the token service provider and is unique within the token service provider's database.\n\n**Note** This field is supported only through **VisaNet** and **FDC Nashville Global**.\n" }, "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it\nspecifies the entity that provided you with information about the token.\n\nSet the value for this field to 1. An application on the customer's mobile device provided the token data.\n" } } } } }, "buyerInformation": { "type": "object", "properties": { "companyTaxID": { "type": "string", "maxLength": 9, "description": "Company's tax identifier. This is only used for eCheck service.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character I[ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\nFor details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n" }, "dateOfBirth": { "type": "string", "format": "date", "example": "1960-12-30", "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "The value of the identification type.\n" }, "type": { "type": "string", "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" }, "issuedBy": { "type": "object", "properties": { "administrativeArea": { "type": "string", "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", "maxLength": 20 } } } } } } } }, "billTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n" } } }, "processingInformation": { "type": "object", "title": "tmsPaymentInstrumentProcessingInfo", "properties": { "billPaymentProgramEnabled": { "type": "boolean", "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nFor processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n" }, "bankTransferOptions": { "type": "object", "properties": { "SECCode": { "type": "string", "maxLength": 3, "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\nFor details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "alternateName": { "type": "string", "description": "Alternate contact information for your business,such as an email address or URL.\nThis value might be displayed on the cardholder's statement.\nWhen you do not include this value in your capture or credit request, the merchant URL from your CyberSource account is used.\nImportant This value must consist of English characters\n", "maxLength": 13 } } } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "minLength": 12, "maxLength": 32, "description": "The Id of the Instrument Identifier linked to the Payment Instrument.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Payment Instrument.\n" } } }, "_embedded": { "type": "object", "readOnly": true, "description": "Additional resources for the Payment Instrument.\n", "properties": { "instrumentIdentifier": { "readOnly": true, "title": "tmsEmbeddedInstrumentIdentifier", "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifier.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111" } } }, "paymentInstruments": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifiers Payment Instruments.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111/paymentinstruments" } } } } }, "id": { "type": "string", "description": "The Id of the Instrument Identifier Token.\n" }, "object": { "type": "string", "readOnly": true, "example": "instrumentIdentifier", "description": "The type.\n\nPossible Values:\n- instrumentIdentifier\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "description": "The type of Instrument Identifier.\nPossible Values:\n- enrollable card\n" }, "tokenProvisioningInformation": { "type": "object", "properties": { "consumerConsentObtained": { "type": "boolean", "description": "Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has consented to tokenization of their credentials.\n- `false`: Consumer has not consented to tokenization of their credentials.\n" }, "multiFactorAuthenticated": { "type": "boolean", "description": "Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has been authenticated by the issuer.\n- `false`: Consumer has not been authenticated by the issuer.\n" } } }, "card": { "type": "object", "description": "The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Code. \nThis value is sent to the issuer to support the approval of a network token provision.\nIt is not persisted against the Instrument Identifier.\n" } } }, "bankAccount": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 17, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "routingNumber": { "type": "string", "description": "Bank routing number. This is also called the transit number.\n\nFor details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } }, "tokenizedCard": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The network token card association brand\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n", "example": "visa" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "State of the network token or network token provision\nPossible Values:\n- ACTIVE : Network token is active.\n- SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n- DELETED : This is a final state for a network token instance.\n- UNPROVISIONED : A previous network token provision was unsuccessful.\n" }, "enrollmentId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the enrolled PAN. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "tokenReferenceId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the network token. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "reason": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the network token\nPossible Values:\n- INVALID_REQUEST : The network token provision request contained invalid data.\n- CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified.\n- CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization.\n- CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization.\n- DECLINED : Card can currently not be used with issuer for tokenization.\n- SERVICE_UNAVAILABLE : The network token service was unavailable or timed out.\n- SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration.\n" }, "number": { "type": "string", "readOnly": true, "description": "The token requestors network token\n" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "Two-digit month in which the network token expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the network token expires.\n\nFormat: `YYYY`.\n" }, "cryptogram": { "type": "string", "readOnly": true, "description": "Generated value used in conjunction with the network token for making a payment.\n", "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" }, "card": { "type": "object", "readOnly": true, "description": "The latest card details associated with the network token", "properties": { "suffix": { "type": "string", "readOnly": true, "description": "The customer's latest payment card number suffix\n", "example": "1111" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "\nTwo-digit month in which the customer's latest payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the customer's latest payment card expires.\n\nFormat: `YYYY`.\n" } } } } }, "issuer": { "type": "object", "readOnly": true, "properties": { "paymentAccountReference": { "type": "string", "readOnly": true, "maxLength": 32, "description": "This reference number serves as a link to the cardholder account and to all transactions for that account.\n" } } }, "processingInformation": { "type": "object", "properties": { "authorizationOptions": { "type": "object", "title": "tmsAuthorizationOptions", "properties": { "initiator": { "type": "object", "properties": { "merchantInitiatedTransaction": { "type": "object", "properties": { "previousTransactionId": { "type": "string", "maxLength": 15, "description": "Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_\nin the reply message for either the original merchant-initiated payment in the series or the previous\nmerchant-initiated payment in the series.\n" }, "originalAuthorizedAmount": { "type": "string", "maxLength": 15, "description": "Amount of the original authorization.\n" } } } } } } } } }, "billTo": { "type": "object", "description": "This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Instrument Identifier." } } } } } } } } } } ], "tags": [ "Payment Instrument" ], "operationId": "patchPaymentInstrument", "x-devcenter-metaData": { "categoryTag": "Token_Management", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-pi-tkn/tms-pi-tkn-update-intro.html" }, "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/json;charset=utf-8" ], "x-depends": { "example": { "path": "/tms/v1/paymentinstruments", "verb": "post", "exampleId": "example0" }, "fieldMapping": [ { "sourceField": "id", "destinationField": "paymentInstrumentId", "fieldTypeInDestination": "path" } ] }, "responses": { "200": { "description": "Returns an existing Payment Instrument associated with the supplied Id.", "headers": { "ETag": { "description": "An ETag is an identifier assigned to a specific version of a resource.", "type": "string" }, "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally-unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Payment Instrument.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments" } } }, "customer": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Payment Instrument Token." }, "object": { "type": "string", "readOnly": true, "example": "paymentInstrument", "description": "The type.\n\nPossible Values:\n- paymentInstrument\n" }, "default": { "type": "boolean", "description": "Flag that indicates whether customer payment instrument is the dafault.\nPossible Values:\n - `true`: Payment instrument is customer's default.\n - `false`: Payment instrument is not customer's default.\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "readOnly": true, "description": "The type of Payment Instrument.\nPossible Values:\n- cardHash\n" }, "bankAccount": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 18, "description": "Account type.\n\nPossible Values:\n - checking : C\n - general ledger : G This value is supported only on Wells Fargo ACH\n - savings : S (U.S. dollars only)\n - corporate checking : X (U.S. dollars only)\n" } } }, "card": { "type": "object", "properties": { "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "Value that indicates the card type. Possible Values v2 : v1:\n * 001 : visa\n * 002 : mastercard - Eurocard\u2014European regional brand of Mastercard\n * 003 : american express\n * 004 : discover\n * 005 : diners club\n * 006 : carte blanche\n * 007 : jcb\n * 008 : optima\n * 011 : twinpay credit\n * 012 : twinpay debit\n * 013 : walmart\n * 014 : enRoute\n * 015 : lowes consumer\n * 016 : home depot consumer\n * 017 : mbna\n * 018 : dicks sportswear\n * 019 : casual corner\n * 020 : sears\n * 021 : jal\n * 023 : disney\n * 024 : maestro uk domestic\n * 025 : sams club consumer\n * 026 : sams club business\n * 028 : bill me later\n * 029 : bebe\n * 030 : restoration hardware\n * 031 : delta online \u2014 use this value only for Ingenico ePayments. For other processors, use 001 for all Visa card types.\n * 032 : solo\n * 033 : visa electron\n * 034 : dankort\n * 035 : laser\n * 036 : carte bleue \u2014 formerly Cartes Bancaires\n * 037 : carta si\n * 038 : pinless debit\n * 039 : encoded account\n * 040 : uatp\n * 041 : household\n * 042 : maestro international\n * 043 : ge money uk\n * 044 : korean cards\n * 045 : style\n * 046 : jcrew\n * 047 : payease china processing ewallet\n * 048 : payease china processing bank transfer\n * 049 : meijer private label\n * 050 : hipercard \u2014 supported only by the Comercio Latino processor.\n * 051 : aura \u2014 supported only by the Comercio Latino processor.\n * 052 : redecard\n * 054 : elo \u2014 supported only by the Comercio Latino processor.\n * 055 : capital one private label\n * 056 : synchrony private label\n * 057 : costco private label\n * 060 : mada\n * 062 : china union pay\n * 063 : falabella private label\n" }, "issueNumber": { "type": "string", "maxLength": 2, "description": "Number of times a Maestro (UK Domestic) card has been issued to the account holder. The card might or might not have an issue number. The number can consist of one or two digits, and the first digit might be a zero. When you include this value in your request, include exactly what is printed on the card. A value of 2 is different than a value of 02. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card.\n\n**Note** The issue number is not required for Maestro (UK Domestic) transactions.\n" }, "startMonth": { "type": "string", "maxLength": 2, "description": "Month of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: MM`.\nPossible Values: 01 through 12.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "startYear": { "type": "string", "maxLength": 4, "description": "Year of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: YYYY`.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "useAs": { "type": "string", "example": "pinless debit", "description": "'Payment Instrument was created / updated as part of a pinless debit transaction.'\n" }, "hash": { "type": "string", "minLength": 32, "maxLength": 34, "readOnly": true, "description": "Hash value representing the card.\n" }, "tokenizedInformation": { "type": "object", "properties": { "requestorID": { "type": "string", "maxLength": 11, "description": "Value that identifies your business and indicates that the cardholder's account number is tokenized. This value\nis assigned by the token service provider and is unique within the token service provider's database.\n\n**Note** This field is supported only through **VisaNet** and **FDC Nashville Global**.\n" }, "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it\nspecifies the entity that provided you with information about the token.\n\nSet the value for this field to 1. An application on the customer's mobile device provided the token data.\n" } } } } }, "buyerInformation": { "type": "object", "properties": { "companyTaxID": { "type": "string", "maxLength": 9, "description": "Company's tax identifier. This is only used for eCheck service.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character I[ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\nFor details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n" }, "dateOfBirth": { "type": "string", "format": "date", "example": "1960-12-30", "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "The value of the identification type.\n" }, "type": { "type": "string", "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" }, "issuedBy": { "type": "object", "properties": { "administrativeArea": { "type": "string", "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", "maxLength": 20 } } } } } } } }, "billTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n" } } }, "processingInformation": { "type": "object", "title": "tmsPaymentInstrumentProcessingInfo", "properties": { "billPaymentProgramEnabled": { "type": "boolean", "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nFor processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n" }, "bankTransferOptions": { "type": "object", "properties": { "SECCode": { "type": "string", "maxLength": 3, "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\nFor details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "alternateName": { "type": "string", "description": "Alternate contact information for your business,such as an email address or URL.\nThis value might be displayed on the cardholder's statement.\nWhen you do not include this value in your capture or credit request, the merchant URL from your CyberSource account is used.\nImportant This value must consist of English characters\n", "maxLength": 13 } } } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "minLength": 12, "maxLength": 32, "description": "The Id of the Instrument Identifier linked to the Payment Instrument.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Payment Instrument.\n" } } }, "_embedded": { "type": "object", "readOnly": true, "description": "Additional resources for the Payment Instrument.\n", "properties": { "instrumentIdentifier": { "readOnly": true, "title": "tmsEmbeddedInstrumentIdentifier", "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifier.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111" } } }, "paymentInstruments": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifiers Payment Instruments.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111/paymentinstruments" } } } } }, "id": { "type": "string", "description": "The Id of the Instrument Identifier Token.\n" }, "object": { "type": "string", "readOnly": true, "example": "instrumentIdentifier", "description": "The type.\n\nPossible Values:\n- instrumentIdentifier\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "description": "The type of Instrument Identifier.\nPossible Values:\n- enrollable card\n" }, "tokenProvisioningInformation": { "type": "object", "properties": { "consumerConsentObtained": { "type": "boolean", "description": "Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has consented to tokenization of their credentials.\n- `false`: Consumer has not consented to tokenization of their credentials.\n" }, "multiFactorAuthenticated": { "type": "boolean", "description": "Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has been authenticated by the issuer.\n- `false`: Consumer has not been authenticated by the issuer.\n" } } }, "card": { "type": "object", "description": "The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Code. \nThis value is sent to the issuer to support the approval of a network token provision.\nIt is not persisted against the Instrument Identifier.\n" } } }, "bankAccount": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 17, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "routingNumber": { "type": "string", "description": "Bank routing number. This is also called the transit number.\n\nFor details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } }, "tokenizedCard": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The network token card association brand\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n", "example": "visa" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "State of the network token or network token provision\nPossible Values:\n- ACTIVE : Network token is active.\n- SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n- DELETED : This is a final state for a network token instance.\n- UNPROVISIONED : A previous network token provision was unsuccessful.\n" }, "enrollmentId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the enrolled PAN. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "tokenReferenceId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the network token. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "reason": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the network token\nPossible Values:\n- INVALID_REQUEST : The network token provision request contained invalid data.\n- CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified.\n- CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization.\n- CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization.\n- DECLINED : Card can currently not be used with issuer for tokenization.\n- SERVICE_UNAVAILABLE : The network token service was unavailable or timed out.\n- SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration.\n" }, "number": { "type": "string", "readOnly": true, "description": "The token requestors network token\n" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "Two-digit month in which the network token expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the network token expires.\n\nFormat: `YYYY`.\n" }, "cryptogram": { "type": "string", "readOnly": true, "description": "Generated value used in conjunction with the network token for making a payment.\n", "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" }, "card": { "type": "object", "readOnly": true, "description": "The latest card details associated with the network token", "properties": { "suffix": { "type": "string", "readOnly": true, "description": "The customer's latest payment card number suffix\n", "example": "1111" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "\nTwo-digit month in which the customer's latest payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the customer's latest payment card expires.\n\nFormat: `YYYY`.\n" } } } } }, "issuer": { "type": "object", "readOnly": true, "properties": { "paymentAccountReference": { "type": "string", "readOnly": true, "maxLength": 32, "description": "This reference number serves as a link to the cardholder account and to all transactions for that account.\n" } } }, "processingInformation": { "type": "object", "properties": { "authorizationOptions": { "type": "object", "title": "tmsAuthorizationOptions", "properties": { "initiator": { "type": "object", "properties": { "merchantInitiatedTransaction": { "type": "object", "properties": { "previousTransactionId": { "type": "string", "maxLength": 15, "description": "Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_\nin the reply message for either the original merchant-initiated payment in the series or the previous\nmerchant-initiated payment in the series.\n" }, "originalAuthorizedAmount": { "type": "string", "maxLength": 15, "description": "Amount of the original authorization.\n" } } } } } } } } }, "billTo": { "type": "object", "description": "This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Instrument Identifier." } } } } } } } } } }, "400": { "description": "Bad Request: e.g. A required header value could be missing.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - invalidHeaders\n - missingHeaders\n - invalidFields\n - missingFields\n - unsupportedPaymentMethodModification\n - invalidCombination\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." }, "details": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "name": { "type": "string", "readOnly": true, "description": "The name of the field that caused the error." }, "location": { "type": "string", "readOnly": true, "description": "The location of the field that caused the error." } } } } } } } } }, "examples": { "Invalid Customer request body": { "errors": [ { "type": "invalidRequest", "message": "Invalid HTTP Body" } ] } } }, "403": { "description": "Forbidden: e.g. The profile might not have permission to perform the operation.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - forbidden\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "forbidden", "message": "Request not permitted" } ] } } }, "404": { "description": "Token Not Found. The Id may not exist or was entered incorrectly.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notFound", "message": "Token not found" } ] } } }, "410": { "description": "Token Not Available. The token has been deleted.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notAvailable\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notAvailable", "message": "Token not available." } ] } } }, "412": { "description": "Precondition Failed: The If-Match request header value does not match the current resources ETag", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - conflict\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "conflict", "message": "Action cannot be performed as the if-match header value does not match the token etag" } ] } } }, "424": { "description": "Failed Dependency: e.g. The profile represented by the profile-id may not exist or the profile-id was entered incorrectly.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notFound", "message": "Profile not found" } ] } } }, "500": { "description": "Unexpected error.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "examples": { "application/json": { "errors": [ { "type": "serverError", "message": "Internal server error" } ] } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - internalError\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } } } }, "x-example": { "example0": { "summary": "Update Payment Instrument (Card)", "value": { "card": { "expirationMonth": "12", "expirationYear": "2031", "type": "visa" }, "billTo": { "firstName": "John", "lastName": "Doe", "company": "CyberSource", "address1": "1 Market St", "locality": "San Francisco", "administrativeArea": "CA", "postalCode": "94105", "country": "US", "email": "test@cybs.com", "phoneNumber": "4158880000" }, "instrumentIdentifier": { "id": "instrumentIdentifierId" } } }, "example1": { "summary": "Update Payment Instrument (Bank Account)", "value": { "bankAccount": { "type": "savings" }, "buyerInformation": { "companyTaxID": "12345", "currency": "USD", "dateOfBirth": "2000-12-13", "personalIdentification": [ { "id": "57684432111321", "type": "driver license", "issuedBy": { "administrativeArea": "CA" } } ] }, "billTo": { "firstName": "John", "lastName": "Doe", "company": "CyberSource", "address1": "1 Market St", "locality": "San Francisco", "administrativeArea": "CA", "postalCode": "94105", "country": "US", "email": "test@cybs.com", "phoneNumber": "4158880000" }, "processingInformation": { "bankTransferOptions": { "SECCode": "WEB" } }, "instrumentIdentifier": { "id": "instrumentIdentifierId" } } } } }, "delete": { "summary": "Delete a Payment Instrument", "description": "| | | |\n| --- | --- | --- |\n|**Standalone Payment Instruments**
A Payment Instrument represents tokenized payment information such as expiration date, billing address & card type.
A Payment Instrument token does not store the card number. A Payment Instrument is associated with an [Instrument Identifier](#token-management_instrument-identifier_create-an-instrument-identifier) that represents either a payment card number, or in the case of an ACH bank account, the routing and account number.
**Standalone Payment Instruments do not belong to a [Customer](#token-management_customer_create-a-customer).**|      |**Deleting a Payment Instrument**
Your system can use this API to delete an existing Payment Instrument.
Any Instrument Identifiers representing the card number will also be deleted if they are not associated with any other Payment Instruments.\n", "tags": [ "Payment Instrument" ], "parameters": [ { "name": "profile-id", "in": "header", "description": "The Id of a profile containing user specific TMS configuration.", "required": false, "type": "string", "minLength": 36, "maxLength": 36, "x-hide-field": true }, { "name": "paymentInstrumentId", "in": "path", "description": "The Id of a payment instrument.", "required": true, "type": "string", "minLength": 1, "maxLength": 32 } ], "operationId": "deletePaymentInstrument", "x-devcenter-metaData": { "categoryTag": "Token_Management", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-pi-tkn/tms-pi-tkn-delete-intro.html" }, "produces": [ "application/json;charset=utf-8" ], "x-depends": { "example": { "path": "/tms/v1/paymentinstruments", "verb": "post", "exampleId": "example0" }, "fieldMapping": [ { "sourceField": "id", "destinationField": "paymentInstrumentId", "fieldTypeInDestination": "path" } ] }, "responses": { "204": { "description": "The request is fulfilled but does not need to return a body", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } } }, "403": { "description": "Forbidden: e.g. The profile might not have permission to perform the operation.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - forbidden\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "forbidden", "message": "Request not permitted" } ] } } }, "404": { "description": "Token Not Found. The Id may not exist or was entered incorrectly.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notFound", "message": "Token not found" } ] } } }, "410": { "description": "Token Not Available. The token has been deleted.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notAvailable\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notAvailable", "message": "Token not available." } ] } } }, "424": { "description": "Failed Dependency: e.g. The profile represented by the profile-id may not exist or the profile-id was entered incorrectly.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notFound", "message": "Profile not found" } ] } } }, "500": { "description": "Unexpected error.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "examples": { "application/json": { "errors": [ { "type": "serverError", "message": "Internal server error" } ] } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - internalError\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } } } } } }, "/tms/v1/instrumentidentifiers": { "post": { "summary": "Create an Instrument Identifier", "description": "| | | |\n| --- | --- | --- |\n|**Instrument Identifiers**
An Instrument Identifier represents either a card number, or in the case of an ACH bank account, the routing and account number.
The same token Id is returned for a specific card number or bank account & routing number allowing the Instrument Identifier Id to be used for cross-channel payment tracking.
An Instrument Identifier can exist independently but also be associated with a [Customer Payment Instrument](#token-management_customer-payment-instrument_create-a-customer-payment-instrument) or [Standalone Payment Instrument](#token-management_payment-instrument_create-a-payment-instrument).

**Creating an Instrument Identifier**
It is recommended you [create an Instrument Identifier via a Payment Authorization](#payments_payments_process-a-payment_samplerequests-dropdown_authorization-with-token-create_authorization-with-instrument-identifier-token-creation_liveconsole-tab-request-body), this can be for a zero amount.
An Instrument Identifier will also be created if you [create a Customer via a Payment Authorization](#payments_payments_process-a-payment_samplerequests-dropdown_authorization-with-token-create_authorization-with-customer-token-creation_liveconsole-tab-request-body)
In Europe: You should perform Payer Authentication alongside the Authorization.|      |**Payment Network Tokens**
Network tokens perform better than regular card numbers and they are not necessarily invalidated when a cardholder loses their card, or it expires.
A Payment Network Token will be automatically created and used in future payments if you are enabled for the service.
A Payment Network Token can also be [provisioned for an existing Instrument Identifier](#token-management_instrument-identifier_enroll-an-instrument-identifier-for-payment-network-token).
For more information about Payment Network Tokens see the Developer Guide.

**Payments with Instrument Identifiers**
To perform a payment with an Instrument Identifier simply specify the [Instrument Identifier Id in the payments request along with the expiration date, card type, & billing address](#payments_payments_process-a-payment_samplerequests-dropdown_authorization-using-tokens_authorization-with-instrument-identifier-token-id_liveconsole-tab-request-body).
When an Instrument Identifier is used in a payment the **_previousTransactionId_** and **_originalAuthorizedAmount_** values are automatically recorded.
These values will be added for you to future Merchant Initiated Transaction payments.\n", "parameters": [ { "name": "profile-id", "in": "header", "description": "The Id of a profile containing user specific TMS configuration.", "required": false, "type": "string", "minLength": 36, "maxLength": 36, "x-hide-field": true }, { "name": "postInstrumentIdentifierRequest", "in": "body", "description": "Specify either a Card, Bank Account or Enrollable Card", "required": true, "schema": { "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifier.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111" } } }, "paymentInstruments": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifiers Payment Instruments.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111/paymentinstruments" } } } } }, "id": { "type": "string", "description": "The Id of the Instrument Identifier Token.\n" }, "object": { "type": "string", "readOnly": true, "example": "instrumentIdentifier", "description": "The type.\n\nPossible Values:\n- instrumentIdentifier\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "description": "The type of Instrument Identifier.\nPossible Values:\n- enrollable card\n" }, "tokenProvisioningInformation": { "type": "object", "properties": { "consumerConsentObtained": { "type": "boolean", "description": "Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has consented to tokenization of their credentials.\n- `false`: Consumer has not consented to tokenization of their credentials.\n" }, "multiFactorAuthenticated": { "type": "boolean", "description": "Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has been authenticated by the issuer.\n- `false`: Consumer has not been authenticated by the issuer.\n" } } }, "card": { "type": "object", "description": "The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Code. \nThis value is sent to the issuer to support the approval of a network token provision.\nIt is not persisted against the Instrument Identifier.\n" } } }, "bankAccount": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 17, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "routingNumber": { "type": "string", "description": "Bank routing number. This is also called the transit number.\n\nFor details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } }, "tokenizedCard": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The network token card association brand\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n", "example": "visa" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "State of the network token or network token provision\nPossible Values:\n- ACTIVE : Network token is active.\n- SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n- DELETED : This is a final state for a network token instance.\n- UNPROVISIONED : A previous network token provision was unsuccessful.\n" }, "enrollmentId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the enrolled PAN. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "tokenReferenceId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the network token. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "reason": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the network token\nPossible Values:\n- INVALID_REQUEST : The network token provision request contained invalid data.\n- CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified.\n- CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization.\n- CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization.\n- DECLINED : Card can currently not be used with issuer for tokenization.\n- SERVICE_UNAVAILABLE : The network token service was unavailable or timed out.\n- SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration.\n" }, "number": { "type": "string", "readOnly": true, "description": "The token requestors network token\n" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "Two-digit month in which the network token expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the network token expires.\n\nFormat: `YYYY`.\n" }, "cryptogram": { "type": "string", "readOnly": true, "description": "Generated value used in conjunction with the network token for making a payment.\n", "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" }, "card": { "type": "object", "readOnly": true, "description": "The latest card details associated with the network token", "properties": { "suffix": { "type": "string", "readOnly": true, "description": "The customer's latest payment card number suffix\n", "example": "1111" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "\nTwo-digit month in which the customer's latest payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the customer's latest payment card expires.\n\nFormat: `YYYY`.\n" } } } } }, "issuer": { "type": "object", "readOnly": true, "properties": { "paymentAccountReference": { "type": "string", "readOnly": true, "maxLength": 32, "description": "This reference number serves as a link to the cardholder account and to all transactions for that account.\n" } } }, "processingInformation": { "type": "object", "properties": { "authorizationOptions": { "type": "object", "title": "tmsAuthorizationOptions", "properties": { "initiator": { "type": "object", "properties": { "merchantInitiatedTransaction": { "type": "object", "properties": { "previousTransactionId": { "type": "string", "maxLength": 15, "description": "Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_\nin the reply message for either the original merchant-initiated payment in the series or the previous\nmerchant-initiated payment in the series.\n" }, "originalAuthorizedAmount": { "type": "string", "maxLength": 15, "description": "Amount of the original authorization.\n" } } } } } } } } }, "billTo": { "type": "object", "description": "This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Instrument Identifier." } } } } } } ], "tags": [ "Instrument Identifier" ], "operationId": "postInstrumentIdentifier", "x-devcenter-metaData": { "categoryTag": "Token_Management", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-ii-tkn/tms-ii-tkn-create-intro.html" }, "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/json;charset=utf-8" ], "responses": { "200": { "description": "Returns an existing Instrument Identifier associated with the supplied Id.", "headers": { "ETag": { "description": "An ETag is an identifier assigned to a specific version of a resource.", "type": "string" }, "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally-unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifier.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111" } } }, "paymentInstruments": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifiers Payment Instruments.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111/paymentinstruments" } } } } }, "id": { "type": "string", "description": "The Id of the Instrument Identifier Token.\n" }, "object": { "type": "string", "readOnly": true, "example": "instrumentIdentifier", "description": "The type.\n\nPossible Values:\n- instrumentIdentifier\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "description": "The type of Instrument Identifier.\nPossible Values:\n- enrollable card\n" }, "tokenProvisioningInformation": { "type": "object", "properties": { "consumerConsentObtained": { "type": "boolean", "description": "Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has consented to tokenization of their credentials.\n- `false`: Consumer has not consented to tokenization of their credentials.\n" }, "multiFactorAuthenticated": { "type": "boolean", "description": "Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has been authenticated by the issuer.\n- `false`: Consumer has not been authenticated by the issuer.\n" } } }, "card": { "type": "object", "description": "The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Code. \nThis value is sent to the issuer to support the approval of a network token provision.\nIt is not persisted against the Instrument Identifier.\n" } } }, "bankAccount": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 17, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "routingNumber": { "type": "string", "description": "Bank routing number. This is also called the transit number.\n\nFor details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } }, "tokenizedCard": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The network token card association brand\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n", "example": "visa" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "State of the network token or network token provision\nPossible Values:\n- ACTIVE : Network token is active.\n- SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n- DELETED : This is a final state for a network token instance.\n- UNPROVISIONED : A previous network token provision was unsuccessful.\n" }, "enrollmentId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the enrolled PAN. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "tokenReferenceId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the network token. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "reason": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the network token\nPossible Values:\n- INVALID_REQUEST : The network token provision request contained invalid data.\n- CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified.\n- CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization.\n- CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization.\n- DECLINED : Card can currently not be used with issuer for tokenization.\n- SERVICE_UNAVAILABLE : The network token service was unavailable or timed out.\n- SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration.\n" }, "number": { "type": "string", "readOnly": true, "description": "The token requestors network token\n" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "Two-digit month in which the network token expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the network token expires.\n\nFormat: `YYYY`.\n" }, "cryptogram": { "type": "string", "readOnly": true, "description": "Generated value used in conjunction with the network token for making a payment.\n", "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" }, "card": { "type": "object", "readOnly": true, "description": "The latest card details associated with the network token", "properties": { "suffix": { "type": "string", "readOnly": true, "description": "The customer's latest payment card number suffix\n", "example": "1111" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "\nTwo-digit month in which the customer's latest payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the customer's latest payment card expires.\n\nFormat: `YYYY`.\n" } } } } }, "issuer": { "type": "object", "readOnly": true, "properties": { "paymentAccountReference": { "type": "string", "readOnly": true, "maxLength": 32, "description": "This reference number serves as a link to the cardholder account and to all transactions for that account.\n" } } }, "processingInformation": { "type": "object", "properties": { "authorizationOptions": { "type": "object", "title": "tmsAuthorizationOptions", "properties": { "initiator": { "type": "object", "properties": { "merchantInitiatedTransaction": { "type": "object", "properties": { "previousTransactionId": { "type": "string", "maxLength": 15, "description": "Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_\nin the reply message for either the original merchant-initiated payment in the series or the previous\nmerchant-initiated payment in the series.\n" }, "originalAuthorizedAmount": { "type": "string", "maxLength": 15, "description": "Amount of the original authorization.\n" } } } } } } } } }, "billTo": { "type": "object", "description": "This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Instrument Identifier." } } } } } }, "201": { "description": "A new Instrument Identifier has been created.", "headers": { "Location": { "description": "Location of the Instrument Identifier.", "type": "string" }, "ETag": { "description": "An ETag is an identifier assigned to a specific version of a resource.", "type": "string" }, "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally-unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifier.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111" } } }, "paymentInstruments": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifiers Payment Instruments.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111/paymentinstruments" } } } } }, "id": { "type": "string", "description": "The Id of the Instrument Identifier Token.\n" }, "object": { "type": "string", "readOnly": true, "example": "instrumentIdentifier", "description": "The type.\n\nPossible Values:\n- instrumentIdentifier\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "description": "The type of Instrument Identifier.\nPossible Values:\n- enrollable card\n" }, "tokenProvisioningInformation": { "type": "object", "properties": { "consumerConsentObtained": { "type": "boolean", "description": "Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has consented to tokenization of their credentials.\n- `false`: Consumer has not consented to tokenization of their credentials.\n" }, "multiFactorAuthenticated": { "type": "boolean", "description": "Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has been authenticated by the issuer.\n- `false`: Consumer has not been authenticated by the issuer.\n" } } }, "card": { "type": "object", "description": "The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Code. \nThis value is sent to the issuer to support the approval of a network token provision.\nIt is not persisted against the Instrument Identifier.\n" } } }, "bankAccount": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 17, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "routingNumber": { "type": "string", "description": "Bank routing number. This is also called the transit number.\n\nFor details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } }, "tokenizedCard": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The network token card association brand\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n", "example": "visa" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "State of the network token or network token provision\nPossible Values:\n- ACTIVE : Network token is active.\n- SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n- DELETED : This is a final state for a network token instance.\n- UNPROVISIONED : A previous network token provision was unsuccessful.\n" }, "enrollmentId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the enrolled PAN. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "tokenReferenceId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the network token. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "reason": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the network token\nPossible Values:\n- INVALID_REQUEST : The network token provision request contained invalid data.\n- CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified.\n- CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization.\n- CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization.\n- DECLINED : Card can currently not be used with issuer for tokenization.\n- SERVICE_UNAVAILABLE : The network token service was unavailable or timed out.\n- SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration.\n" }, "number": { "type": "string", "readOnly": true, "description": "The token requestors network token\n" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "Two-digit month in which the network token expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the network token expires.\n\nFormat: `YYYY`.\n" }, "cryptogram": { "type": "string", "readOnly": true, "description": "Generated value used in conjunction with the network token for making a payment.\n", "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" }, "card": { "type": "object", "readOnly": true, "description": "The latest card details associated with the network token", "properties": { "suffix": { "type": "string", "readOnly": true, "description": "The customer's latest payment card number suffix\n", "example": "1111" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "\nTwo-digit month in which the customer's latest payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the customer's latest payment card expires.\n\nFormat: `YYYY`.\n" } } } } }, "issuer": { "type": "object", "readOnly": true, "properties": { "paymentAccountReference": { "type": "string", "readOnly": true, "maxLength": 32, "description": "This reference number serves as a link to the cardholder account and to all transactions for that account.\n" } } }, "processingInformation": { "type": "object", "properties": { "authorizationOptions": { "type": "object", "title": "tmsAuthorizationOptions", "properties": { "initiator": { "type": "object", "properties": { "merchantInitiatedTransaction": { "type": "object", "properties": { "previousTransactionId": { "type": "string", "maxLength": 15, "description": "Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_\nin the reply message for either the original merchant-initiated payment in the series or the previous\nmerchant-initiated payment in the series.\n" }, "originalAuthorizedAmount": { "type": "string", "maxLength": 15, "description": "Amount of the original authorization.\n" } } } } } } } } }, "billTo": { "type": "object", "description": "This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Instrument Identifier." } } } } } }, "400": { "description": "Bad Request: e.g. A required header value could be missing.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - invalidHeaders\n - missingHeaders\n - invalidFields\n - missingFields\n - unsupportedPaymentMethodModification\n - invalidCombination\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." }, "details": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "name": { "type": "string", "readOnly": true, "description": "The name of the field that caused the error." }, "location": { "type": "string", "readOnly": true, "description": "The location of the field that caused the error." } } } } } } } } }, "examples": { "Invalid Customer request body": { "errors": [ { "type": "invalidRequest", "message": "Invalid HTTP Body" } ] } } }, "403": { "description": "Forbidden: e.g. The profile might not have permission to perform the operation.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - forbidden\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "forbidden", "message": "Request not permitted" } ] } } }, "409": { "description": "Conflict. The token is linked to a Payment Instrument.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - instrumentIdentifierDeletionError\n - tokenIdConflict\n - conflict\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "conflict", "message": "Action cannot be performed as the PaymentInstrument is the customers default" } ] } } }, "424": { "description": "Failed Dependency: e.g. The profile represented by the profile-id may not exist or the profile-id was entered incorrectly.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notFound", "message": "Profile not found" } ] } } }, "500": { "description": "Unexpected error.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "examples": { "application/json": { "errors": [ { "type": "serverError", "message": "Internal server error" } ] } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - internalError\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } } } }, "x-example": { "example0": { "summary": "Create Instrument Identifier (Card)", "value": { "card": { "number": "4111111111111111" } } }, "example1": { "summary": "Create Instrument Identifier (Bank Account)", "value": { "bankAccount": { "number": "4100", "routingNumber": "071923284" } } }, "example2": { "summary": "Create Instrument Identifier (Card & Enroll for Network Token)", "value": { "type": "enrollable card", "card": { "number": "4111111111111111", "expirationMonth": "12", "expirationYear": "2031", "securityCode": "123" } } } } } }, "/tms/v1/instrumentidentifiers/{instrumentIdentifierId}": { "get": { "summary": "Retrieve an Instrument Identifier", "description": "| | | |\n| --- | --- | --- |\n|**Instrument Identifiers**
An Instrument Identifier represents either a card number, or in the case of an ACH bank account, the routing and account number.
The same token Id is returned for a specific card number or bank account & routing number allowing the Instrument Identifier Id to be used for cross-channel payment tracking.
An Instrument Identifier can exist independently but also be associated with a [Customer Payment Instrument](#token-management_customer-payment-instrument_create-a-customer-payment-instrument) or [Standalone Payment Instrument](#token-management_payment-instrument_create-a-payment-instrument).

**Retrieving an Instrument Identifier**
Your system can use this API to retrieve an Instrument Identifier.
**Note: the actual card data will be masked.**
The Instrument Identifier will also be returned when retrieving a [Customer](#token-management_customer_retrieve-a-customer), [Customer Payment Instrument](#token-management_customer-payment-instrument_retrieve-a-customer-payment-instrument) or [Standalone Payment Instrument](#token-management_payment-instrument_retrieve-a-payment-instrument).|      |**Payment Network Tokens**
Network tokens perform better than regular card numbers and they are not necessarily invalidated when a cardholder loses their card, or it expires.
A Payment Network Token will be automatically created and used in future payments if you are enabled for the service.
A Payment Network Token can also be [provisioned for an existing Instrument Identifier](#token-management_instrument-identifier_enroll-an-instrument-identifier-for-payment-network-token).
For more information about Payment Network Tokens see the Developer Guide.

**Payments with Instrument Identifiers**
To perform a payment with an Instrument Identifier simply specify the [Instrument Identifier Id in the payments request along with the expiration date, card type, & billing address](#payments_payments_process-a-payment_samplerequests-dropdown_authorization-using-tokens_authorization-with-instrument-identifier-token-id_liveconsole-tab-request-body).
When an Instrument Identifier is used in a payment the **_previousTransactionId_** and **_originalAuthorizedAmount_** values are automatically recorded.
These values will be added for you to future Merchant Initiated Transaction payments.\n", "parameters": [ { "name": "profile-id", "in": "header", "description": "The Id of a profile containing user specific TMS configuration.", "required": false, "type": "string", "minLength": 36, "maxLength": 36, "x-hide-field": true }, { "name": "instrumentIdentifierId", "in": "path", "description": "The Id of an Instrument Identifier.", "required": true, "type": "string", "minLength": 12, "maxLength": 32 } ], "tags": [ "Instrument Identifier" ], "operationId": "getInstrumentIdentifier", "x-devcenter-metaData": { "categoryTag": "Token_Management", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-ii-tkn/tms-ii-tkn-retrieve-intro.html" }, "produces": [ "application/json;charset=utf-8" ], "x-depends": { "example": { "path": "/tms/v1/instrumentidentifiers", "verb": "post", "exampleId": "example0" }, "fieldMapping": [ { "sourceField": "id", "destinationField": "instrumentIdentifierId", "fieldTypeInDestination": "path" } ] }, "responses": { "200": { "description": "Returns an existing Instrument Identifier associated with the supplied Id.", "headers": { "ETag": { "description": "An ETag is an identifier assigned to a specific version of a resource.", "type": "string" }, "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally-unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifier.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111" } } }, "paymentInstruments": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifiers Payment Instruments.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111/paymentinstruments" } } } } }, "id": { "type": "string", "description": "The Id of the Instrument Identifier Token.\n" }, "object": { "type": "string", "readOnly": true, "example": "instrumentIdentifier", "description": "The type.\n\nPossible Values:\n- instrumentIdentifier\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "description": "The type of Instrument Identifier.\nPossible Values:\n- enrollable card\n" }, "tokenProvisioningInformation": { "type": "object", "properties": { "consumerConsentObtained": { "type": "boolean", "description": "Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has consented to tokenization of their credentials.\n- `false`: Consumer has not consented to tokenization of their credentials.\n" }, "multiFactorAuthenticated": { "type": "boolean", "description": "Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has been authenticated by the issuer.\n- `false`: Consumer has not been authenticated by the issuer.\n" } } }, "card": { "type": "object", "description": "The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Code. \nThis value is sent to the issuer to support the approval of a network token provision.\nIt is not persisted against the Instrument Identifier.\n" } } }, "bankAccount": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 17, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "routingNumber": { "type": "string", "description": "Bank routing number. This is also called the transit number.\n\nFor details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } }, "tokenizedCard": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The network token card association brand\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n", "example": "visa" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "State of the network token or network token provision\nPossible Values:\n- ACTIVE : Network token is active.\n- SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n- DELETED : This is a final state for a network token instance.\n- UNPROVISIONED : A previous network token provision was unsuccessful.\n" }, "enrollmentId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the enrolled PAN. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "tokenReferenceId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the network token. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "reason": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the network token\nPossible Values:\n- INVALID_REQUEST : The network token provision request contained invalid data.\n- CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified.\n- CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization.\n- CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization.\n- DECLINED : Card can currently not be used with issuer for tokenization.\n- SERVICE_UNAVAILABLE : The network token service was unavailable or timed out.\n- SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration.\n" }, "number": { "type": "string", "readOnly": true, "description": "The token requestors network token\n" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "Two-digit month in which the network token expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the network token expires.\n\nFormat: `YYYY`.\n" }, "cryptogram": { "type": "string", "readOnly": true, "description": "Generated value used in conjunction with the network token for making a payment.\n", "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" }, "card": { "type": "object", "readOnly": true, "description": "The latest card details associated with the network token", "properties": { "suffix": { "type": "string", "readOnly": true, "description": "The customer's latest payment card number suffix\n", "example": "1111" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "\nTwo-digit month in which the customer's latest payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the customer's latest payment card expires.\n\nFormat: `YYYY`.\n" } } } } }, "issuer": { "type": "object", "readOnly": true, "properties": { "paymentAccountReference": { "type": "string", "readOnly": true, "maxLength": 32, "description": "This reference number serves as a link to the cardholder account and to all transactions for that account.\n" } } }, "processingInformation": { "type": "object", "properties": { "authorizationOptions": { "type": "object", "title": "tmsAuthorizationOptions", "properties": { "initiator": { "type": "object", "properties": { "merchantInitiatedTransaction": { "type": "object", "properties": { "previousTransactionId": { "type": "string", "maxLength": 15, "description": "Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_\nin the reply message for either the original merchant-initiated payment in the series or the previous\nmerchant-initiated payment in the series.\n" }, "originalAuthorizedAmount": { "type": "string", "maxLength": 15, "description": "Amount of the original authorization.\n" } } } } } } } } }, "billTo": { "type": "object", "description": "This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Instrument Identifier." } } } } } }, "400": { "description": "Bad Request: e.g. A required header value could be missing.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - invalidHeaders\n - missingHeaders\n - invalidFields\n - missingFields\n - unsupportedPaymentMethodModification\n - invalidCombination\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." }, "details": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "name": { "type": "string", "readOnly": true, "description": "The name of the field that caused the error." }, "location": { "type": "string", "readOnly": true, "description": "The location of the field that caused the error." } } } } } } } } }, "examples": { "Invalid Customer request body": { "errors": [ { "type": "invalidRequest", "message": "Invalid HTTP Body" } ] } } }, "403": { "description": "Forbidden: e.g. The profile might not have permission to perform the operation.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - forbidden\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "forbidden", "message": "Request not permitted" } ] } } }, "404": { "description": "Token Not Found. The Id may not exist or was entered incorrectly.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notFound", "message": "Token not found" } ] } } }, "410": { "description": "Token Not Available. The token has been deleted.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notAvailable\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notAvailable", "message": "Token not available." } ] } } }, "424": { "description": "Failed Dependency: e.g. The profile represented by the profile-id may not exist or the profile-id was entered incorrectly.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notFound", "message": "Profile not found" } ] } } }, "500": { "description": "Unexpected error.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "examples": { "application/json": { "errors": [ { "type": "serverError", "message": "Internal server error" } ] } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - internalError\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } } } } }, "patch": { "summary": "Update an Instrument Identifier", "description": "| | | |\n| --- | --- | --- |\n|**Instrument Identifiers**
An Instrument Identifier represents either a card number, or in the case of an ACH bank account, the routing and account number.
The same token Id is returned for a specific card number or bank account & routing number allowing the Instrument Identifier Id to be used for cross-channel payment tracking.
An Instrument Identifier can exist independently but also be associated with a [Customer Payment Instrument](#token-management_customer-payment-instrument_create-a-customer-payment-instrument) or [Standalone Payment Instrument](#token-management_payment-instrument_create-a-payment-instrument).|      |**Updating an Instrument Identifier**
When an Instrument Identifier is used in a payment the **_previousTransactionId_** and **_originalAuthorizedAmount_** values are automatically recorded.
These values will be added for you to future Merchant Initiated Transaction payments.
Your system can use this API to update these values.\n", "parameters": [ { "name": "profile-id", "in": "header", "description": "The Id of a profile containing user specific TMS configuration.", "required": false, "type": "string", "minLength": 36, "maxLength": 36, "x-hide-field": true }, { "name": "instrumentIdentifierId", "in": "path", "description": "The Id of an Instrument Identifier.", "required": true, "type": "string", "minLength": 12, "maxLength": 32 }, { "name": "if-match", "in": "header", "description": "Contains an ETag value from a GET request to make the request conditional.", "required": false, "type": "string", "minLength": 1, "maxLength": 32 }, { "name": "patchInstrumentIdentifierRequest", "in": "body", "description": "Specify the previous transaction Id to update.", "required": true, "schema": { "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifier.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111" } } }, "paymentInstruments": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifiers Payment Instruments.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111/paymentinstruments" } } } } }, "id": { "type": "string", "description": "The Id of the Instrument Identifier Token.\n" }, "object": { "type": "string", "readOnly": true, "example": "instrumentIdentifier", "description": "The type.\n\nPossible Values:\n- instrumentIdentifier\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "description": "The type of Instrument Identifier.\nPossible Values:\n- enrollable card\n" }, "tokenProvisioningInformation": { "type": "object", "properties": { "consumerConsentObtained": { "type": "boolean", "description": "Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has consented to tokenization of their credentials.\n- `false`: Consumer has not consented to tokenization of their credentials.\n" }, "multiFactorAuthenticated": { "type": "boolean", "description": "Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has been authenticated by the issuer.\n- `false`: Consumer has not been authenticated by the issuer.\n" } } }, "card": { "type": "object", "description": "The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Code. \nThis value is sent to the issuer to support the approval of a network token provision.\nIt is not persisted against the Instrument Identifier.\n" } } }, "bankAccount": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 17, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "routingNumber": { "type": "string", "description": "Bank routing number. This is also called the transit number.\n\nFor details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } }, "tokenizedCard": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The network token card association brand\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n", "example": "visa" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "State of the network token or network token provision\nPossible Values:\n- ACTIVE : Network token is active.\n- SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n- DELETED : This is a final state for a network token instance.\n- UNPROVISIONED : A previous network token provision was unsuccessful.\n" }, "enrollmentId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the enrolled PAN. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "tokenReferenceId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the network token. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "reason": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the network token\nPossible Values:\n- INVALID_REQUEST : The network token provision request contained invalid data.\n- CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified.\n- CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization.\n- CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization.\n- DECLINED : Card can currently not be used with issuer for tokenization.\n- SERVICE_UNAVAILABLE : The network token service was unavailable or timed out.\n- SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration.\n" }, "number": { "type": "string", "readOnly": true, "description": "The token requestors network token\n" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "Two-digit month in which the network token expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the network token expires.\n\nFormat: `YYYY`.\n" }, "cryptogram": { "type": "string", "readOnly": true, "description": "Generated value used in conjunction with the network token for making a payment.\n", "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" }, "card": { "type": "object", "readOnly": true, "description": "The latest card details associated with the network token", "properties": { "suffix": { "type": "string", "readOnly": true, "description": "The customer's latest payment card number suffix\n", "example": "1111" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "\nTwo-digit month in which the customer's latest payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the customer's latest payment card expires.\n\nFormat: `YYYY`.\n" } } } } }, "issuer": { "type": "object", "readOnly": true, "properties": { "paymentAccountReference": { "type": "string", "readOnly": true, "maxLength": 32, "description": "This reference number serves as a link to the cardholder account and to all transactions for that account.\n" } } }, "processingInformation": { "type": "object", "properties": { "authorizationOptions": { "type": "object", "title": "tmsAuthorizationOptions", "properties": { "initiator": { "type": "object", "properties": { "merchantInitiatedTransaction": { "type": "object", "properties": { "previousTransactionId": { "type": "string", "maxLength": 15, "description": "Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_\nin the reply message for either the original merchant-initiated payment in the series or the previous\nmerchant-initiated payment in the series.\n" }, "originalAuthorizedAmount": { "type": "string", "maxLength": 15, "description": "Amount of the original authorization.\n" } } } } } } } } }, "billTo": { "type": "object", "description": "This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Instrument Identifier." } } } } } } ], "tags": [ "Instrument Identifier" ], "operationId": "patchInstrumentIdentifier", "x-devcenter-metaData": { "categoryTag": "Token_Management", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-ii-tkn/tms-ii-tkn-update-intro.html" }, "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/json;charset=utf-8" ], "x-depends": { "example": { "path": "/tms/v1/instrumentidentifiers", "verb": "post", "exampleId": "example0" }, "fieldMapping": [ { "sourceField": "id", "destinationField": "instrumentIdentifierId", "fieldTypeInDestination": "path" } ] }, "responses": { "200": { "description": "Returns an existing Instrument Identifier associated with the supplied Id.", "headers": { "ETag": { "description": "An ETag is an identifier assigned to a specific version of a resource.", "type": "string" }, "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally-unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifier.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111" } } }, "paymentInstruments": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifiers Payment Instruments.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111/paymentinstruments" } } } } }, "id": { "type": "string", "description": "The Id of the Instrument Identifier Token.\n" }, "object": { "type": "string", "readOnly": true, "example": "instrumentIdentifier", "description": "The type.\n\nPossible Values:\n- instrumentIdentifier\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "description": "The type of Instrument Identifier.\nPossible Values:\n- enrollable card\n" }, "tokenProvisioningInformation": { "type": "object", "properties": { "consumerConsentObtained": { "type": "boolean", "description": "Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has consented to tokenization of their credentials.\n- `false`: Consumer has not consented to tokenization of their credentials.\n" }, "multiFactorAuthenticated": { "type": "boolean", "description": "Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has been authenticated by the issuer.\n- `false`: Consumer has not been authenticated by the issuer.\n" } } }, "card": { "type": "object", "description": "The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Code. \nThis value is sent to the issuer to support the approval of a network token provision.\nIt is not persisted against the Instrument Identifier.\n" } } }, "bankAccount": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 17, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "routingNumber": { "type": "string", "description": "Bank routing number. This is also called the transit number.\n\nFor details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } }, "tokenizedCard": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The network token card association brand\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n", "example": "visa" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "State of the network token or network token provision\nPossible Values:\n- ACTIVE : Network token is active.\n- SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n- DELETED : This is a final state for a network token instance.\n- UNPROVISIONED : A previous network token provision was unsuccessful.\n" }, "enrollmentId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the enrolled PAN. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "tokenReferenceId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the network token. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "reason": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the network token\nPossible Values:\n- INVALID_REQUEST : The network token provision request contained invalid data.\n- CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified.\n- CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization.\n- CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization.\n- DECLINED : Card can currently not be used with issuer for tokenization.\n- SERVICE_UNAVAILABLE : The network token service was unavailable or timed out.\n- SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration.\n" }, "number": { "type": "string", "readOnly": true, "description": "The token requestors network token\n" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "Two-digit month in which the network token expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the network token expires.\n\nFormat: `YYYY`.\n" }, "cryptogram": { "type": "string", "readOnly": true, "description": "Generated value used in conjunction with the network token for making a payment.\n", "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" }, "card": { "type": "object", "readOnly": true, "description": "The latest card details associated with the network token", "properties": { "suffix": { "type": "string", "readOnly": true, "description": "The customer's latest payment card number suffix\n", "example": "1111" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "\nTwo-digit month in which the customer's latest payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the customer's latest payment card expires.\n\nFormat: `YYYY`.\n" } } } } }, "issuer": { "type": "object", "readOnly": true, "properties": { "paymentAccountReference": { "type": "string", "readOnly": true, "maxLength": 32, "description": "This reference number serves as a link to the cardholder account and to all transactions for that account.\n" } } }, "processingInformation": { "type": "object", "properties": { "authorizationOptions": { "type": "object", "title": "tmsAuthorizationOptions", "properties": { "initiator": { "type": "object", "properties": { "merchantInitiatedTransaction": { "type": "object", "properties": { "previousTransactionId": { "type": "string", "maxLength": 15, "description": "Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_\nin the reply message for either the original merchant-initiated payment in the series or the previous\nmerchant-initiated payment in the series.\n" }, "originalAuthorizedAmount": { "type": "string", "maxLength": 15, "description": "Amount of the original authorization.\n" } } } } } } } } }, "billTo": { "type": "object", "description": "This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Instrument Identifier." } } } } } }, "400": { "description": "Bad Request: e.g. A required header value could be missing.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - invalidHeaders\n - missingHeaders\n - invalidFields\n - missingFields\n - unsupportedPaymentMethodModification\n - invalidCombination\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." }, "details": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "name": { "type": "string", "readOnly": true, "description": "The name of the field that caused the error." }, "location": { "type": "string", "readOnly": true, "description": "The location of the field that caused the error." } } } } } } } } }, "examples": { "Invalid Customer request body": { "errors": [ { "type": "invalidRequest", "message": "Invalid HTTP Body" } ] } } }, "403": { "description": "Forbidden: e.g. The profile might not have permission to perform the operation.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - forbidden\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "forbidden", "message": "Request not permitted" } ] } } }, "404": { "description": "Token Not Found. The Id may not exist or was entered incorrectly.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notFound", "message": "Token not found" } ] } } }, "410": { "description": "Token Not Available. The token has been deleted.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notAvailable\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notAvailable", "message": "Token not available." } ] } } }, "412": { "description": "Precondition Failed: The If-Match request header value does not match the current resources ETag", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - conflict\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "conflict", "message": "Action cannot be performed as the if-match header value does not match the token etag" } ] } } }, "424": { "description": "Failed Dependency: e.g. The profile represented by the profile-id may not exist or the profile-id was entered incorrectly.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notFound", "message": "Profile not found" } ] } } }, "500": { "description": "Unexpected error.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "examples": { "application/json": { "errors": [ { "type": "serverError", "message": "Internal server error" } ] } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - internalError\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } } } }, "x-example": { "example0": { "summary": "Update Instrument Identifier Merchant Initiated Transaction Values", "value": { "processingInformation": { "authorizationOptions": { "initiator": { "merchantInitiatedTransaction": { "previousTransactionId": "123456789012345", "originalAuthorizedAmount": "100.00" } } } } } } } }, "delete": { "summary": "Delete an Instrument Identifier", "description": "| | | |\n| --- | --- | --- |\n|**Instrument Identifiers**
An Instrument Identifier represents either a card number, or in the case of an ACH bank account, the routing
and account numbers.
The same token Id is returned for a specific card number or bank account & routing number allowing the
Instrument Identifier Id to be used for cross-channel payment tracking.
An Instrument Identifier can exist independently but also be associated with a [Customer Payment Instrument](#token-management_customer-payment-instrument_create-a-customer-payment-instrument)
or [Standalone Payment Instrument](#token-management_payment-instrument_create-a-payment-instrument).|      |**Deleting an Instrument Identifier**
Your system can use this API to delete an existing Instrument Identifier.
An Instrument Identifier cannot be deleted if it is linked to any Payment Instruments.
You can [retrieve all Payment Instruments associated with an Instrument Identifier](#token-management_instrument-identifier_list-payment-instruments-for-an-instrument-identifier).\n", "parameters": [ { "name": "profile-id", "in": "header", "description": "The Id of a profile containing user specific TMS configuration.", "required": false, "type": "string", "minLength": 36, "maxLength": 36, "x-hide-field": true }, { "name": "instrumentIdentifierId", "in": "path", "description": "The Id of an Instrument Identifier.", "required": true, "type": "string", "minLength": 12, "maxLength": 32 } ], "tags": [ "Instrument Identifier" ], "operationId": "deleteInstrumentIdentifier", "x-devcenter-metaData": { "categoryTag": "Token_Management", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-ii-tkn/tms-ii-tkn-delete-intro.html" }, "produces": [ "application/json;charset=utf-8" ], "x-depends": { "example": { "path": "/tms/v1/instrumentidentifiers", "verb": "post", "exampleId": "example0" }, "fieldMapping": [ { "sourceField": "id", "destinationField": "instrumentIdentifierId", "fieldTypeInDestination": "path" } ] }, "responses": { "204": { "description": "The request is fulfilled but does not need to return a body", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } } }, "403": { "description": "Forbidden: e.g. The profile might not have permission to perform the operation.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - forbidden\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "forbidden", "message": "Request not permitted" } ] } } }, "404": { "description": "Token Not Found. The Id may not exist or was entered incorrectly.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notFound", "message": "Token not found" } ] } } }, "409": { "description": "Conflict. The token is linked to a Payment Instrument.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - instrumentIdentifierDeletionError\n - tokenIdConflict\n - conflict\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "conflict", "message": "Action cannot be performed as the PaymentInstrument is the customers default" } ] } } }, "410": { "description": "Token Not Available. The token has been deleted.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notAvailable\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notAvailable", "message": "Token not available." } ] } } }, "424": { "description": "Failed Dependency: e.g. The profile represented by the profile-id may not exist or the profile-id was entered incorrectly.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notFound", "message": "Profile not found" } ] } } }, "500": { "description": "Unexpected error.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "examples": { "application/json": { "errors": [ { "type": "serverError", "message": "Internal server error" } ] } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - internalError\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } } } } } }, "/tms/v1/instrumentidentifiers/{instrumentIdentifierId}/paymentinstruments": { "get": { "summary": "List Payment Instruments for an Instrument Identifier", "description": "| | | |\n| --- | --- | --- |\n|**Instrument Identifiers**
An Instrument Identifier represents either a card number, or in the case of an ACH bank account, the routing
and account numbers.
The same token Id is returned for a specific card number or bank account & routing number allowing the
Instrument Identifier Id to be used for cross-channel payment tracking.
An Instrument Identifier can exist independently but also be associated with a [Customer Payment Instrument](#token-management_customer-payment-instrument_create-a-customer-payment-instrument)
or [Standalone Payment Instrument](#token-management_payment-instrument_create-a-payment-instrument).|      |**Retrieving all Payment Instruments associated with an Instrument Identifier**
Your system can use this API to retrieve all Payment Instruments linked to an Instrument Identifier.\n", "parameters": [ { "name": "profile-id", "in": "header", "description": "The Id of a profile containing user specific TMS configuration.", "required": false, "type": "string", "minLength": 36, "maxLength": 36, "x-hide-field": true }, { "name": "instrumentIdentifierId", "in": "path", "description": "The Id of an Instrument Identifier.", "required": true, "type": "string", "minLength": 12, "maxLength": 32 }, { "name": "offset", "in": "query", "description": "Starting record in zero-based dataset that should be returned as the first object in the array. Default is 0.", "required": false, "type": "integer", "format": "int64", "default": 0, "minimum": 0 }, { "name": "limit", "in": "query", "description": "The maximum number that can be returned in the array starting from the offset record in zero-based dataset. Default is 20, maximum is 100.", "required": false, "type": "integer", "format": "int64", "default": 20, "minimum": 1, "maximum": 100 } ], "tags": [ "Instrument Identifier" ], "operationId": "getInstrumentIdentifierPaymentInstrumentsList", "x-devcenter-metaData": { "categoryTag": "Token_Management", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-ii-tkn/tms-ii-tkn-retrieve-pi-intro.html" }, "produces": [ "application/json;charset=utf-8" ], "x-depends": { "example": { "path": "/tms/v1/instrumentidentifiers", "verb": "post", "exampleId": "example0" }, "fieldMapping": [ { "sourceField": "id", "destinationField": "instrumentIdentifierId", "fieldTypeInDestination": "path" } ] }, "responses": { "200": { "description": "Returns all existing Payment Instruments associated with the supplied Id.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally-unique Id associated with your request.", "type": "string" }, "X-Total-Count": { "description": "The total number of Payment Instruments associated with the Customer or Instrument Identifier.", "type": "string" } }, "schema": { "title": "PaymentInstrumentList", "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the current page.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments?offset=0&limit=1" } } }, "first": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the first page.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments?offset=0&limit=1" } } }, "prev": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the previous page.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments?offset=0&limit=1" } } }, "next": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the next page.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments?offset=0&limit=1" } } }, "last": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the last page.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments?offset=0&limit=1" } } } } }, "offset": { "type": "integer", "readOnly": true, "default": 0, "example": 0, "description": "The offset parameter supplied in the request." }, "limit": { "type": "integer", "readOnly": true, "default": 20, "example": 20, "description": "The limit parameter supplied in the request." }, "count": { "type": "integer", "readOnly": true, "example": 1, "description": "The number of Payment Instruments returned in the array." }, "total": { "type": "integer", "readOnly": true, "example": 1, "description": "The total number of Payment Instruments associated with the Customer or Instrument Identifier." }, "_embedded": { "type": "object", "readOnly": true, "description": "Payment Instrument Resources.\n", "properties": { "paymentInstruments": { "type": "array", "readOnly": true, "items": { "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Payment Instrument.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3/payment-instruments" } } }, "customer": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Customer.\n", "example": "/tms/v2/customers/D9F340DD3DB9C276E053A2598D0A41A3" } } } } }, "id": { "type": "string", "minLength": 1, "maxLength": 32, "description": "The Id of the Payment Instrument Token." }, "object": { "type": "string", "readOnly": true, "example": "paymentInstrument", "description": "The type.\n\nPossible Values:\n- paymentInstrument\n" }, "default": { "type": "boolean", "description": "Flag that indicates whether customer payment instrument is the dafault.\nPossible Values:\n - `true`: Payment instrument is customer's default.\n - `false`: Payment instrument is not customer's default.\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "readOnly": true, "description": "The type of Payment Instrument.\nPossible Values:\n- cardHash\n" }, "bankAccount": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 18, "description": "Account type.\n\nPossible Values:\n - checking : C\n - general ledger : G This value is supported only on Wells Fargo ACH\n - savings : S (U.S. dollars only)\n - corporate checking : X (U.S. dollars only)\n" } } }, "card": { "type": "object", "properties": { "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "type": { "type": "string", "description": "Value that indicates the card type. Possible Values v2 : v1:\n * 001 : visa\n * 002 : mastercard - Eurocard\u2014European regional brand of Mastercard\n * 003 : american express\n * 004 : discover\n * 005 : diners club\n * 006 : carte blanche\n * 007 : jcb\n * 008 : optima\n * 011 : twinpay credit\n * 012 : twinpay debit\n * 013 : walmart\n * 014 : enRoute\n * 015 : lowes consumer\n * 016 : home depot consumer\n * 017 : mbna\n * 018 : dicks sportswear\n * 019 : casual corner\n * 020 : sears\n * 021 : jal\n * 023 : disney\n * 024 : maestro uk domestic\n * 025 : sams club consumer\n * 026 : sams club business\n * 028 : bill me later\n * 029 : bebe\n * 030 : restoration hardware\n * 031 : delta online \u2014 use this value only for Ingenico ePayments. For other processors, use 001 for all Visa card types.\n * 032 : solo\n * 033 : visa electron\n * 034 : dankort\n * 035 : laser\n * 036 : carte bleue \u2014 formerly Cartes Bancaires\n * 037 : carta si\n * 038 : pinless debit\n * 039 : encoded account\n * 040 : uatp\n * 041 : household\n * 042 : maestro international\n * 043 : ge money uk\n * 044 : korean cards\n * 045 : style\n * 046 : jcrew\n * 047 : payease china processing ewallet\n * 048 : payease china processing bank transfer\n * 049 : meijer private label\n * 050 : hipercard \u2014 supported only by the Comercio Latino processor.\n * 051 : aura \u2014 supported only by the Comercio Latino processor.\n * 052 : redecard\n * 054 : elo \u2014 supported only by the Comercio Latino processor.\n * 055 : capital one private label\n * 056 : synchrony private label\n * 057 : costco private label\n * 060 : mada\n * 062 : china union pay\n * 063 : falabella private label\n" }, "issueNumber": { "type": "string", "maxLength": 2, "description": "Number of times a Maestro (UK Domestic) card has been issued to the account holder. The card might or might not have an issue number. The number can consist of one or two digits, and the first digit might be a zero. When you include this value in your request, include exactly what is printed on the card. A value of 2 is different than a value of 02. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card.\n\n**Note** The issue number is not required for Maestro (UK Domestic) transactions.\n" }, "startMonth": { "type": "string", "maxLength": 2, "description": "Month of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: MM`.\nPossible Values: 01 through 12.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "startYear": { "type": "string", "maxLength": 4, "description": "Year of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: YYYY`.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "useAs": { "type": "string", "example": "pinless debit", "description": "'Payment Instrument was created / updated as part of a pinless debit transaction.'\n" }, "hash": { "type": "string", "minLength": 32, "maxLength": 34, "readOnly": true, "description": "Hash value representing the card.\n" }, "tokenizedInformation": { "type": "object", "properties": { "requestorID": { "type": "string", "maxLength": 11, "description": "Value that identifies your business and indicates that the cardholder's account number is tokenized. This value\nis assigned by the token service provider and is unique within the token service provider's database.\n\n**Note** This field is supported only through **VisaNet** and **FDC Nashville Global**.\n" }, "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it\nspecifies the entity that provided you with information about the token.\n\nSet the value for this field to 1. An application on the customer's mobile device provided the token data.\n" } } } } }, "buyerInformation": { "type": "object", "properties": { "companyTaxID": { "type": "string", "maxLength": 9, "description": "Company's tax identifier. This is only used for eCheck service.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character I[ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\nFor details about currency as used in partial authorizations, see \"Features for Debit Cards and Prepaid Cards\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n" }, "dateOfBirth": { "type": "string", "format": "date", "example": "1960-12-30", "description": "Date of birth of the customer. Format: YYYY-MM-DD\n" }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "The value of the identification type.\n" }, "type": { "type": "string", "description": "The type of the identification.\n\nPossible Values:\n - driver license\n" }, "issuedBy": { "type": "object", "properties": { "administrativeArea": { "type": "string", "description": "The State or province where the customer's driver's license was issued.\n\nUse the two-character State, Province, and Territory Codes for the United States and Canada.\n", "maxLength": 20 } } } } } } } }, "billTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n" } } }, "processingInformation": { "type": "object", "title": "tmsPaymentInstrumentProcessingInfo", "properties": { "billPaymentProgramEnabled": { "type": "boolean", "description": "Flag that indicates that this is a payment for a bill or for an existing contractual loan.\nFor processor-specific details, see the `bill_payment` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nPossible Values:\n- `true`: Bill payment or loan payment.\n- `false` (default): Not a bill payment or loan payment.\n" }, "bankTransferOptions": { "type": "object", "properties": { "SECCode": { "type": "string", "maxLength": 3, "description": "Specifies the authorization method for the transaction.\n\n#### TeleCheck\nPossible Values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n\nFor details, see `ecp_sec_code` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "alternateName": { "type": "string", "description": "Alternate contact information for your business,such as an email address or URL.\nThis value might be displayed on the cardholder's statement.\nWhen you do not include this value in your capture or credit request, the merchant URL from your CyberSource account is used.\nImportant This value must consist of English characters\n", "maxLength": 13 } } } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "minLength": 12, "maxLength": 32, "description": "The Id of the Instrument Identifier linked to the Payment Instrument.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Payment Instrument.\n" } } }, "_embedded": { "type": "object", "readOnly": true, "description": "Additional resources for the Payment Instrument.\n", "properties": { "instrumentIdentifier": { "readOnly": true, "title": "tmsEmbeddedInstrumentIdentifier", "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifier.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111" } } }, "paymentInstruments": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifiers Payment Instruments.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111/paymentinstruments" } } } } }, "id": { "type": "string", "description": "The Id of the Instrument Identifier Token.\n" }, "object": { "type": "string", "readOnly": true, "example": "instrumentIdentifier", "description": "The type.\n\nPossible Values:\n- instrumentIdentifier\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "description": "The type of Instrument Identifier.\nPossible Values:\n- enrollable card\n" }, "tokenProvisioningInformation": { "type": "object", "properties": { "consumerConsentObtained": { "type": "boolean", "description": "Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has consented to tokenization of their credentials.\n- `false`: Consumer has not consented to tokenization of their credentials.\n" }, "multiFactorAuthenticated": { "type": "boolean", "description": "Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has been authenticated by the issuer.\n- `false`: Consumer has not been authenticated by the issuer.\n" } } }, "card": { "type": "object", "description": "The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Code. \nThis value is sent to the issuer to support the approval of a network token provision.\nIt is not persisted against the Instrument Identifier.\n" } } }, "bankAccount": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 17, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "routingNumber": { "type": "string", "description": "Bank routing number. This is also called the transit number.\n\nFor details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } }, "tokenizedCard": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The network token card association brand\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n", "example": "visa" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "State of the network token or network token provision\nPossible Values:\n- ACTIVE : Network token is active.\n- SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n- DELETED : This is a final state for a network token instance.\n- UNPROVISIONED : A previous network token provision was unsuccessful.\n" }, "enrollmentId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the enrolled PAN. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "tokenReferenceId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the network token. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "reason": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the network token\nPossible Values:\n- INVALID_REQUEST : The network token provision request contained invalid data.\n- CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified.\n- CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization.\n- CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization.\n- DECLINED : Card can currently not be used with issuer for tokenization.\n- SERVICE_UNAVAILABLE : The network token service was unavailable or timed out.\n- SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration.\n" }, "number": { "type": "string", "readOnly": true, "description": "The token requestors network token\n" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "Two-digit month in which the network token expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the network token expires.\n\nFormat: `YYYY`.\n" }, "cryptogram": { "type": "string", "readOnly": true, "description": "Generated value used in conjunction with the network token for making a payment.\n", "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" }, "card": { "type": "object", "readOnly": true, "description": "The latest card details associated with the network token", "properties": { "suffix": { "type": "string", "readOnly": true, "description": "The customer's latest payment card number suffix\n", "example": "1111" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "\nTwo-digit month in which the customer's latest payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the customer's latest payment card expires.\n\nFormat: `YYYY`.\n" } } } } }, "issuer": { "type": "object", "readOnly": true, "properties": { "paymentAccountReference": { "type": "string", "readOnly": true, "maxLength": 32, "description": "This reference number serves as a link to the cardholder account and to all transactions for that account.\n" } } }, "processingInformation": { "type": "object", "properties": { "authorizationOptions": { "type": "object", "title": "tmsAuthorizationOptions", "properties": { "initiator": { "type": "object", "properties": { "merchantInitiatedTransaction": { "type": "object", "properties": { "previousTransactionId": { "type": "string", "maxLength": 15, "description": "Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_\nin the reply message for either the original merchant-initiated payment in the series or the previous\nmerchant-initiated payment in the series.\n" }, "originalAuthorizedAmount": { "type": "string", "maxLength": 15, "description": "Amount of the original authorization.\n" } } } } } } } } }, "billTo": { "type": "object", "description": "This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Instrument Identifier." } } } } } } } } } } } } } } }, "400": { "description": "Bad Request: e.g. A required header value could be missing.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - invalidHeaders\n - missingHeaders\n - invalidFields\n - missingFields\n - unsupportedPaymentMethodModification\n - invalidCombination\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." }, "details": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "name": { "type": "string", "readOnly": true, "description": "The name of the field that caused the error." }, "location": { "type": "string", "readOnly": true, "description": "The location of the field that caused the error." } } } } } } } } }, "examples": { "Invalid Customer request body": { "errors": [ { "type": "invalidRequest", "message": "Invalid HTTP Body" } ] } } }, "403": { "description": "Forbidden: e.g. The profile might not have permission to perform the operation.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - forbidden\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "forbidden", "message": "Request not permitted" } ] } } }, "404": { "description": "Token Not Found. The Id may not exist or was entered incorrectly.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notFound", "message": "Token not found" } ] } } }, "410": { "description": "Token Not Available. The token has been deleted.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notAvailable\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notAvailable", "message": "Token not available." } ] } } }, "424": { "description": "Failed Dependency: e.g. The profile represented by the profile-id may not exist or the profile-id was entered incorrectly.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notFound", "message": "Profile not found" } ] } } }, "500": { "description": "Unexpected error.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "examples": { "application/json": { "errors": [ { "type": "serverError", "message": "Internal server error" } ] } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - internalError\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } } } } } }, "/tms/v1/instrumentidentifiers/{instrumentIdentifierId}/enrollment": { "post": { "summary": "Enroll an Instrument Identifier for Payment Network Token", "description": "| | | |\n| --- | --- | --- |\n|**Instrument Identifiers**
An Instrument Identifier represents either a card number, or in the case of an ACH bank account, the routing and account number.
The same token Id is returned for a specific card number or bank account & routing number allowing the Instrument Identifier Id to be used for cross-channel payment tracking.
An Instrument Identifier can exist independently but also be associated with a [Customer Payment Instrument](#token-management_customer-payment-instrument_create-a-customer-payment-instrument) or [Standalone Payment Instrument](#token-management_payment-instrument_create-a-payment-instrument).|      |**Enroll an Instrument Identifier for a Payment Network Token**
Your system can use this API to provision a Network token for an existing Instrument Identifier.
Network tokens perform better than regular card numbers and they are not necessarily invalidated when a cardholder loses their card, or it expires.
A Network token can be [provisioned when creating an Instrument Identifier](#token-management_instrument-identifier_create-an-instrument-identifier_samplerequests-dropdown_create-instrument-identifier-card-enroll-for-network-token_liveconsole-tab-request-body).This will occur automatically when creating a [Customer](#payments_payments_process-a-payment_samplerequests-dropdown_authorization-with-token-create_authorization-with-customer-token-creation_liveconsole-tab-request-body), [Payment Instrument](#payments_payments_process-a-payment_samplerequests-dropdown_authorization-with-token-create_authorization-create-default-payment-instrument-shipping-address-for-existing-customer_liveconsole-tab-request-body) or [Instrument Identifier](#payments_payments_process-a-payment_samplerequests-dropdown_authorization-with-token-create_authorization-with-instrument-identifier-token-creation_liveconsole-tab-request-body) via the Payments API.
For more information about Payment Network Tokens see the Developer Guide.\n", "parameters": [ { "name": "profile-id", "in": "header", "description": "The Id of a profile containing user specific TMS configuration.", "required": false, "type": "string", "minLength": 36, "maxLength": 36, "x-hide-field": true }, { "name": "instrumentIdentifierId", "in": "path", "description": "The Id of an Instrument Identifier.", "required": true, "type": "string", "minLength": 12, "maxLength": 32 }, { "name": "postInstrumentIdentifierEnrollmentRequest", "in": "body", "description": "Specify Enrollable Card details", "required": true, "schema": { "type": "object", "properties": { "_links": { "type": "object", "readOnly": true, "properties": { "self": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifier.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111" } } }, "paymentInstruments": { "type": "object", "readOnly": true, "properties": { "href": { "type": "string", "readOnly": true, "description": "Link to the Instrument Identifiers Payment Instruments.\n", "example": "tms/v1/instrumentidentifiers/7010000000016241111/paymentinstruments" } } } } }, "id": { "type": "string", "description": "The Id of the Instrument Identifier Token.\n" }, "object": { "type": "string", "readOnly": true, "example": "instrumentIdentifier", "description": "The type.\n\nPossible Values:\n- instrumentIdentifier\n" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the card number.\nPossible Values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" }, "type": { "type": "string", "description": "The type of Instrument Identifier.\nPossible Values:\n- enrollable card\n" }, "tokenProvisioningInformation": { "type": "object", "properties": { "consumerConsentObtained": { "type": "boolean", "description": "Flag that indicates whether the user consented to the tokenization of their credentials. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has consented to tokenization of their credentials.\n- `false`: Consumer has not consented to tokenization of their credentials.\n" }, "multiFactorAuthenticated": { "type": "boolean", "description": "Flag that indicates whether AFA (Additional Factor of Authentication) for the PAN was completed. Required for card network tokenization in certain markets, such as India.\nPossible Values:\n- `true`: Consumer has been authenticated by the issuer.\n- `false`: Consumer has not been authenticated by the issuer.\n" } } }, "card": { "type": "object", "description": "The expirationMonth, expirationYear and securityCode is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "number": { "type": "string", "minLength": 12, "maxLength": 19, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the credit card expires.\n\nFormat: `YYYY`.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Code. \nThis value is sent to the issuer to support the approval of a network token provision.\nIt is not persisted against the Instrument Identifier.\n" } } }, "bankAccount": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 17, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "routingNumber": { "type": "string", "description": "Bank routing number. This is also called the transit number.\n\nFor details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" } } }, "tokenizedCard": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The network token card association brand\nPossible Values:\n- visa\n- mastercard\n- americanexpress\n", "example": "visa" }, "state": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "State of the network token or network token provision\nPossible Values:\n- ACTIVE : Network token is active.\n- SUSPENDED : Network token is suspended. This state can change back to ACTIVE.\n- DELETED : This is a final state for a network token instance.\n- UNPROVISIONED : A previous network token provision was unsuccessful.\n" }, "enrollmentId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the enrolled PAN. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "tokenReferenceId": { "type": "string", "readOnly": true, "description": "Unique Identifier for the network token. This Id is provided by the card association when a network token is provisioned successfully.\n" }, "reason": { "type": "string", "readOnly": true, "example": "ACTIVE", "description": "Issuers state for the network token\nPossible Values:\n- INVALID_REQUEST : The network token provision request contained invalid data.\n- CARD_VERIFICATION_FAILED : The network token provision request contained data that could not be verified.\n- CARD_NOT_ELIGIBLE : Card can currently not be used with issuer for tokenization.\n- CARD_NOT_ALLOWED : Card can currently not be used with card association for tokenization.\n- DECLINED : Card can currently not be used with issuer for tokenization.\n- SERVICE_UNAVAILABLE : The network token service was unavailable or timed out.\n- SYSTEM_ERROR : An unexpected error occurred with network token service, check configuration.\n" }, "number": { "type": "string", "readOnly": true, "description": "The token requestors network token\n" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "Two-digit month in which the network token expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the network token expires.\n\nFormat: `YYYY`.\n" }, "cryptogram": { "type": "string", "readOnly": true, "description": "Generated value used in conjunction with the network token for making a payment.\n", "example": "CgAFRFYFPTFOfg5rj2ais9wQAAAAAM=" }, "card": { "type": "object", "readOnly": true, "description": "The latest card details associated with the network token", "properties": { "suffix": { "type": "string", "readOnly": true, "description": "The customer's latest payment card number suffix\n", "example": "1111" }, "expirationMonth": { "type": "string", "readOnly": true, "maxLength": 2, "description": "\nTwo-digit month in which the customer's latest payment card expires.\n\nFormat: `MM`.\n\nPossible Values: `01` through `12`.\n" }, "expirationYear": { "type": "string", "readOnly": true, "maxLength": 4, "description": "Four-digit year in which the customer's latest payment card expires.\n\nFormat: `YYYY`.\n" } } } } }, "issuer": { "type": "object", "readOnly": true, "properties": { "paymentAccountReference": { "type": "string", "readOnly": true, "maxLength": 32, "description": "This reference number serves as a link to the cardholder account and to all transactions for that account.\n" } } }, "processingInformation": { "type": "object", "properties": { "authorizationOptions": { "type": "object", "title": "tmsAuthorizationOptions", "properties": { "initiator": { "type": "object", "properties": { "merchantInitiatedTransaction": { "type": "object", "properties": { "previousTransactionId": { "type": "string", "maxLength": 15, "description": "Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_\nin the reply message for either the original merchant-initiated payment in the series or the previous\nmerchant-initiated payment in the series.\n" }, "originalAuthorizedAmount": { "type": "string", "maxLength": 15, "description": "Amount of the original authorization.\n" } } } } } } } } }, "billTo": { "type": "object", "description": "This information is sent to the issuer as part of network token enrollment and is not stored under the Instrument Identifier.\n", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Additional address information.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the State, Province, and Territory Codes for the United States\nand Canada.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character ISO Standard Country Codes.\n" } } }, "metadata": { "type": "object", "readOnly": true, "properties": { "creator": { "type": "string", "readOnly": true, "description": "The creator of the Instrument Identifier." } } } } } } ], "tags": [ "Instrument Identifier" ], "operationId": "postInstrumentIdentifierEnrollment", "x-devcenter-metaData": { "categoryTag": "Token_Management", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-net-tkn-indirect/tms-net-tkn-partner-card-intro.html" }, "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/json;charset=utf-8" ], "x-depends": { "example": { "path": "/tms/v1/instrumentidentifiers", "verb": "post", "exampleId": "example0" }, "fieldMapping": [ { "sourceField": "id", "destinationField": "instrumentIdentifierId", "fieldTypeInDestination": "path" } ] }, "responses": { "202": { "description": "The request has been accepted for processing, but the processing has not been completed.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } } }, "204": { "description": "The request is fulfilled but does not need to return a body", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } } }, "400": { "description": "Bad Request: e.g. A required header value could be missing.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - invalidHeaders\n - missingHeaders\n - invalidFields\n - missingFields\n - unsupportedPaymentMethodModification\n - invalidCombination\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." }, "details": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "name": { "type": "string", "readOnly": true, "description": "The name of the field that caused the error." }, "location": { "type": "string", "readOnly": true, "description": "The location of the field that caused the error." } } } } } } } } }, "examples": { "Invalid Customer request body": { "errors": [ { "type": "invalidRequest", "message": "Invalid HTTP Body" } ] } } }, "403": { "description": "Forbidden: e.g. The profile might not have permission to perform the operation.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - forbidden\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "forbidden", "message": "Request not permitted" } ] } } }, "404": { "description": "Token Not Found. The Id may not exist or was entered incorrectly.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notFound", "message": "Token not found" } ] } } }, "410": { "description": "Token Not Available. The token has been deleted.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notAvailable\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notAvailable", "message": "Token not available." } ] } } }, "424": { "description": "Failed Dependency: e.g. The profile represented by the profile-id may not exist or the profile-id was entered incorrectly.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notFound", "message": "Profile not found" } ] } } }, "500": { "description": "Unexpected error.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "examples": { "application/json": { "errors": [ { "type": "serverError", "message": "Internal server error" } ] } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - internalError\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } } } }, "x-example": { "example0": { "summary": "Enroll Instrument Identifier for Network Tokenization", "value": { "type": "enrollable card", "card": { "expirationMonth": "12", "expirationYear": "2031", "securityCode": "123" } } } } } }, "/tms/v2/tokens/{tokenId}/payment-credentials": { "post": { "summary": "Generate Payment Credentials for a TMS Token", "description": "| | | | \n| --- | --- | --- | \n|**Token**
A Token can represent your tokenized Customer, Payment Instrument or Instrument Identifier information.|      |**Payment Credentials**
Contains payment information such as the network token, generated cryptogram for Visa & MasterCard or dynamic CVV for Amex in a JSON Web Encryption (JWE) response.
Your system can use this API to retrieve the Payment Credentials for an existing Customer, Payment Instrument or Instrument Identifier.\n", "parameters": [ { "name": "profile-id", "in": "header", "description": "The Id of a profile containing user specific TMS configuration.", "required": false, "type": "string", "minLength": 36, "maxLength": 36, "x-hide-field": true }, { "name": "tokenId", "in": "path", "description": "The Id of a token representing a Customer, Payment Instrument or Instrument Identifier.", "required": true, "type": "string", "minLength": 1, "maxLength": 32 }, { "name": "postPaymentCredentialsRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "paymentCredentialType": { "type": "string", "description": "The type of payment credentials to be returned.\nBy default, payment credentials include network token and cryptogram or dynamic CVV.\nIf \"NETWORK_TOKEN\" is supplied then only network token will be returned and cryptogram or dynamic CVV will be excluded. \n\nPossible Values:\n - NETWORK_TOKEN\n" } } } } ], "tags": [ "Token" ], "operationId": "postTokenPaymentCredentials", "x-devcenter-metaData": { "categoryTag": "Token_Management", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tms/developer/ctv/rest/tms/tms-net-tkn-indirect/tms-net-tkn-partner-retrieve-pay-cred-intro.html" }, "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/jose;charset=utf-8" ], "responses": { "201": { "description": "A base64 encoded JSON Web Encryption (JWE) response containing encrypted Payment Credentials.\n\nExample:\n{\n\"kid\":\"a0eb65d572e556fddb68eb3a4078555605f7b283\",\n\"cty\":\"json\",\n\"typ\":\"JWT\",\n\"enc\":\"A256GCM\",\n\"alg\":\"RSA-OAEP-256\"\n}\n[Encrypted Instrument Identifier Payment Credentials]\n\nThe encrypted Payment Credentials will contain the network token and cryptogram or dynamic CVV.\n", "headers": { "uniqueTransactionID": { "description": "A globally unique id associated with your request.", "type": "string" }, "v-c-correlation-id": { "description": "The mandatory correlation id passed by upstream (calling) system.", "type": "string" } }, "schema": { "type": "string", "example": "eyJraWQiOiJhMGViNjVkNTcyZTU1NmZkZGI2OGViM2E0MDc4NTU1NjA1ZjdiMjgzIiwiY3R5IjoianNvbiIsInR5cCI6IkpXVCIsImVuYyI6IkEyNTZHQ00iLCJhbGciOiJSU0EtT0FFUC0yNTYifQ.o3V2waZn8TQgFXVJItH3EFv9IidsMQ45mskDJyAc6HVvIsT2Pw2blK1BpXv9l6JIU4pqKXzeKPTZTOLUOUoUf7Vr8bliMqCwJuHqq9Nx_qDJrL1MIGV9db8Ssog70-Cz5S6kPzWEWvLB-X8WvUsRfk9EY5Ge8r3BhcLyd-NVsIUKUBADS4-Ovrp2USlLehwVuiqbJzjblfwFCbOwAcDUBP3DGi6oZt8odrBCMV_W-1RH8KAZnS7NzkDgIRzzJoTvPLM4tMF2aSvrQG_GmZndLKeleZNa1voAdk35a2PGAyTc85vb_Eju79vV4C2nlCbxC2yImjumlJ_BZaKhj8q2xA.pWQZef3L3O0SFQtU.tfp2L0Jqqw-c4s9m7e0e8Y7eWAHVOEryLQlL3rLYPmo8OdEUaz-ftm_wpdtsycA5-iRZozDyyas6v6zqbXCMIG_Tg6cBS6cESrnBlgnkELtItv9Zw3UPSNVzoA97T0GxJVPmMkaHUkf0IAd7SXH4Zj5zCCTTDbpIwq4-TaGIxvXd_PJ4L6E1wcqEVaI6sU_PoTWvLJOFLDY_H4pjgVENVuPKVPJZodQxvpLo9L9B0zzOs4YMiv-1ACS_91vYUygBbwZuRnOD6jrW6V0J_nRQik2rCOTwV0B-Mt8nEV0xJpUByScrj91I5HBG1SEVDQPc6RJdNPM7SrPWfEc42Vc9F0oSehCpaIk7QXBCYZez629Li0KhUfqhPa5IJUygH8NB_UgfR5AcyzDr76Kq9Dht8PHPmkJVbPRdyVgkZsMmp_6GQ7Q7r2c3WrHESgbjGgsv4cz8Xui3cqw0Ni0Atozh46Kkd6yOPHC6y6IgdR32020Fs0cwTJnsAAkXy_wX4ScI9ElfpqxF9EshA9l5sHNfCPFbA2eHJUSA0x3vaRCoGCdF4GWq-2zgUEANPwkMNvHsB3E5_4gefqJi8K_nMMfekNGxFabqgkLxpqxXuyJ4cADatuE.kxPM1qm305qmJ6KuIU-9-A" } }, "400": { "description": "Bad Request: e.g. A required header value could be missing.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - invalidHeaders\n - missingHeaders\n - invalidFields\n - missingFields\n - unsupportedPaymentMethodModification\n - invalidCombination\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." }, "details": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "name": { "type": "string", "readOnly": true, "description": "The name of the field that caused the error." }, "location": { "type": "string", "readOnly": true, "description": "The location of the field that caused the error." } } } } } } } } }, "examples": { "Invalid Customer request body": { "errors": [ { "type": "invalidRequest", "message": "Invalid HTTP Body" } ] } } }, "403": { "description": "Forbidden: e.g. The profile might not have permission to perform the operation.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - forbidden\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "forbidden", "message": "Request not permitted" } ] } } }, "404": { "description": "Token Not Found. The Id may not exist or was entered incorrectly.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notFound\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notFound", "message": "Token not found" } ] } } }, "410": { "description": "Token Not Available. The token has been deleted.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - notAvailable\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } }, "examples": { "application/json": { "errors": [ { "type": "notAvailable", "message": "Token not available." } ] } } }, "500": { "description": "Unexpected error.", "headers": { "v-c-correlation-id": { "description": "The mandatory correlation Id passed by upstream (calling) system.", "type": "string" }, "uniqueTransactionID": { "description": "A globally unique Id associated with your request.", "type": "string" } }, "examples": { "application/json": { "errors": [ { "type": "serverError", "message": "Internal server error" } ] } }, "schema": { "type": "object", "readOnly": true, "properties": { "errors": { "type": "array", "readOnly": true, "items": { "type": "object", "readOnly": true, "properties": { "type": { "type": "string", "readOnly": true, "description": "The type of error.\n\nPossible Values:\n - internalError\n" }, "message": { "type": "string", "readOnly": true, "description": "The detailed message related to the type." } } } } } } } } } }, "/microform/v2/sessions": { "post": { "tags": [ "Microform Integration" ], "summary": "Generate Capture Context", "description": "This API is used to generate the Capture Context data structure for the Microform Integration. Microform is a browser-based acceptance solution that allows a seller to capture payment information is a secure manner from their website. 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=) This API is a server-to-server API to generate the capture context that can be used to initiate instance of microform on a acceptance page. The capture context is a digitally signed JWT that provides authentication, one-time keys, and the target origin to the Microform Integration application. ", "operationId": "generateCaptureContext", "x-devcenter-metaData": { "categoryTag": "Flex_Microform", "developerGuides": "https://developer.cybersource.com/api/developer-guides/dita-flex/SAFlexibleToken.html" }, "produces": [ "application/jwt" ], "parameters": [ { "in": "body", "name": "generateCaptureContextRequest", "required": true, "schema": { "type": "object", "description": "This is a server-to-server API request to generate the capture context that can be used to initiate instance of microform on a acceptance page. The capture context is a digitally signed JWT that provides authentication, one-time keys, and the target origin to the Microform Integration application. ", "properties": { "targetOrigins": { "type": "array", "items": { "type": "string", "example": "https://www.test.com" }, "description": "The merchant origin domain (e.g. https://example.com) used to initiate microform Integration. Required to comply with CORS and CSP standards." }, "allowedCardNetworks": { "type": "array", "items": { "type": "string" }, "example": [ "VISA", "MAESTRO", "MASTERCARD", "AMEX", "DISCOVER", "DINERSCLUB", "JCB", "CUP", "CARTESBANCAIRES" ] }, "clientVersion": { "type": "string", "example": "v2.0" }, "checkoutApiInitialization": { "type": "object", "properties": { "profile_id": { "type": "string", "example": "12341234-1234-1234-1234-123412341234" }, "access_key": { "type": "string", "example": "acce55acce55acce55acce55acce5500" }, "reference_number": { "type": "string", "example": 1611305732 }, "transaction_uuid": { "type": "string", "example": "1611305732-001" }, "transaction_type": { "type": "string", "example": "authorization" }, "currency": { "type": "string", "example": "USD" }, "amount": { "type": "string", "example": 100 }, "locale": { "type": "string", "example": "en-us" }, "override_custom_receipt_page": { "type": "string", "example": "https://www.test.com/recipt" }, "unsigned_field_names": { "type": "string", "example": "transient_token" } } } } } } ], "x-example": { "example0": { "summary": "Generate Capture Context simple", "value": { "targetOrigins": [ "https://www.test.com" ], "allowedCardNetworks": [ "VISA", "MAESTRO", "MASTERCARD", "AMEX", "DISCOVER", "DINERSCLUB", "JCB", "CUP", "CARTESBANCAIRES" ], "clientVersion": "v2.0" } }, "example1": { "summary": "Generate Capture Context With Checkout API", "value": { "targetOrigins": [ "https://www.test.com" ], "allowedCardNetworks": [ "VISA", "MAESTRO", "MASTERCARD", "AMEX", "DISCOVER", "DINERSCLUB", "JCB", "CUP", "CARTESBANCAIRES" ], "clientVersion": "v2.0", "checkoutApiInitialization": { "profile_id": "12341234-1234-1234-1234-123412341234", "access_key": "acce55acce55acce55acce55acce5500", "reference_number": "1611305732", "transaction_uuid": "1611305732-001", "transaction_type": "authorization", "currency": "USD", "amount": "100.00", "locale": "en-us", "override_custom_receipt_page": "https://www.test.com/recipt", "unsigned_field_names": "transient_token" } } } }, "responses": { "201": { "description": "Capture Context Created", "schema": { "type": "string" }, "examples": { "application/jwt": "eyJraWQiOiJ6dSIsImFsZyI6IlJTMjU2In0.eyJmbHgiOnsicGF0aCI6Ii9mbGV4L3YyL3Rva2VucyIsImRhdGEiOiJVUmIycEtZa2xhU0M4OW43ai9CWEJCQUFFQ1ZjVjRlU0xoTThvdDc5anRFREp4Vk1PdUFDRCtaUU03UGEydEhkbm5ENzh0MjBYcktCZVFnaUI4dysrZ0hNbHpBOUxqTng1K2MxNlo2VzJ2bGNaWGJyUmEydkUyRWFyaldlUUc0Q1pieEwiLCJvcmlnaW4iOiJodHRwczovL3Rlc3RmbGV4LmN5YmVyc291cmNlLmNvbSIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsInVzZSI6ImVuYyIsIm4iOiJod3VBT0NWcG5YWk9mTXNHWWJ6dUQyYW81dndvZGNPMVVqa2RpS3RXdEh5dmMybS1iY1hwUTRGRTk3UDk3NV9KMVJwMWJiZW5jWjNCZW1lbUJ5aU9VajlHRVVkV25raXVyNE5VWmVkQVpzelFkbFFaSlAzdzZQWVoxREFUY05ZekZwYjRXbnQzQkpKSm9XM2p3aTlMLTY1cWNuYU5SWFppRTV1V0FlQnFQY085UmNDU1BtR3lsT3REUWEzT0d5ZXFESDl0S3piU2lKNGxHMW9FcExVRWw2N003V0xXeXR1R2tsOExXUExncmkybldoaEdLS2d5cFA3bEp5Qk5IX2FxUHVOT3A3YUFVYTlvZVRqV2t0WVpqUzNqbTFjTDVkazJ6VkFGU3JkRGdTYzd1VXMtZVdkZThOYW1zZHhZTHFzX3BFSW1XU3FteDVvc2tpenZWR1A3anciLCJraWQiOiIwNzZSRjlmMEZMdVRLaU9jZkhiNU1TSkZwZzZqODY2YSJ9fSwiY3R4IjpbeyJkYXRhIjp7ImNsaWVudExpYnJhcnkiOiJodHRwczovL3Rlc3RmbGV4LmN5YmVyc291cmNlLmNvbS9taWNyb2Zvcm0vYnVuZGxlL3YxL2ZsZXgtbWljcm9mb3JtLm1pbi5qcyIsInRhcmdldE9yaWdpbnMiOlsiaHR0cHM6Ly93d3cuY3liZXJzb3VyY2UtbWVyY2hhbnQuY29tIl0sIm1mT3JpZ2luIjoiaHR0cHM6Ly90ZXN0ZmxleC5jeWJlcnNvdXJjZS5jb20ifSwidHlwZSI6Im1mLTEuMC4wIn1dLCJpc3MiOiJGbGV4IEFQSSIsImV4cCI6MTY2NDkyNzM5NywiaWF0IjoxNjY0OTI2NDk3LCJqdGkiOiJybXBWQ0NCSW9sdWhYQ2E0In0.LlunfxI-deZ_Tqypz4ucNhhF_IYsB6ZhlKndgWdJe1vv91ekePZBU6icq6aDVUAFuDR5MmjCQc7IsQNhCiZGf6uqV9YFLokhEZdnHOHkpwE1viH9GoddsdiSvBcJrYJ4FsV49JK2xRNvGTxNKR62wiO2YqPhNm934b2bbsjyYyDByw2wEZhJyAPBIDJk6IF2IvR4kq1lNyAtFs4EXVO2tqBATvj1nahqHMqUlrTsOGY96XioXl1YKnqeM1g5lREqoxR3M8HsWm2kCSsGyirIWLEaOYYEvWcKNBmkhW410XEYfb3hrg-H7irLe0_4OICdV1FyY-AsjbzO7mO17BENQg" } }, "default": { "description": "Error retrieving key.", "schema": { "type": "object", "properties": { "responseStatus": { "properties": { "status": { "type": "number", "description": "HTTP Status code." }, "reason": { "type": "string", "description": "Error Reason Code." }, "message": { "type": "string", "description": "Error Message." }, "correlationId": { "type": "string", "description": "API correlation ID." }, "details": { "type": "array", "items": { "properties": { "location": { "type": "string", "description": "Field name referred to for validation issues." }, "message": { "type": "string", "description": "Description or code of any error response." } } } } } }, "_links": { "type": "object", "properties": { "next": { "type": "array", "items": { "properties": { "href": { "type": "string", "description": "URI of the linked resource." }, "title": { "type": "string", "description": "Label of the linked resource." }, "method": { "type": "string", "description": "HTTP method of the linked resource." } } } }, "documentation": { "type": "array", "items": { "properties": { "href": { "type": "string", "description": "URI of the linked resource." }, "title": { "type": "string", "description": "Label of the linked resource." }, "method": { "type": "string", "description": "HTTP method of the linked resource." } } } }, "self": { "properties": { "href": { "type": "string", "description": "URI of the linked resource." }, "title": { "type": "string", "description": "Label of the linked resource." }, "method": { "type": "string", "description": "HTTP method of the linked resource." } } } } } } } } }, "x-samplePayload": { "targetOrigins": [ "https://www.cybersource-merchant.com" ] }, "x-sampleResponse": "eyJraWQiOiJ6dSIsImFsZyI6IlJTMjU2In0.eyJmbHgiOnsicGF0aCI6Ii9mbGV4L3YyL3Rva2VucyIsImRhdGEiOiJVUmIycEtZa2xhU0M4OW43ai9CWEJCQUFFQ1ZjVjRlU0xoTThvdDc5anRFREp4Vk1PdUFDRCtaUU03UGEydEhkbm5ENzh0MjBYcktCZVFnaUI4dysrZ0hNbHpBOUxqTng1K2MxNlo2VzJ2bGNaWGJyUmEydkUyRWFyaldlUUc0Q1pieEwiLCJvcmlnaW4iOiJodHRwczovL3Rlc3RmbGV4LmN5YmVyc291cmNlLmNvbSIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsInVzZSI6ImVuYyIsIm4iOiJod3VBT0NWcG5YWk9mTXNHWWJ6dUQyYW81dndvZGNPMVVqa2RpS3RXdEh5dmMybS1iY1hwUTRGRTk3UDk3NV9KMVJwMWJiZW5jWjNCZW1lbUJ5aU9VajlHRVVkV25raXVyNE5VWmVkQVpzelFkbFFaSlAzdzZQWVoxREFUY05ZekZwYjRXbnQzQkpKSm9XM2p3aTlMLTY1cWNuYU5SWFppRTV1V0FlQnFQY085UmNDU1BtR3lsT3REUWEzT0d5ZXFESDl0S3piU2lKNGxHMW9FcExVRWw2N003V0xXeXR1R2tsOExXUExncmkybldoaEdLS2d5cFA3bEp5Qk5IX2FxUHVOT3A3YUFVYTlvZVRqV2t0WVpqUzNqbTFjTDVkazJ6VkFGU3JkRGdTYzd1VXMtZVdkZThOYW1zZHhZTHFzX3BFSW1XU3FteDVvc2tpenZWR1A3anciLCJraWQiOiIwNzZSRjlmMEZMdVRLaU9jZkhiNU1TSkZwZzZqODY2YSJ9fSwiY3R4IjpbeyJkYXRhIjp7ImNsaWVudExpYnJhcnkiOiJodHRwczovL3Rlc3RmbGV4LmN5YmVyc291cmNlLmNvbS9taWNyb2Zvcm0vYnVuZGxlL3YxL2ZsZXgtbWljcm9mb3JtLm1pbi5qcyIsInRhcmdldE9yaWdpbnMiOlsiaHR0cHM6Ly93d3cuY3liZXJzb3VyY2UtbWVyY2hhbnQuY29tIl0sIm1mT3JpZ2luIjoiaHR0cHM6Ly90ZXN0ZmxleC5jeWJlcnNvdXJjZS5jb20ifSwidHlwZSI6Im1mLTEuMC4wIn1dLCJpc3MiOiJGbGV4IEFQSSIsImV4cCI6MTY2NDkyNzM5NywiaWF0IjoxNjY0OTI2NDk3LCJqdGkiOiJybXBWQ0NCSW9sdWhYQ2E0In0.LlunfxI-deZ_Tqypz4ucNhhF_IYsB6ZhlKndgWdJe1vv91ekePZBU6icq6aDVUAFuDR5MmjCQc7IsQNhCiZGf6uqV9YFLokhEZdnHOHkpwE1viH9GoddsdiSvBcJrYJ4FsV49JK2xRNvGTxNKR62wiO2YqPhNm934b2bbsjyYyDByw2wEZhJyAPBIDJk6IF2IvR4kq1lNyAtFs4EXVO2tqBATvj1nahqHMqUlrTsOGY96XioXl1YKnqeM1g5lREqoxR3M8HsWm2kCSsGyirIWLEaOYYEvWcKNBmkhW410XEYfb3hrg-H7irLe0_4OICdV1FyY-AsjbzO7mO17BENQg" } }, "/risk/v1/decisions": { "post": { "summary": "Create Decision Manager", "description": "Decision Manager can help you automate and streamline your fraud operations. Decision Manager will return a decision based on the request values.", "operationId": "createBundledDecisionManagerCase", "tags": [ "Decision Manager" ], "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/hal+json;charset=utf-8" ], "x-devcenter-metaData": { "categoryTag": "Risk_Management", "disableDefaultMerchantCreds": "true", "disabledReason": "DM API response is a mock response, Please integrate with DM API to test the real-time response from the server." }, "parameters": [ { "name": "createBundledDecisionManagerCaseRequest", "in": "body", "required": true, "schema": { "type": "object", "required": [ "orderInformation" ], "properties": { "clientReferenceInformation": { "type": "object", "required": [ "code" ], "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "pausedRequestId": { "type": "string", "maxLength": 26, "description": "Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call.\n" }, "comments": { "type": "string", "maxLength": 255, "description": "Brief description of the order or any comment you wish to add to the order.\n" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } } } }, "processorInformation": { "type": "object", "description": "Contains information related to the payment processor.", "properties": { "avs": { "type": "object", "description": "Address Verification Service", "properties": { "code": { "type": "string", "maxLength": 3, "description": "Value returned for address verification from the Payments Authorization response." } } }, "cardVerification": { "type": "object", "properties": { "resultCode": { "type": "string", "maxLength": 1, "description": "CVN result code.\n\nFor details, see the `auth_cv_result` reply field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" } } } } }, "processingInformation": { "type": "object", "description": "Decides whether to call Payer Authentication or Watchlist Screening service along with DM or not.", "properties": { "actionList": { "type": "array", "description": "- Use `CONSUMER_AUTHENTICATION` to use Payer Authentication along with Decision Manager. For any other value, only Decision Manager will run.\n- Use `WATCHLIST_SCREENING` when you want to call Watchlist Screening service.\n", "items": { "type": "string" } } } }, "paymentInformation": { "type": "object", "description": "Contains the payment data for this transaction.", "properties": { "card": { "type": "object", "description": "Use this for a non-tokenized payment card.", "properties": { "number": { "type": "string", "maxLength": 20, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n\n#### FDMS Nashville\nRequired. String (19)\n\n#### GPX\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `014`: Enroute[^1]\n- `021`: JAL[^1]\n- `024`: Maestro (UK Domestic)[^1]\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `042`: Maestro (International)[^1]\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `054`: Elo[^3]\n- `062`: China UnionPay\n- '070': EFTPOS\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "bin": { "type": "string", "maxLength": 6, "description": "description: The BIN is the first six digits of the card's Primary Account Number (PAN).\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nValid values: `01` through `12`. Leading 0 is required.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value\n(`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is\nin the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause\nthe issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (_type_=039), if there is no expiration date on the card, use `12`.\n\n#### FDMS Nashville\nRequired field.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the payment card expires.\n\nFormat: `YYYY`.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`1900` through `3000`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (**_type_**`=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDMS Nashville\nRequired field.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. If you send in 2 digits, they must be the last 2 digits of the year.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" } } }, "tokenizedCard": { "type": "object", "description": "Use this object to submit a payment network token instead of card-based values.", "properties": { "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it specifies the entity that\nprovided you with information about the token.\n\nPossible value:\n- `2`: Near-field communication (NFC) transaction. The customer's mobile device provided the token data for a contactless EMV transaction. For recurring\ntransactions, use this value if the original transaction was a contactless EMV transaction.\n\n#### Visa Platform Connect\n- `1`: For Rupay and In App tokenization. Example: InApp apple pay.\n- `3`: Card/Credential On File Tokenization.\n\n**NOTE** No CyberSource through VisaNet acquirers support EMV at this time.\n\nRequired field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.\n\n#### Rupay\n- `3`: Card/Credential On File Tokenization.\n- `4`: Tokenizined Transaction. Should be used for Guest Checkout transactions with token.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `014`: Enroute[^1]\n- `021`: JAL[^1]\n- `024`: Maestro (UK Domestic)[^1]\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `042`: Maestro (International)[^1]\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `054`: Elo[^3]\n- `062`: China UnionPay\n- '070': EFTPOS\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "number": { "type": "string", "maxLength": 20, "description": "Customer's payment network token value.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "One of two possible meanings:\n- The two-digit month in which a token expires.\n- The two-digit month in which a card expires.\nFormat: `MM`\nPossible values: `01` through `12`\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_type=039`), if there is no expiration date on the card, use `12`.\\\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Samsung Pay and Apple Pay\nMonth in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\nFor processor-specific information, see the `customer_cc_expmo` field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n\nFor processor-specific information, see the `customer_cc_expyr` or `token_expiration_year` field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" } } }, "customer": { "type": "object", "properties": { "customerId": { "type": "string", "description": "Unique identifier for the customer's card and billing information.\n\nWhen you use Payment Tokenization or Recurring Billing and you include this value in\nyour request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n\n**NOTE** When you use Payment Tokenization or Recurring Billing, the value for the Customer ID is actually the Cybersource payment token for a customer. This token stores information such as the consumer's card number so it can be applied towards bill payments, recurring payments, or one-time payments. By using this token in a payment API request, the merchant doesn't need to pass in data such as the card number or expiration date in the request itself.\n\nFor details, see the `subscription_id` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "id": { "type": "string", "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "bank": { "type": "object", "properties": { "account": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 1, "description": "Account type.\n\nPossible values:\n - **C**: Checking.\n - **G**: General ledger. This value is supported only on Wells Fargo ACH.\n - **S**: Savings (U.S. dollars only).\n - **X**: Corporate checking (U.S. dollars only).\n" }, "number": { "type": "string", "maxLength": 17, "description": "Account number.\n\nWhen processing encoded account numbers, use this field for the encoded account number.\n" }, "encoderId": { "type": "string", "maxLength": 3, "description": "Identifier for the bank that provided the customer's encoded account number.\n\nTo obtain the bank identifier, contact your processor.\n\nFor details, see `account_encoder_id` request-level field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "checkNumber": { "type": "string", "maxLength": 8, "description": "Check number.\n\nChase Paymentech Solutions - Optional.\nCyberSource ACH Service - Not used.\nRBS WorldPay Atlanta - Optional on debits. Required on credits.\nTeleCheck - Strongly recommended on debit requests. Optional on credits.\n" }, "checkImageReferenceNumber": { "type": "string", "maxLength": 32, "description": "Image reference number associated with the check. You cannot include any special characters.\n" }, "iban": { "type": "string", "maxLength": 50, "description": "International Bank Account Number (IBAN) for the bank account. For some countries you can provide this number instead of the traditional bank account information. You can use this field only when scoring a direct debit transaction.\n\nFor all possible values, see the `bank_iban` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" } } }, "routingNumber": { "type": "string", "maxLength": 9, "description": "Bank routing number. This is also called the _transit number_.\n\nFor details, see `ecp_rdfi` request field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" }, "iban": { "type": "string", "maxLength": 50, "description": "International Bank Account Number (IBAN) for the bank account. For some countries you can provide this number instead of the traditional bank account information. You can use this field only when scoring a direct debit transaction.\n\nFor all possible values, see the `bank_iban` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "swiftCode": { "type": "string", "description": "Bank's SWIFT code. You can use this field only when scoring a direct debit transaction.\nRequired only for crossborder transactions.\n\nFor all possible values, see the `bank_swiftcode` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "code": { "type": "string", "maxLength": 50, "description": "Bank code of the consumer's account\n" } } }, "method": { "type": "string", "maxLength": 10, "description": "Method of payment used for the order. This field can contain one of the following values:\n - `consumer` (default): Customer credit card\n - `corporate`: Corporate credit card\n - `debit`: Debit card, such as a Maestro (UK Domestic) card\n - `cod`: Collect on delivery\n - `check`: Electronic check\n - `p2p`: Person-to-person payment\n - `private1`: Private label credit card\n - `other`: Other payment method\n" } } }, "orderInformation": { "type": "object", "description": "Contains detailed order-level information.", "properties": { "amountDetails": { "type": "object", "description": "Contains `currency` and `totalAmount` for this order.", "required": [ "currency" ], "properties": { "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. For details, see:\n- \"Authorization Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Capture Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Credit Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\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. For details, see \"Zero Amount Authorizations,\" \"Credit Information for Specific Processors\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\nRequired for creating a new invoice.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. For details, see `grand_total_amount` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in \"Authorization Information for Specific Processors\" of the [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### DCC for First Data\nNot used.\n" } } }, "preOrder": { "type": "string", "description": "Indicates whether cardholder is placing an order with a future availability or release date.\nThis field can contain one of these values:\n- MERCHANDISE_AVAILABLE: Merchandise available\n- FUTURE_AVAILABILITY: Future availability\n" }, "preOrderDate": { "type": "string", "maxLength": 10, "description": "Expected date that a pre-ordered purchase will be available. Format: YYYYMMDD\n" }, "cutoffDateTime": { "type": "string", "description": "Starting date and time for an event or a journey that is independent of which transportation mechanism, in UTC. The cutoffDateTime will supersede travelInformation.departureTime if both are supplied in the request.\nFormat: YYYY-MM-DDThh:mm:ssZ. Example 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the time. The Z indicates UTC.\n" }, "reordered": { "type": "boolean", "description": "Indicates whether the cardholder is reordering previously purchased merchandise.\nThis field can contain one of these values:\n- false: First time ordered\n- true: Reordered\n" }, "shippingDetails": { "type": "object", "description": "Contains shipping information not related to address.", "properties": { "giftWrap": { "type": "boolean", "description": "Boolean that indicates whether the customer requested gift wrapping for this\npurchase. This field can contain one of the following\nvalues:\n- true: The customer requested gift wrapping.\n- false: The customer did not request gift wrapping.\n" }, "shippingMethod": { "type": "string", "maxLength": 10, "description": "Shipping method for the product. Possible values:\n\n - `lowcost`: Lowest-cost service\n - `sameday`: Courier or same-day service\n - `oneday`: Next-day or overnight service\n - `twoday`: Two-day service\n - `threeday`: Three-day service\n - `pickup`: Store pick-up\n - `other`: Other shipping method\n - `none`: No shipping method because product is a service or subscription\n" } } }, "shipTo": { "type": "object", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "First line of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Second line of the shipping address.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "address3": { "type": "string", "maxLength": 60, "description": "Third line of the shipping address.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", "maxLength": 2 }, "destinationTypes": { "type": "string", "maxLength": 25, "description": "Shipping destination of item. Example: Commercial, Residential, Store\n" }, "locality": { "type": "string", "maxLength": 50, "description": "City of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S. or\nCanada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "firstName": { "type": "string", "maxLength": 60, "description": "First name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Last name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" }, "middleName": { "type": "string", "maxLength": 60, "description": "Middle name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Phone number associated with the shipping address." }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "destinationCode": { "type": "integer", "maxLength": 2, "description": "Indicates destination chosen for the transaction. Possible values:\n- 01- Ship to cardholder billing address\n- 02- Ship to another verified address on file with merchant\n- 03- Ship to address that is different than billing address\n- 04- Ship to store (store address should be populated on request)\n- 05- Digital goods\n- 06- Travel and event tickets, not shipped\n- 07- Other\n" }, "method": { "type": "string", "maxLength": 10, "description": "Shipping method for the product. Possible values:\n- lowcost: Lowest-cost service\n- sameday: Courier or same-day service\n- oneday: Next-day or overnight service\n- twoday: Two-day service\n- threeday: Three-day service\n- pickup: Store pick-up\n- other: Other shipping method\n- none: No shipping method because product is a service or subscription\nRequired for American Express SafeKey (U.S.).\n" } } }, "returnsAccepted": { "type": "boolean", "description": "Boolean that indicates whether returns are accepted for this order.\nThis field can contain one of the following values:\n- true: Returns are accepted for this order.\n- false: Returns are not accepted for this order.\n" }, "lineItems": { "type": "array", "description": "This array contains detailed information about individual products in the order.", "items": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 13, "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" }, "unitPrice": { "type": "string", "maxLength": 15, "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in the [Merchant Descriptors Using the SCMP API Guide.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Merchant_Descriptors_SCMP_API/html/)\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" }, "quantity": { "type": "integer", "minimum": 1, "maximum": 999999999, "default": 1, "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "giftCardCurrency": { "type": "integer", "maxLength": 3, "description": "When `orderInformation.lineItems[].productCode` is \"gift_card\", this is the\ncurrency used for the gift card purchase.\n\nFor details, see `pa_gift_card_currency` field description in [CyberSource Payer Authentication Using the SCMP API.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Payer_Authentication_SCMP_API/Payer_Authentication_SCMP_API.pdf)\n\nFor the possible values, see the [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n" }, "productSKU": { "type": "string", "maxLength": 255, "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" }, "productRisk": { "type": "string", "maxLength": 6, "description": "Indicates the level of risk for the product. This field can contain one of the following values:\n- `low`: The product is associated with few chargebacks.\n- `normal`: The product is associated with a normal number of chargebacks.\n- `high`: The product is associated with many chargebacks.\n" }, "productDescription": { "type": "string", "description": "Brief description of item." }, "productName": { "type": "string", "maxLength": 255, "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "productCode": { "type": "string", "maxLength": 255, "description": "Type of product. The value for this field is used to identify the product category (electronic, handling, physical,\nservice, or shipping). The default value is `default`.\n\nIf you are performing an authorization transaction (`processingOptions.capture` is set to `false`), and you set\nthis field to a value other than `default` or one of the values related to shipping and/or handling, then\n`orderInformation.lineItems[].quantity`, `orderInformation.lineItems[].productName`, and\n`orderInformation.lineItems[].productSku` fields are required.\n\nOptional field.\n\nFor details, see the `product_code` field description in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nThe Product Codes for the tax service are located in the Cybersource Tax Codes guide. Contact Customer Support to request the guide. If you don't send a tax service Product Code in your tax request, product-based rules or exemptions will not be applied and the transaction will default to fully taxable in the locations where you've indicated you need to collect tax [by way of nexus, no nexus, or seller registration number fields].\n" }, "gift": { "type": "boolean", "description": "This field is only used in DM service.\n\nDetermines whether to assign risk to the order if the billing and shipping addresses specify different cities,\nstates, or countries. This field can contain one of the following values:\n- true: Orders are assigned only slight additional risk if billing and shipping addresses are different.\n- false: Orders are assigned higher additional risk if billing and shipping addresses are different.\n" }, "distributorProductSku": { "type": "string", "maxLength": 15, "description": "Product's identifier code. This field is inserted into the outgoing message without being parsed or formatted.\nThis field is included as Distributor product SKU (Offer) in the list of API fields with which you can create\ncustom rules.\n" }, "passenger": { "type": "object", "description": "Contains travel-related passenger details used by DM service only.", "properties": { "type": { "type": "string", "maxLength": 32, "description": "Passenger classification associated with the price of the ticket. You can use one of the following values:\n- `ADT`: Adult\n- `CNN`: Child\n- `INF`: Infant\n- `YTH`: Youth\n- `STU`: Student\n- `SCR`: Senior Citizen\n- `MIL`: Military\n" }, "status": { "type": "string", "maxLength": 32, "description": "Your company's passenger classification, such as with a frequent flyer program. In this case, you might use\nvalues such as `standard`, `gold`, or `platinum`.\n" }, "phone": { "type": "string", "maxLength": 15, "description": "Passenger's phone number. If the order is from outside the U.S., CyberSource recommends that you include\nthe [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" }, "firstName": { "type": "string", "maxLength": 60, "description": "Passenger's first name." }, "lastName": { "type": "string", "maxLength": 60, "description": "Passenger's last name." }, "id": { "type": "string", "maxLength": 40, "description": "ID of the passenger to whom the ticket was issued. For example, you can use this field for the frequent flyer\nnumber.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Passenger's email address, including the full domain name, such as jdoe@example.com." }, "nationality": { "type": "string", "maxLength": 2, "description": "Passenger's nationality country. Use the two character [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)." } } }, "shippingDestinationTypes": { "type": "string", "maxLength": 50, "description": "Destination to where the item will be shipped. Example: Commercial, Residential, Store\n" }, "taxAmount": { "type": "string", "maxLength": 15, "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" }, "allowedExportCountries": { "type": "array", "items": { "type": "string", "description": "Comma-separated list of ISO country codes for countries to which the product can be exported.\n\nFor all possible values, see the \"Country and Territory Postal System Categories\" section in the [CyberSource Verification Services Using the SCMP API.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Verification_Svcs_SCMP_API/html/)\n\nIf country codes are not specified, or if this field is not included, the U.S. government's country\ncode list is used.\n\n**Note** The default list of countries restricted by the U.S. always applies. Any country not\nspecifically added to the export field is considered restricted.\n" } }, "restrictedExportCountries": { "type": "array", "items": { "type": "string", "description": "Comma-separated list of ISO country codes for countries to which the product cannot be exported.\n\nFor all possible values, see the \"Country and Territory Postal System Categories\" section in the [CyberSource Verification Services Using the SCMP API.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Verification_Svcs_SCMP_API/html/)\n\n**Note** If the export field is also present, the content of the `restrictedExportCountries`\nfield overrides the content of export.\n" } } } } }, "billTo": { "type": "object", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### SEPA/BACS\nRequired for Create Mandate and Import Mandate\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called _CyberSource Latin American Processing_. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### RBS WorldPay Atlanta\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n\nIt is recommended that you include the country code when the order is from outside the U.S.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nOptional field.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\nFor processor-specific information, see the `customer_email` request-level field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" } } }, "totalOffersCount": { "type": "string", "maxLength": 2, "description": "Total number of articles/items in the order as a numeric decimal count.\nPossible values: 00 - 99\n" } } }, "buyerInformation": { "type": "object", "description": "Contains information about the buyer.", "properties": { "merchantCustomerId": { "type": "string", "maxLength": 100, "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n\nFor processor-specific information, see the `customer_account_id` field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "username": { "type": "string", "maxLength": 255, "description": "Specifies the customer account user name." }, "hashedPassword": { "type": "string", "maxLength": 100, "description": "The merchant's password that CyberSource hashes and stores as a hashed password.\n\nFor details about this field, see the `customer_password` field description in _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "dateOfBirth": { "type": "string", "maxLength": 8, "description": "Recipient's date of birth. **Format**: `YYYYMMDD`.\n\nThis field is a `pass-through`, which means that CyberSource ensures that the value is eight numeric characters\nbut otherwise does not verify the value or modify it in any way before sending it to the processor. If the field\nis not required for the transaction, CyberSource does not forward it to the processor.\n\nFor more details, see `recipient_date_of_birth` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "The type of the identification.\n\nPossible values:\n - `NATIONAL`\n - `CPF`\n - `CPNJ`\n - `CURP`\n - `SSN`\n - `DRIVER_LICENSE`\n - `PASSPORT_NUMBER`\n - `PERSONAL_ID`\n - `TAX_ID`\n\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\nFor processor-specific information, see the `personal_id` field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\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.\n\nFor processor-specific information, see the `personal_id` field in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n \nIf `type = PASSPORT`, this is the cardholder's passport number.\nRecommended for Discover ProtectBuy.\n" }, "issuedBy": { "type": "string", "description": "The government agency that issued the driver's license or passport.\n\nIf **type**` = DRIVER_LICENSE`, this is the State or province where the customer's driver's license was issued.\n\nIf **type**` = PASSPORT`, this is the Issuing country for the cardholder's passport. Recommended for Discover ProtectBuy.\n\nUse the two-character [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\n#### TeleCheck\nContact your TeleCheck representative to find out whether this field is required or optional.\n\n#### All Other Processors\nNot used.\n\nFor details about the country that issued the passport, see `customer_passport_country` field description in [CyberSource Payer Authentication Using the SCMP API]\n(https://apps.cybersource.com/library/documentation/dev_guides/Payer_Authentication_SCMP_API/html/)\n\nFor details about the state or province that issued the passport, see `driver_license_state` field description in [Electronic Check Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" }, "verificationResults": { "type": "string", "description": "Verification results received from Issuer or Card Network for verification transactions. Response Only Field.\n" } } } } } }, "deviceInformation": { "type": "object", "properties": { "cookiesAccepted": { "type": "string", "description": "Whether the customer's browser accepts cookies. This field can contain one of the following values:\n- `yes`: The customer's browser accepts cookies.\n- `no`: The customer's browser does not accept cookies.\n" }, "ipAddress": { "type": "string", "maxLength": 45, "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" }, "hostName": { "type": "string", "maxLength": 60, "description": "DNS resolved hostname from `ipAddress`." }, "fingerprintSessionId": { "type": "string", "description": "Field that contains the session ID that you send to Decision Manager to obtain the device fingerprint\ninformation. The string can contain uppercase and lowercase letters, digits, hyphen (-), and\nunderscore (_). However, do not use the same uppercase and lowercase letters to indicate\ndifferent session IDs.\n\nThe session ID must be unique for each merchant ID. You can use any string that you are already\ngenerating, such as an order number or web session ID.\n\nThe session ID must be unique for each page load, regardless of an individual's web session ID.\nIf a user navigates to a profiled page and is assigned a web session, navigates away from the\nprofiled page, then navigates back to the profiled page, the generated session ID should be different\nand unique. You may use a web session ID, but it is preferable to use an application GUID (Globally\nUnique Identifier). This measure ensures that a unique ID is generated every time the page is\nloaded, even if it is the same user reloading the page.\n" }, "httpBrowserEmail": { "type": "string", "description": "Email address set in the customer's browser, which may differ from customer email.\n" }, "userAgent": { "type": "string", "maxLength": 40, "description": "Customer's browser as identified from the HTTP header data. For example, `Mozilla` is the value that identifies\nthe Netscape browser.\n" }, "rawData": { "type": "array", "items": { "type": "object", "properties": { "data": { "type": "string", "description": "Field that contains the device fingerprint data from the specified provider. The value should be Base64 encoded.\n" }, "provider": { "type": "string", "maxLength": 32, "description": "Possible values:\n- cardinal\n- inauth\n- threatmetrix\n" } } } }, "httpAcceptBrowserValue": { "type": "string", "maxLength": 255, "description": "Value of the Accept header sent by the customer's web browser.\n**Note** If the customer's browser provides a value, you must include it in your request.\n" }, "httpAcceptContent": { "type": "string", "maxLength": 256, "description": "The exact content of the HTTP accept header.\n" }, "httpBrowserLanguage": { "type": "string", "maxLength": 8, "description": "Value represents the browser language as defined in IETF BCP47.\nExample:en-US, refer https://en.wikipedia.org/wiki/IETF_language_tag for more details.\n" }, "httpBrowserJavaEnabled": { "type": "boolean", "description": "A Boolean value that represents the ability of the cardholder browser to execute Java.\nValue is returned from the navigator.javaEnabled property. Possible Values:True/False\n" }, "httpBrowserJavaScriptEnabled": { "type": "boolean", "description": "A Boolean value that represents the ability of the cardholder browser to execute JavaScript. Possible Values:True/False.\n**Note**: Merchants should be able to know the values from fingerprint details of cardholder's browser.\n" }, "httpBrowserColorDepth": { "type": "string", "maxLength": 2, "description": "Value represents the bit depth of the color palette for displaying images, in bits per pixel.\nExample : 24, refer https://en.wikipedia.org/wiki/Color_depth for more details\n" }, "httpBrowserScreenHeight": { "type": "string", "maxLength": 6, "description": "Total height of the Cardholder's scree in pixels, example: 864.\n" }, "httpBrowserScreenWidth": { "type": "string", "maxLength": 6, "description": "Total width of the cardholder's screen in pixels. Example: 1536.\n" }, "httpBrowserTimeDifference": { "type": "string", "maxLength": 5, "description": "Time difference between UTC time and the cardholder browser local time, in minutes, Example:300\n" }, "userAgentBrowserValue": { "type": "string", "maxLength": 255, "description": "Value of the User-Agent header sent by the customer's web browser.\nNote If the customer's browser provides a value, you must include it in your request.\n" } } }, "riskInformation": { "type": "object", "properties": { "profile": { "type": "object", "description": "Identifies a risk profile.", "properties": { "name": { "type": "string", "maxLength": 30, "description": "Name of the active profile chosen by the profile selector. If no profile selector exists,\nthe default active profile is chosen.\n\n**Note** By default, your default profile is the active profile, or the Profile Selector chooses the active profile. Use this field\nonly if you want to specify the name of a different profile. The passed-in profile will then become the active profile.\n" } } }, "eventType": { "type": "string", "maxLength": 255, "description": "Specifies one of the following types of events:\n- login\n- account_creation\n- account_update\nFor regular payment transactions, do not send this field.\n" }, "buyerHistory": { "type": "object", "properties": { "customerAccount": { "type": "object", "properties": { "lastChangeDate": { "type": "string", "maxLength": 10, "description": "Date the cardholder's account was last changed.\nThis includes changes to the billing or shipping address, new payment accounts or new users added.\nRecommended for Discover ProtectBuy.\n" }, "creationHistory": { "type": "string", "description": "The values from the enum can be:\n- GUEST\n- NEW_ACCOUNT\n- EXISTING_ACCOUNT\n" }, "modificationHistory": { "type": "string", "description": "This field is applicable only in case of EXISTING_ACCOUNT in creationHistory. Possible values:\n- ACCOUNT_UPDATED_NOW\n- ACCOUNT_UPDATED_PAST\n" }, "passwordHistory": { "type": "string", "description": "This only applies for EXISTING_ACCOUNT in creationHistory.\nThe values from the enum can be:\n- PASSWORD_CHANGED_NOW\n- PASSWORD_CHANGED_PAST\n- PASSWORD_NEVER_CHANGED\n" }, "createDate": { "type": "string", "maxLength": 10, "description": "Date the cardholder opened the account.\nRecommended for Discover ProtectBuy.\nThis only applies for EXISTING_ACCOUNT in creationHistory.\n" }, "passwordChangeDate": { "type": "string", "maxLength": 10, "description": "Date the cardholder last changed or reset password on account.\nRecommended for Discover ProtectBuy.\nThis only applies for PASSWORD_CHANGED_PAST in passwordHistory.\n" } } }, "accountHistory": { "type": "object", "properties": { "firstUseOfShippingAddress": { "type": "boolean", "description": "Applicable when this is not a guest account.\n" }, "shippingAddressUsageDate": { "type": "string", "maxLength": 10, "description": "Date when the shipping address for this transaction was first used.\nRecommended for Discover ProtectBuy.\nIf `firstUseOfShippingAddress` is false and not a guest account, then this date is entered.\n" } } }, "accountPurchases": { "type": "integer", "maxLength": 4, "description": "Number of purchases with this cardholder account during the previous six months.\nRecommended for Discover ProtectBuy.\n" }, "addCardAttempts": { "type": "integer", "maxLength": 3, "description": "Number of add card attempts in the last 24 hours.\nRecommended for Discover ProtectBuy.\n" }, "priorSuspiciousActivity": { "type": "boolean", "description": "Indicates whether the merchant experienced suspicious activity (including previous fraud) on the account.\nRecommended for Discover ProtectBuy.\n" }, "paymentAccountHistory": { "type": "string", "description": "This only applies for NEW_ACCOUNT and EXISTING_ACCOUNT in creationHistory. Possible values are:\n- PAYMENT_ACCOUNT_EXISTS\n- PAYMENT_ACCOUNT_ADDED_NOW\n" }, "paymentAccountDate": { "type": "integer", "maxLength": 8, "description": "Date applicable only for PAYMENT_ACCOUNT_EXISTS in paymentAccountHistory\n" }, "transactionCountDay": { "type": "integer", "maxLength": 3, "description": "Number of transaction (successful or abandoned) for this cardholder account within the last 24 hours.\nRecommended for Discover ProtectBuy.\n" }, "transactionCountYear": { "type": "integer", "maxLength": 3, "description": "Number of transaction (successful or abandoned) for this cardholder account within the last year.\nRecommended for Discover ProtectBuy.\n" } } }, "auxiliaryData": { "type": "array", "items": { "type": "object", "description": "Contains auxiliary key-value pairs.", "properties": { "key": { "type": "string", "maxLength": 255, "description": "Fields that you can use to send additional data to Risk services.\n**Warning** Auxiliary fields are not intended to and MUST NOT\nbe used to capture personally identifying information.\nAccordingly, merchants are prohibited from capturing,\nobtaining, and/or transmitting any personally identifying\ninformation in or via the auxiliary data fields. Personally\nidentifying information includes, but is not limited to,\naddress, credit card number, social security number,\ndriver's license number, state-issued identification\nnumber, passport number, and card verification numbers\n(CVV, CVC2, CVV2, CID, CVN). In the event CyberSource\ndiscovers that a merchant is capturing and/or transmitting\npersonally identifying information via the auxiliary data\nfields, whether or not intentionally, CyberSource WILL\nimmediately suspend the merchant's account, which will\nresult in a rejection of any and all transaction requests\nsubmitted by the merchant after the point of suspension.\n" }, "value": { "type": "string", "maxLength": 255, "description": "String value for the key" } } } } } }, "travelInformation": { "type": "object", "properties": { "actualFinalDestination": { "type": "string", "maxLength": 3, "description": "IATA Code for the actual final destination that the customer intends to travel to.\nIt should be a destination on the completeRoute.\n" }, "completeRoute": { "type": "string", "maxLength": 255, "description": "Concatenation of individual travel legs in the format ORIG1-DEST1[:ORIG2-DEST2...:ORIGn-DESTn], for\nexample, SFO-JFK:JFK-LHR:LHR-CDG. For airport codes, see the IATA Airline and Airport Code Search.\nNote In your request, send either the complete route or the individual legs (_leg#_orig and _leg#_dest). If you\nsend all the fields, the value of _complete_route takes precedence over that of the _leg# fields.\n" }, "departureTime": { "type": "string", "maxLength": 25, "description": "Departure date and time of the first leg of the trip. Use one of the following formats:\n - yyyy-MM-dd HH:mm z\n - yyyy-MM-dd hh:mm a z\n - yyyy-MM-dd hh:mma z\n HH = hour in 24-hour format\n hh = hour in 12-hour format\n a = am or pm (case insensitive)\n z = time zone of the departing flight, for example: If the\n airline is based in city A, but the flight departs from city\n B, z is the time zone of city B at the time of departure.\nImportant For travel information, use GMT instead of UTC, or use the local time zone.\nExamples\n2011-03-20 11:30 PM PDT\n2011-03-20 11:30pm GMT\n2011-03-20 11:30pm GMT-05:00\nEastern Standard Time: GMT-05:00 or EST\nNote When specifying an offset from GMT, the format must be exactly as specified in the example. Insert no\nspaces between the time zone and the offset.\n" }, "journeyType": { "type": "string", "maxLength": 32, "description": "Type of travel, for example one way or round trip." }, "legs": { "type": "array", "items": { "type": "object", "properties": { "origination": { "type": "string", "maxLength": 3, "description": "Use to specify the airport code for the origin of the leg of the trip, which is designated by the pound (#)\nsymbol in the field name. This code is usually three digits long, for example: SFO = San Francisco.\nDo not use the colon (:) or the dash (-). For airport codes, see the IATA Airline and Airport Code Search.\nThe leg number can be a positive integer from 0 to N.\nFor example:\n`travelInformation.legs.0.origination=SFO`\n`travelInformation.legs.1.origination=SFO`\n\n**Note** In your request, send either the complete route or the individual legs (`legs.0.origination` and `legs.n.destination`). If you\nsend all the fields, the complete route takes precedence over the individual legs.\n\nFor details, see the `decision_manager_travel_leg#_orig` field description in _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "destination": { "type": "string", "maxLength": 3, "description": "Use to specify the airport code for the destination of the leg of the trip, which is designated by the pound (#)\nsymbol in the field name. This code is usually three digits long, for example: SFO = San Francisco. Do not use the\ncolon (:) or the dash (-). For airport codes, see [IATA Airline and Airport Code Search](https://www.iata.org/publications/Pages/code-search.aspx). The leg number can be a\npositive integer from 0 to N.\nFor example:\n\n`travelInformation.legs.0.destination=SFO`\n`travelInformation.legs.1.destination=SFO`\n\n**Note** In your request, send either the complete route or the individual legs (`legs.0.origination` and `legs.n.destination`). If you\nsend all the fields, the complete route takes precedence over the individual legs.\n\nFor details, see the `decision_manager_travel_leg#_dest` field description in _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "carrierCode": { "type": "string", "maxLength": 2, "description": "International Air Transport Association (IATA) code for the carrier for this leg of the trip.\nRequired for each leg.\nRequired for American Express SafeKey (U.S.) for travel-related requests.\n" }, "departureDate": { "type": "string", "description": "Departure date for the first leg of the trip. Format: YYYYMMDD.\nRequired for American Express SafeKey (U.S.) for travel-related requests.\n" } } } }, "numberOfPassengers": { "type": "integer", "maxLength": 3, "description": "Number of passengers for whom the ticket was issued.\nIf you do not include this field in your request, CyberSource uses a default value of 1.\nRequired for American Express SafeKey (U.S.) for travel-related requests.\n" }, "passengers": { "type": "array", "items": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "First name of the passenger to whom the ticket was issued.\nIf there are multiple passengers, include all listed on the ticket.\nDo not include special characters such as commas, hyphens, or apostrophes.\nOnly ASCII characters are supported.\nRequired for American Express SafeKey (U.S.) for travel-related requests.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Last name of the passenger to whom the ticket was issued.\nIf there are multiple passengers, include all listed on the ticket.\nDo not include special characters such as commas, hyphens, or apostrophes.\nOnly ASCII characters are supported.\nRequired for American Express SafeKey (U.S.) for travel-related requests.\n" } } } } } }, "merchantDefinedInformation": { "type": "array", "items": { "type": "object", "description": "Contains merchant-defined key-value pairs.", "properties": { "key": { "type": "string", "maxLength": 255, "description": "Fields that you can use to store information. The value\nappears in the Case Management Details window in the\nBusiness Center. The first four fields are the same fields\nthat are used by the Secure Data services. See request\ncode examples.\n**Warning** Merchant-defined data fields are not intended\nto and must not be used to capture personally identifying\ninformation. Accordingly, merchants are prohibited from\ncapturing, obtaining, and/or transmitting any personally\nidentifying information in or via the merchant-defined data\nfields. Personally identifying information includes, but is\nnot limited to, address, credit card number, social security\nnumber, driver's license number, state-issued\nidentification number, passport number, and card\nverification numbers (CVV, CVC2, CVV2, CID, CVN). In\nthe event CyberSource discovers that a merchant is\ncapturing and/or transmitting personally identifying\ninformation via the merchant-defined data fields, whether\nor not intentionally, CyberSource will immediately\nsuspend the merchant's account, which will result in a\nrejection of any and all transaction requests submitted by\nthe merchant after the point of suspension.\n" }, "value": { "type": "string", "maxLength": 255, "description": "String value for the key" } } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "name": { "type": "string", "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" }, "url": { "type": "string", "maxLength": 255, "description": "Address of company's website provided by merchant\n" } } }, "merchantName": { "type": "string", "maxLength": 25, "description": "Your company's name as you want it to appear to the customer in the issuing bank's authentication form.\nThis value overrides the value specified by your merchant bank.\n" } } }, "acquirerInformation": { "type": "object", "properties": { "acquirerBin": { "type": "string", "maxLength": 11, "description": "Acquirer bank ID number that corresponds to a certificate that Cybersource already has.This ID has this format. 4XXXXX for Visa and 5XXXXX for Mastercard.\n" }, "country": { "type": "string", "maxLength": 2, "description": "Issuers need to be aware of the Acquirer's Country Code when the Acquirer country differs from the Merchant country and the Acquirer is in the EEA (European Economic Area).\n" }, "password": { "type": "string", "maxLength": 8, "description": "Registered password for the Visa directory server.\n" }, "merchantId": { "type": "string", "maxLength": 15, "description": "Username for the visa directory server that is created when your acquirer sets up your account. This ID might be the same as your merchant ID. the username can be 15 or 23 characters.\n" } } }, "recurringPaymentInformation": { "type": "object", "description": "This object contains recurring payment information.", "properties": { "endDate": { "type": "string", "maxLength": 10, "description": "The date after which no further recurring authorizations should be performed. Format: `YYYY-MM-DD`\n**Note** This field is required for recurring transactions.\n" }, "frequency": { "type": "integer", "maxLength": 4, "description": "Integer value indicating the minimum number of days between recurring authorizations. A frequency\nof monthly is indicated by the value 28. Multiple of 28 days will be used to indicate months.\n\nExample: 6 months = 168\n\nExample values accepted (31 days):\n- 31\n- 031\n- 0031\n\n**Note** This field is required for recurring transactions.\n" }, "numberOfPayments": { "type": "integer", "maxLength": 3, "description": "Total number of payments for the duration of the recurring subscription.\n" }, "originalPurchaseDate": { "type": "string", "maxLength": 17, "description": "Date of original purchase. Required for recurring transactions.\nFormat: `YYYY-MM-DDTHH:MM:SSZ`\n**Note**: If this field is empty, the current date is used.\n" }, "sequenceNumber": { "type": "integer", "maxLength": 3, "description": "This field is mandatory for Cartes Bancaires recurring transactions on Credit Mutuel-CIC. \nThis field records recurring sequence, e.g. 1st for initial, 2 for subsequent, 3 etc\n" }, "type": { "type": "string", "maxLength": 1, "description": "This contains the type of recurring payment.\nValid Values :\n1 - Registration/First transaction\n2 - Subsequent transaction\n3 - Modification\n4 - Cancellation\n" }, "occurrence": { "type": "string", "maxLength": 2, "description": "This value indicates how often a recurring payment occurs.\nValid Values :\n\u2022 01 (Daily)\n\u2022 02 (Twice weekly)\n\u2022 03 (Weekly)\n\u2022 04 (Ten days)\n\u2022 05 (Fortnightly)\n\u2022 06 (Monthly)\n\u2022 07 (Every two months)\n\u2022 08 (Trimester)\n\u2022 09 (Quarterly)\n\u2022 10 (Twice yearly)\n\u2022 11 (Annually)\n\u2022 12 (Unscheduled)\n" }, "validationIndicator": { "type": "string", "maxLength": 1, "description": "This tag will contain a value that indicates whether or not the recurring payment transaction has been validated.\nValid values :\n0- Not validated\n1- Validated\n" }, "amountType": { "type": "string", "maxLength": 1, "description": "Indicates recurring amount type agreed by the cardholder\nValid Values :\n1- Fixed amount recurring payment\n2- Recurring payment with maximum amount\n" }, "maximumAmount": { "type": "string", "maxLength": 12, "description": "This API field will contain the maximum amount agreed to by the cardholder. The currency of this amount\nwill be specified in Field 49\u2014Currency Code,Transaction.\n" }, "referenceNumber": { "type": "string", "maxLength": 35, "description": "This will contain a unique reference number for the recurring payment transaction.\n" } } }, "consumerAuthenticationInformation": { "type": "object", "properties": { "strongAuthentication": { "type": "object", "properties": { "authenticationIndicator": { "type": "string", "maxLength": 2, "description": "Indicates the type of Authentication request\n\n01 - Payment transaction\n\n02 - Recurring transaction\n\n03 - Installment transaction\n\n04 - Add card\n\n05 - Maintain card\n\n06 - Cardholder verification as part of EMV token ID and V\n" } } }, "authenticationType": { "type": "string", "maxLength": 2, "description": "Indicates the type of authentication that will be used to challenge the card holder.\n\nPossible Values:\n\n01 - Static\n\n02 - Dynamic\n\n03 - OOB (Out of Band)\n\n04 - Decoupled\n\n20 - OTP hosted at merchant end. (Rupay S2S flow)\n**NOTE**: EMV 3-D Secure version 2.1.0 supports values 01-03. Version 2.2.0 supports values 01-04. Decoupled authentication is not supported at this time.\n" }, "acsWindowSize": { "type": "string", "maxLength": 2, "description": "An override field that a merchant can pass in to set the challenge window size to display to the end cardholder. The ACS (Active Control Server) will reply with content that is formatted appropriately to this window size to allow for the best user experience. The sizes are width x height in pixels of the window displayed in the cardholder browser window.\n\n01 - 250x400\n\n02 - 390x400\n\n03 - 500x600\n\n04 - 600x400\n\n05 - Full page\n" }, "alternateAuthenticationData": { "type": "string", "maxLength": 2048, "description": "Data that documents and supports a specific authentication process.\n" }, "alternateAuthenticationDate": { "type": "string", "maxLength": 14, "description": "Date and time in UTC of the cardholder authentication. Format: YYYYMMDDHHMM\n" }, "alternateAuthenticationMethod": { "type": "string", "description": "Mechanism used by the cardholder to authenticate to the 3D Secure requestor.\nPossible values:\n- `01`: No authentication occurred\n- `02`: Login using merchant system credentials\n- `03`: Login using Federated ID\n- `04`: Login using issuer credentials\n- `05`: Login using third-party authenticator\n- `06`: Login using FIDO Authenticator\n" }, "authenticationDate": { "type": "string", "maxLength": 14, "description": "The date/time of the authentication at the 3DS servers. RISK update authorization service in auth request\npayload with value returned in `consumerAuthenticationInformation.alternateAuthenticationData` if merchant calls via CYBS or field can be\nprovided by merchant in authorization request if calling an external 3DS provider.\n\nThis field is supported for Cartes Bancaires Fast'R transactions on Credit Mutuel-CIC.\nFormat: YYYYMMDDHHMMSS\n" }, "authenticationTransactionId": { "type": "string", "maxLength": 26, "description": "Payer authentication transaction identifier passed to link the check enrollment\nand validate authentication messages.For Rupay,this is passed only in Re-Send OTP usecase.\n**Note**: Required for Standard integration, Rupay Seamless server to server integration for enroll service.\nRequired for Hybrid integration for validate service.\n" }, "transactionFlowIndicator": { "type": "integer", "maxLength": 2, "description": "This field is only applicable to Rupay and is optional. Merchant will have to pass a valid value from 01 through 07 which indicates the transaction flow. Below are the possible values.\n01:NW- Transaction performed at domestic merchant.\n02:TW- Transaction performed at domestic merchant along with Token provisioning.\n03:IT- Transaction performed at International merchant.\n04:AT- Authentication Transaction Only.\n05:AW- Authentication transaction for provisioning.\n06:DI- Domestic InApp Transaction.\n07:II- International InApp transaction.\n08:GC- Guest Checkout\n09:ST- SI Authentication Transaction only\n10:SW- SI Authorization along with token provisioning\n" }, "challengeCancelCode": { "type": "string", "maxLength": 2, "description": "An indicator as to why the transaction was canceled.\nPossible Values:\n\n- `01`: Cardholder selected Cancel.\n- `02`: Reserved for future EMVCo use (values invalid until defined by EMVCo).\n- `03`: Transaction Timed Out\u2014Decoupled Authentication\n- `04`: Transaction timed out at ACS\u2014other timeouts\n- `05`: Transaction Timed out at ACS - First CReq not received by ACS\n- `06`: Transaction Error\n- `07`: Unknown\n- `08`: Transaction Timed Out at SDK\n" }, "challengeCode": { "type": "string", "description": "Possible values:\n- `01`: No preference\n- `02`: No challenge request\n- `03`: Challenge requested (3D Secure requestor preference)\n- `04`: Challenge requested (mandate)\n- `05`: No challenge requested (transactional risk analysis is already performed)\n- `06`: No challenge requested (Data share only)\n- `07`: No challenge requested (strong consumer authentication is already performed)\n- `08`: No challenge requested (utilize whitelist exemption if no challenge required)\n- `09`: Challenge requested (whitelist prompt requested if challenge required)\n**Note** This field will default to `01` on merchant configuration and can be overridden by the merchant.\nEMV 3D Secure version 2.1.0 supports values `01-04`. Version 2.2.0 supports values `01-09`.\n\nFor details, see `pa_challenge_code` field description in [CyberSource Payer Authentication Using the SCMP API.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Payer_Authentication_SCMP_API/html)\n" }, "challengeStatus": { "type": "string", "maxLength": 2, "description": "The `consumerAuthenticationInformation.challengeCode` indicates the authentication type/level, or challenge, that was presented to the cardholder\nat checkout by the merchant when calling the Carte Bancaire 3DS servers via CYBS RISK services. It conveys to\nthe issuer the alternative authentication methods that the consumer used.\n" }, "customerCardAlias": { "type": "string", "maxLength": 128, "description": "An alias that uniquely identifies the customer's account and credit card on file.\nNote This field is required if Tokenization is enabled in the merchant profile settings.\n" }, "decoupledAuthenticationIndicator": { "type": "string", "maxLength": 1, "description": "Indicates whether the 3DS Requestor requests the ACS to utilize Decoupled Authentication and agrees to utilize Decoupled Authentication if the ACS confirms its use.\n\nPossible Values:\n\nY - Decoupled Authentication is supported and preferred if challenge is necessary\n\nN - Do not use Decoupled Authentication\n\n**Default Value**: N\n" }, "decoupledAuthenticationMaxTime": { "type": "string", "maxLength": 5, "description": "Indicates the maximum amount of time that the 3DS Requestor will wait for an ACS (Active control server) to provide the results of a Decoupled Authentication transaction (in minutes).\nPossible Values: Numeric values between 1 and 10080 accepted.\n" }, "defaultCard": { "type": "boolean", "description": "Indicates that the card being used is the one designated as the primary payment card for purchase.\nRecommended for Discover ProtectBuy.\n" }, "deviceChannel": { "type": "string", "maxLength": 10, "description": "Determines the channel that the transaction came through. Possible Values: SDK/Browser/3RI. 3RI - 3DS request initiated.\n" }, "installmentTotalCount": { "type": "integer", "maxLength": 4, "description": "An integer value greater than 1 indicating the max number of permitted authorizations for installment payments.\n**Note** This is required if the merchant and cardholder have agreed to installment payments.\n" }, "merchantFraudRate": { "type": "string", "maxLength": 2, "description": "Calculated by merchants as per PSD2** RTS** (EEA** card fraud divided by all EEA card volumes).\nPossible Values:\n1 = Represents fraud rate <=1\n\n2 = Represents fraud rate >1 and <=6\n\n3 = Represents fraud rate >6 and <=13\n\n4 = Represents fraud rate >13 and <=25\n\n5 = Represents fraud rate >25\n\nEEA** = European Economic Area\nRTS** = Regulatory Technical Standards\nPSD2** = Payment Services Directive\n" }, "marketingOptIn": { "type": "boolean", "description": "Indicates whether the customer has opted in for marketing offers.\nRecommended for Discover ProtectBuy.\n" }, "marketingSource": { "type": "string", "maxLength": 40, "description": "Indicates origin of the marketing offer. Recommended for Discover ProtectBuy.\n" }, "mcc": { "type": "string", "maxLength": 4, "description": "Merchant category code.\n**Important** Required only for Visa Secure transactions in Brazil.\nDo not use this request field for any other types of transactions.\n" }, "merchantScore": { "type": "integer", "maxLength": 2, "description": "Risk Score provided by merchants. This is specific for CB transactions.\n" }, "messageCategory": { "type": "string", "description": "Category of the message for a specific use case. Possible values:\n\n- `01`: PA- payment authentication\n- `02`: NPA- non-payment authentication\n- `03-79`: Reserved for EMVCo future use (values invalid until defined by EMVCo)\n- `80-99`: Reserved for DS use\n" }, "npaCode": { "type": "string", "maxLength": 2, "description": "Non-Payer Authentication Indicator.\nPossible values:\n- `01`: Add card\n- `02`: Maintain card information\n- `03`: Cardholder verification for EMV token\n- `04-80` Reserved for EMVCo\n- `80-90` Reserved DS\n" }, "overridePaymentMethod": { "type": "string", "description": "Specifies the Brazilian payment account type used for the transaction.\nThis field overrides other payment types that might be specified in the request.\nUse one of the following values for this field:\n- `NA`: Not applicable. Do not override other payment types that are specified in the request.\n- `CR`: Credit card.\n- `DB`: Debit card.\n- `VSAVR`: Visa Vale Refeicao\n- `VSAVA`: Visa Vale Alimentacao\n**Important** Required only for Visa Secure transactions in Brazil.\nDo not use this request field for any other types of transactions.\n" }, "overrideCountryCode": { "type": "string", "maxLength": 2, "description": "Two-character [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)..\n" }, "priorAuthenticationData": { "type": "string", "maxLength": 2048, "description": "This field carry data that the ACS can use to verify the authentication process.\n" }, "priorAuthenticationMethod": { "type": "string", "maxLength": 2, "description": "Mechanism used by the Cardholder to previously authenticate to the 3DS Requestor.\n\n01 - Frictionless authentication occurred by ACS\n\n02 - Cardholder challenge occurred by ACS\n\n03 - AVS verified\n\n04 - Other issuer methods\n\n05-79 - Reserved for EMVCo future use (values invalid until defined by EMVCo)\n\n80-99 - Reserved for DS use\n" }, "priorAuthenticationReferenceId": { "type": "string", "maxLength": 36, "description": "This data element contains a ACS Transaction ID for a prior authenticated transaction.\nFor example, the first recurring transaction that was authenticated with the cardholder\n" }, "priorAuthenticationTime": { "type": "string", "maxLength": 12, "description": "Date and time in UTC of the prior cardholder authentication. Format \u2013 YYYYMMDDHHMM\n" }, "productCode": { "type": "string", "maxLength": 3, "description": "Specifies the product code, which designates the type of transaction.\nSpecify one of the following values for this field:\n- AIR: Airline purchase\nImportant Required for American Express SafeKey (U.S.).\n- `ACC`: Accommodation Rental\n- `ACF`: Account funding\n- `CHA`: Check acceptance\n- `DIG`: Digital Goods\n- `DSP`: Cash Dispensing\n- `GAS`: Fuel\n- `GEN`: General Retail\n- `LUX`: Luxury Retail\n- `PAL`: Prepaid activation and load\n- `PHY`: Goods or services purchase\n- `QCT`: Quasi-cash transaction\n- `REN`: Car Rental\n- `RES`: Restaurant\n- `SVC`: Services\n- `TBD`: Other\n- `TRA`: Travel\n**Important** Required for Visa Secure transactions in Brazil.\nDo not use this request field for any other types of transactions.\n" }, "returnUrl": { "type": "string", "maxLength": 2048, "description": "The URL of the merchant's return page. CyberSource adds this return URL to the step-up JWT and returns it in the\nresponse of the Payer Authentication enrollment call. The merchant's return URL page serves as a listening URL.\nOnce the bank session completes, the merchant receives a POST to their URL. This response contains the completed\nbank session's transactionId. The merchant's return page should capture the transaction ID and send it in the\nPayer Authentication validation call.\n" }, "requestorId": { "type": "string", "maxLength": 35, "description": "Cardinal's directory server assigned 3DS Requestor ID value" }, "requestorInitiatedAuthenticationIndicator": { "type": "string", "maxLength": 2, "description": "Indicates the type of 3RI request.\n\nPossible Values:\n\n01 - Recurring transaction\n\n02 - Installment transaction\n\n03 - Add card\n\n04 - Maintain card\n\n05 - Account verification\n\n06 - Split/delayed shipment\n\n07 - Top-up\n\n08 - Mail Order\n\n09 - Telephone Order\n\n10 - Whitelist status check\n\n11 - Other payment\n" }, "requestorName": { "type": "string", "maxLength": 40, "description": "Cardinal's directory server assigned 3DS Requestor Name value" }, "referenceId": { "type": "string", "maxLength": 50, "description": "Reference ID that corresponds to the device fingerprinting data that was collected previously.\nNote Required for Hybrid integration.\n" }, "sdkMaxTimeout": { "type": "string", "maxLength": 2, "description": "This field indicates the maximum amount of time for all 3DS 2.0 messages to be communicated between all components (in minutes).\n\nPossible Values:\n\nGreater than or equal to 05 (05 is the minimum timeout to set)\n\nCardinal Default is set to 15\n\nNOTE: This field is a required 3DS 2.0 field and Cardinal sends in a default of 15 if nothing is passed\n" }, "secureCorporatePaymentIndicator": { "type": "string", "maxLength": 1, "description": "Indicates dedicated payment processes and procedures were used, potential secure corporate payment exemption applies.\nPossible Values : 0/1\n" }, "transactionMode": { "type": "string", "description": "Transaction mode identifier. Identifies the channel from which the transaction originates.\nPossible values:\n\n- `M`: MOTO (Mail Order Telephone Order)\n- `R`: Retail\n- `S`: eCommerce\n- `P`: Mobile Device\n- `T`: Tablet\n" }, "whiteListStatus": { "type": "string", "maxLength": 1, "description": "Enables the communication of trusted beneficiary/whitelist status between the ACS, the DS and the 3DS Requestor.\n\nPossible Values:\n\nY - 3DS Requestor is whitelisted by cardholder\n\nN - 3DS Requestor is not whitelisted by cardholder\n" }, "scoreRequest": { "type": "integer", "description": "Risk Assessment from Mastercard. This is to be sent by merchant if they would like to request a score" } } }, "watchlistScreeningInformation": { "type": "object", "properties": { "addressOperator": { "type": "string", "description": "Parts of the customer's information that must match with an entry in the DPL (denied parties list)\nbefore a match occurs. This field can contain one of the following values:\n- AND: (default) The customer's name or company and the customer's address must appear in the database.\n- OR: The customer's name must appear in the database.\n- IGNORE: You want the service to detect a match only of the customer's name or company but not of the address.\n" }, "weights": { "type": "object", "properties": { "address": { "type": "string", "maxLength": 6, "description": "Degree of correlation between a customer's address and an entry in the DPL\nbefore a match occurs. This field can contain one of the following values:\n- exact: The address must be identical to the entry in the DPL.\n- high: (default) The address cannot differ significantly from the entry in the DPL.\n- medium: The address can differ slightly more from the entry in the DPL.\n- low: The address can differ significantly from the entry in the DPL.\n" }, "company": { "type": "string", "maxLength": 6, "description": "Degree of correlation between a company address and an entry in the DPL\nbefore a match occurs. This field can contain one of the following values:\n- exact: The company name must be identical to the entry in the DPL.\n- high: (default) The company name cannot differ significantly from the entry in the DPL.\n- medium: The company name can differ slightly more from the entry in the DPL.\n- low: The company name can differ significantly from the entry in the DPL.\n" }, "name": { "type": "string", "maxLength": 6, "description": "Degree of correlation between a customer's name and an entry in the DPL\nbefore a match occurs. This field can contain one of the following values:\n- exact: The name must be identical to the entry in the DPL.\n- high: (default) The name cannot differ significantly from the entry in the DPL.\n- medium: The name can differ slightly more from the entry in the DPL.\n- low: The name can differ significantly the entry in the DPL.\n" } } }, "sanctionLists": { "type": "array", "items": { "type": "string", "maxLength": 255 }, "description": "Use this field to specify which list(s) you want checked with the request.\nThe reply will include the list name as well as the response data.\nTo check against multiple lists, enter multiple list codes separated by a caret (^).\nFor more information, see \"Restricted and Denied Parties List,\" page 68.\n" }, "proceedOnMatch": { "type": "boolean", "description": "Indicates whether the transaction should proceed if there is a match.\nPossible values:\n- `true`: Transaction proceeds even when match is found in the Denied Parties List. The match is noted in the response.\n- `false`: Normal watchlist screening behavior occurs. (Transaction stops if a match to DPL occurs. Transaction proceeds if no match.)\n" } } }, "tokenInformation": { "type": "object", "properties": { "jti": { "type": "string", "maxLength": 64, "description": "TMS Transient Token, 64 hexadecimal id value representing captured payment credentials (including Sensitive Authentication Data, e.g. CVV).\n" } } } } } } ], "responses": { "201": { "description": "Successful response", "schema": { "title": "riskV1DecisionsPost201Response", "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." } } }, "reversal": { "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." } } }, "capture": { "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." } } }, "customer": { "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." } } }, "paymentInstrument": { "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." } } }, "shippingAddress": { "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." } } }, "instrumentIdentifier": { "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.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "submitTimeLocal": { "type": "string", "description": "Time that the transaction was submitted in local time. Generated by Cybersource." }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - `ACCEPTED`\n - `REJECTED`\n - `PENDING_REVIEW`\n - `DECLINED`\n - `PENDING_AUTHENTICATION`\n - `INVALID_REQUEST`\n - `AUTHENTICATION_FAILED`\n - `CHALLENGE`\n" }, "riskInformation": { "type": "object", "description": "Contains the result of risk assessment.", "properties": { "profile": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 30, "description": "Name of the active profile chosen by the profile selector. If no profile selector exists,\nthe default active profile is chosen.\n\n**Note** By default, your default profile is the active profile, or the Profile Selector chooses the active profile. Use this field\nonly if you want to specify the name of a different profile. The passed-in profile will then become the active profile.\n" }, "desinationQueue": { "type": "string", "maxLength": 255, "description": "Name of the queue where orders that are not automatically accepted are sent.\n" }, "selectorRule": { "type": "string", "maxLength": 255, "description": "Name of the profile selector rule that chooses the profile to use for the\ntransaction. If no profile selector exists, the value is Default Active Profile.\n" } } }, "rules": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 255, "description": "Description of the rule as it appears in the Profile Editor." }, "decision": { "type": "string", "maxLength": 255, "description": "Summarizes the result for the rule according to the setting that you chose in the Profile Editor.\nThis field can contain one of the following values:\n- `IGNORE`\n- `REVIEW`\n- `REJECT`\n- `ACCEPT`\n" } } } }, "infoCodes": { "type": "object", "properties": { "velocity": { "type": "array", "description": "List of information codes triggered by the order. These information codes were generated when you created\nthe order and product velocity rules and are returned so that you can associate them with the rules.\n", "items": { "type": "string", "description": "Indicates excessive volume of transactions." } }, "address": { "type": "array", "description": "Indicates a mismatch between the customer's billing and shipping addresses.\n", "items": { "type": "string" } }, "customerList": { "type": "array", "description": "Indicates that customer information is associated with transactions that are either on the negative or\nthe positive list.\n", "items": { "type": "string" } }, "deviceBehavior": { "type": "array", "description": "Indicates the device behavior information code(s) returned from device fingerprinting.\n", "items": { "type": "string" } }, "identityChange": { "type": "array", "description": "Indicates excessive identity changes. The threshold is variable depending on the identity elements being\ncompared.\n", "items": { "type": "string" } }, "internet": { "type": "array", "description": "Indicates a problem with the customer's email address, IP address, or billing address.\n", "items": { "type": "string" } }, "phone": { "type": "array", "description": "Indicates a problem with the customer's phone number.\n", "items": { "type": "string" } }, "suspicious": { "type": "array", "description": "Indicates that the customer provided potentially suspicious information.\n", "items": { "type": "string" } }, "globalVelocity": { "type": "array", "description": "Indicates that the customer has a high purchase frequency.\n", "items": { "type": "string" } } } }, "velocity": { "type": "object", "properties": { "morphing": { "type": "array", "description": "List of information codes triggered by the order. These information codes were generated when you created the order and product velocity rules and are returned so that you can associate them with the rules.\n\nReturned by scoring service.\n", "items": { "type": "object", "properties": { "count": { "type": "integer", "maxLength": 5, "description": "Morphing count specified by the number #.\n\n**Note** The count is not returned for the initial transaction.\n" }, "fieldName": { "type": "string", "maxLength": 255, "description": "Field name of the morphing element. specified by the setting that you chose in the\nVelocity Editor.\n\nFor all possible values, see the `decisionReply_morphingElement_#_fieldName` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "informationCode": { "type": "string", "maxLength": 255, "description": "Identifier that CyberSource assigned to the velocity rule specified by the number #.\n\nFor all possible values, see the `decision_velocity_morphing_#_info_code` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > \n" } } } }, "address": { "type": "array", "items": { "type": "string", "maxLength": 255, "description": "Indicates a mismatch between the customer's billing and shipping addresses.\n\nFor all possible values, see the `score_address_info` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" } } } }, "casePriority": { "type": "integer", "maxLength": 1, "description": "You receive this field only if you subscribe to the Enhanced Case Management service. The priority level ranges from 1 (highest) to 5 (lowest); the default value is 3. If you do not assign a priority to your rules or to your profiles, the default value is given to the order.\n\nFor all possible values, see the `decision_case_priority` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "localTime": { "type": "string", "maxLength": 255, "description": "The customer's local time (`hh:mm:ss`), which is calculated from the transaction request time and the\ncustomer's billing address.\n\nFor details, see the `score_time_local` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/)\n" }, "score": { "type": "object", "properties": { "factorCodes": { "type": "array", "items": { "type": "string", "description": "This field contains information that affected the score of the order.\nThis field will contain one or more codes, separated by carets (^).\n\nFor all possible values, see the `score_factors` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" } }, "modelUsed": { "type": "string", "maxLength": 255, "description": "Name of the score model used for the transaction. If you did not include a custom model in your request,\nthis field contains the name of CyberSource's default model.\n\nFor all possible values, see the `score_model_used` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "result": { "type": "string", "maxLength": 255, "description": "Total score calculated for this order. The value cannot be negative.\n\nFor all possible values, see the `score_score_result` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" } } }, "ipAddress": { "type": "object", "description": "Contains detailed response information about the customer's IP address.", "properties": { "anonymizerStatus": { "type": "string", "maxLength": 255, "description": "Indicates whether the transaction IP address is associated with a known anonymous proxy.\n\nFor all possible values, see the `score_ip_anonymizer_status` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "locality": { "type": "string", "maxLength": 255, "description": "Name of the city decoded from the IP address used directly or indirectly by the customer to send the order.\n\nFor all possible values, see the `score_ip_city` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "country": { "type": "string", "maxLength": 255, "description": "Name of the country decoded from the IP address used directly or indirectly by the customer to send the order.\n\nFor all possible values, see the `score_ip_country` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "administrativeArea": { "type": "string", "maxLength": 255, "description": "Name of the state decoded from the IP address used directly or indirectly by the customer to send the order.\n\nFor all possible values, see the `score_ip_state` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "routingMethod": { "type": "string", "maxLength": 255, "description": "Routing method decoded from the IP address used directly or indirectly by the customer to send the order.\n\nFor all possible values, see the `score_ip_routing_method` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "carrier": { "type": "string", "maxLength": 255, "description": "Provides the name of the organization that owns the ASN. The carrier is responsible for the traffic carried on the network or set of networks designated as an Autonomous System (AS) and identified by the ASN.\nWhile there are more than 27,000 active ASNs, there are fewer carriers, because a single carrier often manages several ASNs.\n" }, "organization": { "type": "string", "maxLength": 255, "description": "The Registering Organization is the entity responsible for the actions and content associated with a given block of IP addresses. This is in contrast to the carrier, which is responsible for the routing of traffic for network blocks. Registering Organizations include many types of entities, including corporate, government, or educational entities, and ISPs managing the allocation and use of network blocks.\n" } } }, "providers": { "type": "object", "description": "Name of the 3rd party provider, for example, Emailage.\nFor all possible values, see the `decision_provider_#_name` field description in the _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).", "additionalProperties": { "type": "object", "description": "Field name, for example, email address domain name (domain_name).\n\nFor all possible values, see the `decision_provider_#_field_#_name` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n", "additionalProperties": { "type": "string" } } }, "travel": { "type": "object", "properties": { "actualFinalDestination": { "type": "object", "properties": { "country": { "type": "string", "maxLength": 90, "description": "Country of actual final destination on the route." }, "locality": { "type": "string", "maxLength": 90, "description": "City of actual final destination on the route." }, "latitude": { "type": "string", "maxLength": 10, "description": "Latitude of actual final destination on the route." }, "longitude": { "type": "string", "maxLength": 10, "description": "Longitude of actual final destination on the route." } } }, "firstDeparture": { "type": "object", "properties": { "country": { "type": "string", "maxLength": 90, "description": "Country of first departure on the route." }, "locality": { "type": "string", "maxLength": 90, "description": "City of first departure on the route." }, "latitude": { "type": "string", "maxLength": 10, "description": "Latitude of first departure on the route." }, "longitude": { "type": "string", "maxLength": 10, "description": "Longitude of first departure on the route." } } }, "firstDestination": { "type": "object", "properties": { "country": { "type": "string", "maxLength": 90, "description": "Country of first destination on the route." }, "locality": { "type": "string", "maxLength": 90, "description": "City of first destination on the route." }, "latitude": { "type": "string", "maxLength": 10, "description": "Latitude of first destination on the route." }, "longitude": { "type": "string", "maxLength": 10, "description": "Longitude of first destination on the route." } } }, "lastDestination": { "type": "object", "properties": { "country": { "type": "string", "maxLength": 90, "description": "Country of last destination on the route." }, "locality": { "type": "string", "maxLength": 90, "description": "City of last destination on the route." }, "latitude": { "type": "string", "maxLength": 10, "description": "Latitude of last destination on the route." }, "longitude": { "type": "string", "maxLength": 10, "description": "Longitude of last destination on the route." } } } } }, "processorResults": { "type": "object", "properties": { "fraudDecision": { "type": "string", "maxLength": 60, "description": "Type of filter. Possible values:\n- ACCEPT\n- PENDING\n- DENY\n- REPORT\n" }, "fraudDecisionReason": { "type": "string", "maxLength": 60, "description": "possible values\n- AVS_NO_MATCH\n- AVS_PARTIAL_MATCH\n- AVS_UNAVAILABLE_OR_UNSUPPORTED\n- CARD_SECURITY_CODE_MISMATCH\n- MAXIMUM_TRANSACTION_AMOUNT\n- UNCONFIRMED_ADDRESS\n- COUNTRY_MONITOR\n- LARGE_ORDER_NUMBER\n- BILLING_OR_SHIPPING_ADDRESS_MISMATCH\n- RISKY_ZIP_CODE\n- SUSPECTED_FREIGHT_FORWARDER_CHECK\n- TOTAL_PURCHASE_PRICE_MINIMUM\n- IP_ADDRESS_VELOCITY\n- RISKY_EMAIL_ADDRESS_DOMAIN_CHECK\n- RISKY_BANK_IDENTIFICATION_NUMBER_CHECK,\nRISKY_IP_ADDRESS_RANGE\n- PAYPAL_FRAUD_MODEL\n" } } } } }, "paymentInformation": { "type": "object", "description": "Contains response information about the payment.", "properties": { "binCountry": { "type": "string", "maxLength": 255, "description": "Country (two-digit country code) associated with the BIN of the customer's card used for the payment.\nReturned if the information is available. Use this field for additional information when reviewing orders.\nThis information is also displayed in the details page of the CyberSource Business Center.\n\nFor all possible values, see the `bin_country` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "accountType": { "type": "string", "maxLength": 255, "description": "Type of payment card account. This field can refer to a credit card, debit card, or prepaid card\naccount type.\n\nFor all possible values, see the `score_card_account_type` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "issuer": { "type": "string", "maxLength": 255, "description": "Name of the bank or entity that issued the card account.\n\nFor all possible values, see the `score_card_issuer` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "scheme": { "type": "string", "maxLength": 255, "description": "Subtype of card account. This field can contain one of the following values:\n- Maestro International\n- Maestro UK Domestic\n- MasterCard Credit\n- MasterCard Debit\n- Visa Credit\n- Visa Debit\n- Visa Electron\n\n**Note** Additional values may be present.\n\nFor all possible values, see the `score_card_scheme` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "bin": { "type": "string", "maxLength": 255, "description": "Credit card BIN (the first six digits of the credit card).Derived either from the `cc_bin` request field\nor from the first six characters of the `customer_cc_num` field.\n\nFor all possible values, see the `score_cc_bin` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" } } }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "comments": { "type": "string", "maxLength": 255, "description": "Brief description of the order or any comment you wish to add to the order.\n" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" } } } } }, "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.\nNote - Max Length of this field is 2048 characters.\n" }, "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.\n" }, "acsTransactionId": { "type": "string", "maxLength": 36, "description": "Unique transaction identifier assigned by the ACS to identify a single transaction.\n" }, "acsUrl": { "type": "string", "maxLength": 2048, "description": "URL for the card-issuing bank's authentication form that you receive when the card is enrolled.\nThe value can be very large.\n" }, "authenticationPath": { "type": "string", "description": "Indicates what displays to the customer during the authentication process.\nThis field can contain one of these values:\n- `ADS`: (Card not enrolled) customer prompted to activate the card during the checkout process.\n- `ATTEMPTS`: (Attempts processing) Processing briefly displays before the checkout process is completed.\n- `ENROLLED`: (Card enrolled) the card issuer's authentication window displays.\n- `UNKNOWN`: Card enrollment status cannot be determined.\n- `NOREDIRECT`: (Card not enrolled, authentication unavailable, or error occurred) nothing displays to the customer.\n\nThe following values can be returned if you are using rules-based payer authentication.\n- `RIBA`: The card-issuing bank supports risk-based authentication, but whether the cardholder is likely\nto be challenged cannot be determined.\n- `RIBA_PASS`: The card-issuing bank supports risk-based authentication and it is likely that the\ncardholder will not be challenged to provide credentials, also known as _silent authentication_.\n\nFor details about possible values, see `pa_enroll_authentication_path` field description and \"Rules-Based Payer Authentication\"\nin [CyberSource Payer Authentication Using the SCMP API.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Payer_Authentication_SCMP_API/html/)\n" }, "authorizationPayload": { "type": "string", "description": "The Base64 encoded JSON Payload of CB specific Authorization Values returned in the challenge Flow\n" }, "authenticationType": { "type": "string", "maxLength": 2, "description": "Indicates the type of authentication that will be used to challenge the card holder.\n\nPossible Values:\n\n01 - Static\n\n02 - Dynamic\n\n03 - OOB (Out of Band)\n\n04 - Decoupled\n\n20 - OTP hosted at merchant end. (Rupay S2S flow)\n**NOTE**: EMV 3-D Secure version 2.1.0 supports values 01-03. Version 2.2.0 supports values 01-04. Decoupled authentication is not supported at this time.\n" }, "authenticationTransactionId": { "type": "string", "maxLength": 26, "description": "Payer authentication transaction identifier is used to link the check\nenrollment and validate authentication messages. For Rupay, this field should be passed as request only for Resend OTP use case.\n" }, "authenticationTransactionContextId": { "type": "string", "maxLength": 30, "description": "Payer authentication transaction identifier passed to link the validation and authorization calls.\n" }, "validityPeriod": { "type": "integer", "maxLength": 2, "description": "Describes validity of OTP in minutes for incoming transaction. .\n" }, "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.\nFor example, \"Additional authentication is needed for this transaction, please contact (Issuer Name) at xxx-xxx-xxxx.\".\nThe Issuing Bank can optionally support this value.\n" }, "cavv": { "type": "string", "maxLength": 255, "description": "Unique identifier generated by the card-issuing bank for Visa, American Express, JCB, Diners Club, and\nDiscover transactions after the customer is authenticated. The value is in base64. When you\nrequest the card authorization service, CyberSource automatically converts the value, not the field name,\nto the format required by your payment processor.\n" }, "cavvAlgorithm": { "type": "string", "maxLength": 1, "description": "Field that is returned only when the CAVV is generated, which occurs when paresStatus\ncontains the values Y (successful authentication) or A (attempted authentication). If\nyou use the ATOS processor, send the value of this field in the `cavv_algorithm` request field of the\nauthorization service. This field contains one of these values:\n- `2`: Visa, American Express, JCB, Diners Club, and Discover\n- `3`: Mastercard\n" }, "challengeCancelCode": { "type": "string", "maxLength": 2, "description": "An indicator as to why the transaction was canceled.\nPossible Values:\n\n- `01`: Cardholder selected Cancel.\n- `02`: Reserved for future EMVCo use (values invalid until defined by EMVCo).\n- `03`: Transaction Timed Out\u2014Decoupled Authentication\n- `04`: Transaction timed out at ACS\u2014other timeouts\n- `05`: Transaction Timed out at ACS - First CReq not received by ACS\n- `06`: Transaction Error\n- `07`: Unknown\n- `08`: Transaction Timed Out at SDK\n" }, "challengeRequired": { "type": "string", "maxLength": 1, "description": "Indicates whether a challenge is required in order to complete authentication.\n**Note** Regional mandates might determine that a challenge is required.\n\nPossible values:\n- `Y`: Challenge required\n- `N`: Challenge not required\n**Note** Used by the Hybrid integration.\n" }, "decoupledAuthenticationIndicator": { "type": "string", "maxLength": 1, "description": "Indicates whether the 3DS Requestor requests the ACS to utilize Decoupled Authentication and agrees to utilize Decoupled Authentication if the ACS confirms its use.\n\nPossible Values:\n\nY - Decoupled Authentication is supported and preferred if challenge is necessary\n\nN - Do not use Decoupled Authentication\n\n**Default Value**: N\n" }, "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.\n" }, "directoryServerErrorDescription": { "type": "string", "maxLength": 4096, "description": "Directory server text and additional detail about the error for this transaction.\n" }, "ecommerceIndicator": { "type": "string", "maxLength": 255, "description": "Commerce indicator for cards not enrolled. This field contains one of these values:\n- `internet`: Card not enrolled, or card type not supported by payer authentication. No liability shift.\n- `js_attempted`: Card not enrolled, but attempt to authenticate is recorded. Liability shift.\n- `js_failure`: J/Secure directory service is not available. No liability shift.\n- `spa`: Mastercard card not enrolled in the SecureCode program. No liability shift.\n- `vbv_attempted`: Card not enrolled, but attempt to authenticate is recorded. Liability shift.\n- `vbv_failure`: For payment processor Barclays, Streamline, AIBMS, or FDC Germany, you receive\nthis result if Visa's directory service is not available. No liability shift.\n" }, "eci": { "type": "string", "description": "Note This field applies only to non-U.S-issued cards.\n\nFor enroll, Numeric electronic commerce indicator (ECI) returned only for Visa, American Express, JCB,\nDiners Club, and Discover transactions when the card is not enrolled. For more information, see\n\"Interpreting the Reply,\" page 22.\n\nIf you are not using the CyberSource payment services, you must send this value to your payment\nprocessor in the subsequent request for card authorization. This field contains one of these values:\n- `06`: The card can be enrolled. Liability shift.\n- `07`: The card cannot be enrolled. No liability shift.\n\nFor validate, Numeric electronic commerce indicator (ECI) returned only for Visa, American Express, JCB,\nDiners Club, and Discover transactions. The field is absent when authentication fails.\nYou must send this value to your payment processor in the subsequent request for card authorization.\nThis field contains one of these values:\n- `05`: Successful authentication\n- `06`: Authentication attempted\n- `07`: Failed authentication (No response from the merchant because of a problem.)\n" }, "eciRaw": { "type": "string", "description": "ECI value that can be returned for Visa, Mastercard, American Express, JCB, Diners Club, and Discover.\nThe field is absent when authentication fails. If your payment processor is Streamline, you must pass the\nvalue of this field instead of the value of `eci` or `ucafCollectionIndicator`.\n\nThis field can contain one of these values:\n- `01`: Authentication attempted (Mastercard)\n- `02`: Successful authentication (Mastercard)\n- `05`: Successful authentication (Visa, American Express, JCB, Diners Club, and Discover)\n- `06`: Authentication attempted (Visa, American Express, JCB, Diners Club, and Discover)\n" }, "effectiveAuthenticationType": { "type": "string", "maxLength": 2, "description": "This field describes the type of 3DS transaction flow that took place. It can be one of three possible flows;\nCH - Challenge\nFR - Frictionless\nFD - Frictionless with delegation, (challenge not generated by the issuer but by the scheme on behalf of the issuer).\n" }, "ivr": { "type": "object", "properties": { "enabledMessage": { "type": "boolean", "description": "Flag to indicate if a valid IVR transaction was detected.\n" }, "encryptionKey": { "type": "string", "maxLength": 16, "description": "Encryption key to be used in the event the ACS requires encryption of the credential field.\n" }, "encryptionMandatory": { "type": "boolean", "description": "Flag to indicate if the ACS requires the credential to be encrypted.\n" }, "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.\n" }, "label": { "type": "string", "maxLength": 20, "description": "An ACS Provided label that can be presented to the Consumer. Recommended use with an application.\n" }, "prompt": { "type": "string", "maxLength": 80, "description": "An ACS provided string that can be presented to the Consumer. Recommended use with an application.\n" }, "statusMessage": { "type": "string", "maxLength": 80, "description": "An ACS provided message that can provide additional information or details.\n" } } }, "networkScore": { "type": "string", "maxLength": 2, "description": "The global score calculated by the CB scoring platform and returned to merchants.\n" }, "pareq": { "type": "string", "description": "Payer authentication request (PAReq) message that you need to forward to the ACS.\nThe value can be very large. The value is in base64.\n" }, "paresStatus": { "type": "string", "description": "Raw result of the authentication check. If you are configured for Asia, Middle East, and Africa Gateway\nProcessing, you need to send the value of this field in your authorization request. This field can contain\none of these values:\n- `A`: Proof of authentication attempt was generated.\n- `N`: Customer failed or canceled authentication. Transaction denied.\n- `U`: Authentication not completed regardless of the reason.\n- `Y`: Customer was successfully authenticated.\n" }, "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. For details about possible values, see the `pa_enroll_proofxml` field description in\n[CyberSource Payer Authentication Using the SCMP API.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Payer_Authentication_SCMP_API/html/)\n- For cards issued in the U.S. or Canada, Visa may require this data for specific merchant category codes.\n- 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.\n" }, "sdkTransactionId": { "type": "string", "maxLength": 36, "description": "SDK unique transaction identifier that is generated on each new transaction.\n" }, "signedParesStatusReason": { "type": "string", "maxLength": 2, "description": "Provides additional information as to why the PAResStatus has a specific value.\n" }, "specificationVersion": { "type": "string", "description": "This field contains the 3D Secure version that was used to process the transaction. For example, 1.0.2 or 2.0.0.\n" }, "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.\n" }, "threeDSServerTransactionId": { "type": "string", "maxLength": 36, "description": "Unique transaction identifier assigned by the 3DS Server to identify a single transaction.\n" }, "ucafAuthenticationData": { "type": "string", "description": "AAV is a unique identifier generated by the card-issuing bank for Mastercard Identity Check\ntransactions after the customer is authenticated. The value is in base64.\nInclude the data in the card authorization request.\n" }, "ucafCollectionIndicator": { "type": "string", "description": "For enroll, Returned only for Mastercard transactions. Indicates that authentication is not required because the\ncustomer is not enrolled. Add the value of this field to the authorization field ucaf_collection_indicator.\nThis field can contain these values: 0, 1.\n\nFor validate, Numeric electronic commerce indicator (ECI) returned only for Mastercard Identity Check\ntransactions. The field is absent when authentication fails. You must send this value to your payment\nprocessor in the request for card authorization. This field contain one of these values:\n- `0`: Authentication data not collected, and customer authentication was not completed.\n- `1`: Authentication data not collected because customer authentication was not completed.\n- `2`: Authentication data collected because customer completed authentication.\n" }, "veresEnrolled": { "type": "string", "description": "Result of the enrollment check. This field can contain one of these values:\n- `Y`: Card enrolled or can be enrolled; you must authenticate. Liability shift.\n- `N`: Card not enrolled; proceed with authorization. Liability shift.\n- `U`: Unable to authenticate regardless of the reason. No liability shift.\n\n**Note** This field only applies to the Asia, Middle East, and Africa Gateway. If you are configured for\nthis processor, you must send the value of this field in your authorization request.\n\nThe following value can be returned if you are using rules-based Payer Authentication:\n- `B`: Indicates that authentication was bypassed.\n\nFor details, see `pa_enroll_veres_enrolled` field description in [CyberSource Payer Authentication Using the SCMP API.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Payer_Authentication_SCMP_API/html/)\n" }, "whiteListStatusSource": { "type": "string", "maxLength": 2, "description": "This data element will be populated by the system setting Whitelist Status. Possible Values: 01 - 3DS/ Server/ 02 \u2013 DS/03 - ACS\n" }, "xid": { "type": "string", "description": "Transaction identifier generated by CyberSource for successful enrollment or validation checks.\nUse this value, which is in base64, to match an outgoing PAReq with an incoming PARes.\nCyberSource forwards the XID with the card authorization service to these payment processors in these cases:\n- Barclays\n- Streamline (when the **ecommerceIndicator**`=spa`)\n" }, "directoryServerTransactionId": { "type": "string", "maxLength": 36, "description": "The Directory Server Transaction ID is generated by the Mastercard Directory Server during the authentication transaction and passed back to the merchant with the authentication results.\nFor Cybersource Through Visanet Gateway:\nThe value for this field corresponds to the following data in the TC 33 capture file3: Record: CP01 TCR7, Position: 114-149, Field: MC AVV Verification\u2014Directory Server Transaction ID\n" }, "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" } } }, "watchlistScreeningInformation": { "type": "object", "properties": { "ipCountryConfidence": { "type": "integer", "minimum": -1, "maximum": 100, "description": "Likelihood that the country associated with the customer's IP address was identified correctly.\nReturns a value from 1\u2013100, where 100 indicates the highest likelihood.\nIf the country cannot be determined, the value is \u20131.\n" }, "infoCodes": { "type": "array", "items": { "type": "string", "maxLength": 255 }, "description": "Returned when the Denied Parties List check (first two codes) or the export service (all others) would have\ndeclined the transaction. This field can contain one or more of these values:\n- `MATCH-DPC`: Denied Parties List match.\n- `UNV-DPC`: Denied Parties List unavailable.\n- `MATCH-BCO`: Billing country restricted.\n- `MATCH-EMCO`: Email country restricted.\n- `MATCH-HCO`: Host name country restricted.\n- `MATCH-IPCO`: IP country restricted.\n- `MATCH-SCO`: Shipping country restricted.\n" }, "watchList": { "type": "object", "properties": { "matches": { "type": "array", "items": { "type": "object", "properties": { "addresses": { "type": "array", "items": { "type": "string", "maxLength": 255 }, "description": "Address found on the list specified in export_matchN_list\nfor the entity (name and address) in the request.\n" }, "sanctionList": { "type": "string", "maxLength": 255, "description": "List on which the first Denied Parties List check match appears.\nFor a list of codes, see \"Denied Parties List Check Codes,\" page 56.\n" }, "aliases": { "type": "array", "items": { "type": "string", "maxLength": 255 }, "description": "Name found on the list specified in export_matchN_list for the entity (name and address) in the request.\n" }, "programs": { "type": "array", "items": { "type": "string", "maxLength": 255 }, "description": "Sub-lists matched by the order data. List members are separated by carets (^)." } } } } } } } }, "errorInformation": { "type": "object", "properties": { "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - `EXPIRED_CARD`\n - `SCORE_EXCEEDS_THRESHOLD`\n - `DECISION_PROFILE_REVIEW`\n - `DECISION_PROFILE_REJECT`\n - `CONSUMER_AUTHENTICATION_REQUIRED`\n - `INVALID_MERCHANT_CONFIGURATION`\n - `CONSUMER_AUTHENTICATION_FAILED`\n - `DECISION_PROFILE_CHALLENGE`\n - `CUSTOMER_WATCHLIST_MATCH`\n - `ADDRESS_COUNTRY_WATCHLIST_MATCH`\n - `EMAIL_COUNTRY_WATCHLIST_MATCH`\n - `IP_COUNTRY_WATCHLIST_MATCH`\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": "riskV1DecisionsPost400Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - `INVALID_REQUEST`\n - `DECLINED`\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - `MISSING_FIELD`\n - `INVALID_DATA`\n - `INVALID_ACCOUNT`\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" } } } } } } }, "502": { "description": "Unexpected system error or system timeout.", "schema": { "title": "riskV1DecisionsPost502Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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": "Basic DM Transaction", "sample-name": "Create Decision Manager Case", "value": { "clientReferenceInformation": { "code": "54323007", "comments": "decision manager case", "partner": { "developerId": "7891234", "solutionId": "89012345" } }, "paymentInformation": { "card": { "expirationMonth": "12", "expirationYear": "2030", "number": "4444444444444448" } }, "orderInformation": { "billTo": { "firstName": "James", "lastName": "Smith", "locality": "Clearwater milford", "address1": "96, powers street", "email": "test@visa.com", "country": "US", "administrativeArea": "NH", "postalCode": "03055", "phoneNumber": "7606160717" }, "amountDetails": { "currency": "USD", "totalAmount": "144.14" } } }, "responseValue": { "clientReferenceInformation": { "code": "54323007", "comments": "decision manager case", "partner": { "developerId": "7891234", "solutionId": "89012345" } }, "id": "5526663169230178269497", "riskInformation": { "score": "H", "localTime": "12:11:56", "infoCodes": { "address": [ "COR-BA", "MM-BIN" ] }, "profile": { "name": "Example", "selectorRule": "Default Active Profile" }, "rules": [ { "decision": "IGNORE", "name": "Correctable errors in addresses" }, { "decision": "REVIEW", "name": "Order is above your AFS threshold for review." }, { "decision": "IGNORE", "name": "CVN not submitted" } ], "paymentInformation": { "scheme": "VISA CREDIT", "bin": "444444", "accountType": "GOLD", "issuer": "CREDIT AGRICOLE BANK POLSKA, S.A.", "binCountry": "PL" }, "providers": {}, "casePriority": "3" }, "status": "ACCEPTED", "submitTimeUtc": "2019-03-13T16:12:00Z" } }, "example1": { "summary": "DM With Device Information", "value": { "clientReferenceInformation": { "code": "54323007" }, "paymentInformation": { "card": { "expirationMonth": "12", "expirationYear": "2030", "number": "4444444444444448" } }, "orderInformation": { "billTo": { "firstName": "James", "lastName": "Smith", "locality": "Clearwater milford", "address1": "96, powers street", "email": "test@visa.com", "country": "US", "administrativeArea": "NH", "postalCode": "03055", "phoneNumber": "7606160717" }, "amountDetails": { "currency": "USD", "totalAmount": "144.14" } }, "deviceInformation": { "cookiesAccepted": "yes", "hostName": "host.com", "httpBrowserEmail": "xyz@gmail.com", "userAgent": "Chrome", "ipAddress": "64.124.61.215" } }, "responseValue": { "riskInformation": { "score": { "result": "99", "modelUsed": "default" }, "localTime": "10:02:05", "profile": { "name": "Profile 1_test", "selectorRule": "Default Active Profile" }, "rules": [ { "decision": "IGNORE", "name": "Correctable errors in addresses" }, { "decision": "REVIEW", "name": "Order is above your AFS threshold for review." }, { "decision": "IGNORE", "name": "CVN not submitted" } ], "paymentInformation": { "scheme": "VISA CREDIT", "bin": "444444", "accountType": "GOLD", "issuer": "CREDIT AGRICOLE BANK POLSKA, S.A." }, "casePriority": "3" }, "ipAddress": { "country": "us", "city": "seattle", "state": "wa", "routingMethod": "fixed" } } }, "example2": { "summary": "DM With Merchant Defined Information", "value": { "clientReferenceInformation": { "code": "54323007" }, "paymentInformation": { "card": { "expirationMonth": "12", "expirationYear": "2030", "number": "4444444444444448" } }, "orderInformation": { "billTo": { "firstName": "James", "lastName": "Smith", "locality": "Clearwater milford", "address1": "96, powers street", "email": "test@visa.com", "country": "US", "administrativeArea": "NH", "postalCode": "03055", "phoneNumber": "7606160717" }, "amountDetails": { "currency": "USD", "totalAmount": "144.14" } }, "riskInformation": { "auxiliaryData": [ { "key": "1", "value": "Test" }, { "key": "2", "value": "Test2" } ] }, "merchantDefinedInformation": [ { "key": "1", "value": "Test" }, { "key": "2", "value": "Test2" } ] }, "responseValue": { "riskInformation": { "score": { "result": "99", "modelUsed": "default" }, "localTime": "10:02:05", "profile": { "name": "Profile 1_test", "selectorRule": "Default Active Profile" }, "paymentInformation": { "scheme": "VISA CREDIT", "bin": "444444", "accountType": "GOLD", "issuer": "CREDIT AGRICOLE BANK POLSKA, S.A." }, "casePriority": "3" }, "rules": [ { "decision": "REJECT", "name": "Incorrect merchant defined data " } ] } }, "example3": { "summary": "DM With Travel Information", "value": { "clientReferenceInformation": { "code": "54323007" }, "paymentInformation": { "card": { "expirationMonth": "12", "expirationYear": "2030", "number": "4444444444444448" } }, "orderInformation": { "billTo": { "firstName": "James", "lastName": "Smith", "locality": "Clearwater milford", "address1": "96, powers street", "email": "test@visa.com", "country": "US", "administrativeArea": "NH", "postalCode": "03055", "phoneNumber": "7606160717" }, "amountDetails": { "currency": "USD", "totalAmount": "144.14" } }, "travelInformation": { "completeRoute": "SFO-JFK:JFK-BLR", "departureTime": "2011-03-20 11:30pm GMT", "journeyType": "One way", "legs": [ { "destination": "JFK", "origination": "SFO" }, { "destination": "BLR", "origination": "JFK" } ] } }, "responseValue": { "riskInformation": { "score": { "result": "99", "modelUsed": "default" }, "localTime": "10:02:05", "profile": { "name": "Profile 1_test", "selectorRule": "Default Active Profile" }, "paymentInformation": { "scheme": "VISA CREDIT", "bin": "444444", "accountType": "GOLD", "issuer": "CREDIT AGRICOLE BANK POLSKA, S.A." }, "casePriority": "3" }, "rules": [ { "decision": "IGNORE", "name": "Correctable errors in addresses" } ] } }, "example4": { "summary": "DM With Buyer Information", "value": { "clientReferenceInformation": { "code": "54323007" }, "paymentInformation": { "card": { "expirationMonth": "12", "expirationYear": "2030", "number": "4444444444444448" } }, "orderInformation": { "billTo": { "firstName": "James", "lastName": "Smith", "locality": "Clearwater milford", "address1": "96, powers street", "email": "test@visa.com", "country": "US", "administrativeArea": "NH", "postalCode": "03055", "phoneNumber": "7606160717" }, "amountDetails": { "currency": "USD", "totalAmount": "144.14" } }, "buyerInformation": { "hashedPassword": "", "dateOfBirth": "19980505", "personalIdentification": [ { "id": "1a23apwe98", "type": "CPF" } ] } }, "responseValue": { "riskInformation": { "score": { "result": "99", "modelUsed": "default" }, "localTime": "10:02:05", "profile": { "name": "Profile 1_test", "selectorRule": "Default Active Profile" }, "paymentInformation": { "scheme": "VISA CREDIT", "bin": "444444", "accountType": "GOLD", "issuer": "CREDIT AGRICOLE BANK POLSKA, S.A." }, "casePriority": "3" }, "rules": [ { "decision": "REJECT", "name": "Incorrect BUYER data " } ] } }, "example5": { "summary": "DM With Shipping Information", "value": { "clientReferenceInformation": { "code": "54323007" }, "paymentInformation": { "card": { "expirationMonth": "12", "expirationYear": "2030", "number": "4444444444444448" } }, "orderInformation": { "billTo": { "firstName": "James", "lastName": "Smith", "locality": "Clearwater milford", "address1": "96, powers street", "email": "test@visa.com", "country": "US", "administrativeArea": "NH", "postalCode": "03055", "phoneNumber": "7606160717" }, "amountDetails": { "currency": "USD", "totalAmount": "144.14" }, "shipTo": { "address1": "96, powers street", "address2": "", "locality": "Clearwater milford", "country": "IN", "firstName": "James", "lastName": "Smith", "phoneNumber": "7606160717", "administrativeArea": "KA", "postalCode": "560056" } } }, "responseValue": { "clientReferenceInformation": { "code": "54323007" }, "id": "5526665686910178269497", "riskInformation": { "score": { "result": "99", "modelUsed": "default" }, "localTime": "10:02:05", "profile": { "name": "Profile 1_test", "selectorRule": "Default Active Profile" }, "infoCodes": { "address": [ "MM-A" ] }, "rules": [ { "decision": "IGNORE", "name": "Correctable errors in addresses" }, { "decision": "REVIEW", "name": "Order is above your AFS threshold for review." }, { "decision": "IGNORE", "name": "CVN not submitted" } ], "paymentInformation": { "scheme": "VISA CREDIT", "bin": "444444", "accountType": "GOLD", "issuer": "CREDIT AGRICOLE BANK POLSKA, S.A." }, "casePriority": "3" } } }, "example6": { "summary": "DM With Score_Exceeds_Threshold Response", "sample-name": "DM With Score_Exceeds_Threshold Response", "value": { "clientReferenceInformation": { "code": "54323007" }, "paymentInformation": { "card": { "expirationMonth": "12", "expirationYear": "2030", "number": "4444444444444448" } }, "orderInformation": { "billTo": { "firstName": "James", "lastName": "Smith", "locality": "Clearwater milford", "address1": "96, powers street", "email": "test@visa.com", "country": "US", "administrativeArea": "NH", "postalCode": "03055", "phoneNumber": "7606160717" }, "amountDetails": { "currency": "USD", "totalAmount": "144.14" }, "shipTo": { "address1": "96, powers street", "address2": "", "locality": "Clearwater milford", "country": "IN", "firstName": "James", "lastName": "Smith", "phoneNumber": "7606160717", "administrativeArea": "KA", "postalCode": "560056" } } }, "responseValue": { "clientReferenceInformation": { "code": "54323007" }, "errorInformation": { "reason": "SCORE_EXCEEDS_THRESHOLD", "message": "Soft Decline - Fraud score exceeds threshold." }, "id": "5525558950470178269497", "riskInformation": { "score": { "result": "90", "factorCodes": [ "D", "Y" ], "modelUsed": "default" }, "localTime": "05:31:35", "infoCodes": { "address": [ "COR-BA", "MM-BIN" ] }, "ipAddress": { "country": "us", "city": "seattle", "state": "wa", "routingMethod": "fixed" } }, "status": "REJECTED", "submitTimeUtc": "2019-03-14T09:31:35Z" } }, "example7": { "summary": "DM With Decision_Profile_Reject Response", "sample-name": "DM With Decision_Profile_Reject Response", "value": { "clientReferenceInformation": { "code": "54323007" }, "paymentInformation": { "card": { "expirationMonth": "12", "expirationYear": "2030", "number": "4444444444444448" } }, "orderInformation": { "billTo": { "firstName": "James", "lastName": "Smith", "locality": "Clearwater milford", "address1": "96, powers street", "email": "test@visa.com", "country": "US", "administrativeArea": "NH", "postalCode": "03055", "phoneNumber": "7606160717" }, "amountDetails": { "currency": "USD", "totalAmount": "144.14" } }, "riskInformation": { "profile": { "name": "profile2" }, "score": { "ignoreAvsResults": "false" } } }, "responseValue": { "clientReferenceInformation": { "code": "54323007" }, "errorInformation": { "reason": "DECISION_PROFILE_REJECT", "message": "The order has been rejected by Decision Manager" }, "id": "5525558833540178269497", "riskInformation": { "score": { "result": "96", "factorCodes": [ "H", "V", "Y" ], "modelUsed": "default" }, "localTime": "05:31:23", "infoCodes": { "address": [ "COR-BA", "MM-BIN" ] }, "profile": { "destinationQueue": "Example", "name": "profile2", "selectorRule": "Default Active Profile" }, "rules": [ { "decision": "IGNORE", "name": "Correctable errors in addresses" }, { "decision": "REVIEW", "name": "Order is above your AFS threshold for review." }, { "decision": "IGNORE", "name": "CVN not submitted" } ], "paymentInformation": { "scheme": "VISA CREDIT", "bin": "444444", "accountType": "GOLD", "issuer": "CREDIT AGRICOLE BANK POLSKA, S.A.", "binCountry": "PL" }, "casePriority": "3" }, "status": "REJECTED", "submitTimeUtc": "2019-03-14T09:31:29Z" } } } } }, "/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.", "operationId": "payerAuthSetup", "tags": [ "Payer Authentication" ], "produces": [ "application/hal+json;charset=utf-8" ], "x-devcenter-metaData": { "categoryTag": "Payer_Authentication" }, "parameters": [ { "name": "payerAuthSetupRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "required": [ "code" ], "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "pausedRequestId": { "type": "string", "maxLength": 26, "description": "Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call.\n" }, "comments": { "type": "string", "maxLength": 255, "description": "Brief description of the order or any comment you wish to add to the order.\n" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } } } }, "paymentInformation": { "type": "object", "properties": { "card": { "type": "object", "required": [ "expirationMonth", "expirationYear", "number" ], "properties": { "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `014`: Enroute[^1]\n- `021`: JAL[^1]\n- `024`: Maestro (UK Domestic)[^1]\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `042`: Maestro (International)[^1]\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `054`: Elo[^3]\n- `062`: China UnionPay\n- '070': EFTPOS\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nValid values: `01` through `12`. Leading 0 is required.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value\n(`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is\nin the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause\nthe issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (_type_=039), if there is no expiration date on the card, use `12`.\n\n#### FDMS Nashville\nRequired field.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the payment card expires.\n\nFormat: `YYYY`.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`1900` through `3000`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (**_type_**`=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDMS Nashville\nRequired field.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. If you send in 2 digits, they must be the last 2 digits of the year.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "number": { "type": "string", "maxLength": 20, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n\n#### FDMS Nashville\nRequired. String (19)\n\n#### GPX\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n" } } }, "tokenizedCard": { "type": "object", "required": [ "transactionType", "type", "expirationMonth", "expirationYear", "number" ], "properties": { "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it specifies the entity that\nprovided you with information about the token.\n\nPossible value:\n- `2`: Near-field communication (NFC) transaction. The customer's mobile device provided the token data for a contactless EMV transaction. For recurring\ntransactions, use this value if the original transaction was a contactless EMV transaction.\n\n#### Visa Platform Connect\n- `1`: For Rupay and In App tokenization. Example: InApp apple pay.\n- `3`: Card/Credential On File Tokenization.\n\n**NOTE** No CyberSource through VisaNet acquirers support EMV at this time.\n\nRequired field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.\n\n#### Rupay\n- `3`: Card/Credential On File Tokenization.\n- `4`: Tokenizined Transaction. Should be used for Guest Checkout transactions with token.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `014`: Enroute[^1]\n- `021`: JAL[^1]\n- `024`: Maestro (UK Domestic)[^1]\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `042`: Maestro (International)[^1]\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `054`: Elo[^3]\n- `062`: China UnionPay\n- '070': EFTPOS\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "One of two possible meanings:\n- The two-digit month in which a token expires.\n- The two-digit month in which a card expires.\nFormat: `MM`\nPossible values: `01` through `12`\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_type=039`), if there is no expiration date on the card, use `12`.\\\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Samsung Pay and Apple Pay\nMonth in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\nFor processor-specific information, see the `customer_cc_expmo` field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n\nFor processor-specific information, see the `customer_cc_expyr` or `token_expiration_year` field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "number": { "type": "string", "maxLength": 20, "description": "Customer's payment network token value.\n" } } }, "fluidData": { "type": "object", "required": [ "value" ], "properties": { "value": { "type": "string", "maxLength": 4000, "description": "Represents the encrypted payment data BLOB. The entry for this field is dependent on the payment solution used by the merchant.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits that use a Cybersource suppored Point-to-Point encryption method.\nCard Present processing\nThis field represents the encrypted payment data generated by the payment terminal/device.\n" }, "keySerialNumber": { "type": "string", "description": "The encoded or encrypted value that a payment solution returns for an authorization request. For details about the valid values for a key, see [Creating an Online Authorization](https://developer.cybersource.com/api/developer-guides/dita-payments/CreatingOnlineAuth.html)\n" }, "descriptor": { "type": "string", "maxLength": 128, "description": "The identifier for a payment solution, which is sending the encrypted payment data for decryption. Valid values:\nSamsung Pay: RklEPUNPTU1PTi5TQU1TVU5HLklOQVBQLlBBWU1FTlQ=\nNote: For other payment solutions, the value may be specific to the terminal or device initiatinf the payment. For example, the descriptor for a Bluefin payment encryption would be a device-generated descriptor.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits.\n\nCard Present processing:\nFormat of the encrypted payment data.\nThe value for Bluefin PCI P2PE is `Ymx1ZWZpbg==`. paymentInformation.fluidData.encoding must be `Base64`.\nThe value for Cybersource P2PE decryption depends on the encoding method used and identified in encoding field.\nIf paymentInformation.fluidData.encoding is `Base64`, the value is: `RklEPUVNVi5QQVlNRU5ULkFQSQ==`\nIf paymentInformation.fluidData.encoding is `HEX`, the value is: `4649443D454D562E5041594D454E542E41504`\n" }, "encoding": { "type": "string", "maxLength": 6, "description": "Encoding method used to encrypt the payment data.\nValid values: `Base64`, `HEX`\nIf no value is provided, `Base64` is taken as the default value. And the `Base64` descriptor is used for paymentInformation.fluidData.encoding\n" } } }, "customer": { "type": "object", "properties": { "customerId": { "type": "string", "description": "Unique identifier for the legacy Secure Storage token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } } } }, "processingInformation": { "type": "object", "properties": { "paymentSolution": { "type": "string", "maxLength": 12, "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/VCO_SCMP_API/html/)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. For details, see \"Masterpass\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" }, "visaCheckoutId": { "type": "string", "maxLength": 48, "description": "Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in\nthe Visa Checkout **callID** field.\n" } } }, "tokenInformation": { "type": "object", "properties": { "transientToken": { "type": "string", "description": "A temporary ID that represents the customer's payment data (which is securely stored in Visa Data Centers). Flex\nMicroform generates this ID and sets it to expire within 15 minutes from when the ID is generated or until the\nfirst payment authorization is carried out (whichever occurs first).\n\nValid value for the ID is a 64-character, alphanumeric string.\n\nExample: 1D08M4YB968R1F7YVL4TBBKYVNRIR02VZFH9CBYSQIJJXORPI1NK5C98D7F6EB53\n" }, "jti": { "type": "string", "maxLength": 64, "description": "TMS Transient Token, 64 hexadecimal id value representing captured payment credentials (including Sensitive Authentication Data, e.g. CVV).\n" } } } } } } ], "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.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status for payerAuthentication 201 setup calls. Possible value is:\n- COMPLETED\n- FAILED\n" }, "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.\nNote - Max Length of this field is 2048 characters.\n" }, "referenceId": { "type": "string", "maxLength": 50, "description": "This identifier represents cardinal has started device data collection session and this must be passed in\nAuthentication JWT to Cardinal when invoking the deviceDataCollectionUrl.\n" }, "deviceDataCollectionUrl": { "type": "string", "maxLength": 100, "description": "The deviceDataCollectionUrl is the location to send the Authentication JWT when invoking the Device Data collection process.\n" } } }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "comments": { "type": "string", "maxLength": 255, "description": "Brief description of the order or any comment you wish to add to the order.\n" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } } } }, "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`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status for payerAuthentication 400 setup calls. Possible values are:\n- INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n" }, "message": { "type": "string", "description": "The message describing the reason of the status. Value is:\n- Encountered a Payer Authentication problem. Payer could not be setup.\n" }, "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`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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": { "clientReferenceInformation": { "code": "cybs_test", "partner": { "developerId": "7891234", "solutionId": "89012345" } }, "paymentInformation": { "card": { "expirationMonth": "12", "expirationYear": "2025", "number": "4000000000000101", "type": "001" } } } }, "example1": { "summary": "Setup Completion with Fluid Data Value and Payment Solution", "value": { "clientReferenceInformation": { "code": "cybs_test" }, "paymentInformation": { "fluidData": { "value": "eyJkYXRhIjoiOFJTK2o1a2ZLRjZkTnkzNVwvOTluR3ZEVis0WUVlaStBb2VmUUNMXC9SNTN0TnVMeHJxTzh4b1g2SnBScm9WWUVUOUNvUkhIWFZMRjJNSVNIZlVtM25UczltdGFPTUdqcW1oeWdjTFpWVWI3OHhxYVVUT2JwWUxLelY0dFR1QmhvRkV4UVJ1d2lvTmo2bXJsRlRjUm5LNzdcL2lCR01yYVlZcXZTVnhGK3ViK1JXK3BGeTRDNUVUOVhmcHBkS2xHYXVpODdzcTBtYVlYVk9qOGFaNTFMWjZvS1NKZkR1clhvWEtLNHRqd1wvaDVRK1dcL0x2dnJxSUhmZmVhK21MZXVRY3RHK0k3UUN6MTRpVmdROUFEMW1oWFUrbVdwZXRUQWZ5WXhoVituZlh1NlpISGRDWFV1cUp6djQydHg4UlwvN0lvdld5OWx6Z0N3YnpuclVsY3pUcThkb3JtV3A4eXhYQklDNnJHRTdlTVJrS3oxZFwvUFFDXC9DS2J1NDhNK0R4XC9VejNoUFwvZ1NnRGoxakJNcUllUUZiRWFzcTRWTUV1ZG9FNUh1UjBcLzRQMXJmdG9EVlpwNnhFdnF1STY5dkt2YnZHcXpmTkpUNjVnPT0iLCJ2ZXJzaW9uIjoiRUNfdjEiLCJoZWFkZXIiOnsiYXBwbGljYXRpb25EYXRhIjoiNzQ2NTczNzQ2MTcwNzA2QzY5NjM2MTc0Njk2RjZFNjQ2MTc0NjEiLCJ0cmFuc2FjdGlvbklkIjoiNzQ2NTczNzQ3NDcyNjE2RTczNjE2Mzc0Njk2RjZFNjk2NCIsImVwaGVtZXJhbFB1YmxpY0tleSI6Ik1JSUJTekNDQVFNR0J5cUdTTTQ5QWdFd2dmY0NBUUV3TEFZSEtvWkl6ajBCQVFJaEFQXC9cL1wvXC84QUFBQUJBQUFBQUFBQUFBQUFBQUFBXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9NRnNFSVBcL1wvXC9cLzhBQUFBQkFBQUFBQUFBQUFBQUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC84QkNCYXhqWFlxanFUNTdQcnZWVjJtSWE4WlIwR3NNeFRzUFk3emp3K0o5SmdTd01WQU1TZE5naUc1d1NUYW1aNDRST2RKcmVCbjM2UUJFRUVheGZSOHVFc1FrZjR2T2JsWTZSQThuY0RmWUV0NnpPZzlLRTVSZGlZd3BaUDQwTGlcL2hwXC9tNDduNjBwOEQ1NFdLODR6VjJzeFhzN0x0a0JvTjc5UjlRSWhBUFwvXC9cL1wvOEFBQUFBXC9cL1wvXC9cL1wvXC9cL1wvXC8rODV2cXRweGVlaFBPNXlzTDhZeVZSQWdFQkEwSUFCQmJHK2xtTHJIWWtKSVwvSUUwcTU3dEN0bE5jK2pBWHNudVMrSnFlOFVcLzc0cSs5NVRnbzVFRjBZNks3b01LTUt5cTMwY3VQbmtIenkwMjVpU1BGdWczRT0iLCJwdWJsaWNLZXlIYXNoIjoieCtQbUhHMzdUNjdBWUFIenVqbGJyaW1JdzZZaFlYaVpjYjV3WnJCNGpRdz0ifSwic2lnbmF0dXJlIjoiTUlJRFFnWUpLb1pJaHZjTkFRY0NvSUlETXpDQ0F5OENBUUV4Q3pBSkJnVXJEZ01DR2dVQU1Bc0dDU3FHU0liM0RRRUhBYUNDQWlzd2dnSW5NSUlCbEtBREFnRUNBaEJjbCtQZjMrVTRwazEzblZEOW53UVFNQWtHQlNzT0F3SWRCUUF3SnpFbE1DTUdBMVVFQXg0Y0FHTUFhQUJ0QUdFQWFRQkFBSFlBYVFCekFHRUFMZ0JqQUc4QWJUQWVGdzB4TkRBeE1ERXdOakF3TURCYUZ3MHlOREF4TURFd05qQXdNREJhTUNjeEpUQWpCZ05WQkFNZUhBQmpBR2dBYlFCaEFHa0FRQUIyQUdrQWN3QmhBQzRBWXdCdkFHMHdnWjh3RFFZSktvWklodmNOQVFFQkJRQURnWTBBTUlHSkFvR0JBTkM4K2tndGdtdldGMU96amdETnJqVEVCUnVvXC81TUt2bE0xNDZwQWY3R3g0MWJsRTl3NGZJWEpBRDdGZk83UUtqSVhZTnQzOXJMeXk3eER3YlwvNUlrWk02MFRaMmlJMXBqNTVVYzhmZDRmek9wazNmdFphUUdYTkxZcHRHMWQ5VjdJUzgyT3VwOU1NbzFCUFZyWFRQSE5jc005OUVQVW5QcWRiZUdjODdtMHJBZ01CQUFHalhEQmFNRmdHQTFVZEFRUlJNRStBRUhaV1ByV3RKZDdZWjQzMWhDZzdZRlNoS1RBbk1TVXdJd1lEVlFRREhod0FZd0JvQUcwQVlRQnBBRUFBZGdCcEFITUFZUUF1QUdNQWJ3QnRnaEJjbCtQZjMrVTRwazEzblZEOW53UVFNQWtHQlNzT0F3SWRCUUFEZ1lFQWJVS1lDa3VJS1M5UVEybUZjTVlSRUltMmwrWGc4XC9KWHYrR0JWUUprT0tvc2NZNGlOREZBXC9iUWxvZ2Y5TExVODRUSHdOUm5zdlYzUHJ2N1JUWTgxZ3EwZHRDOHpZY0FhQWtDSElJM3lxTW5KNEFPdTZFT1c5a0prMjMyZ1NFN1dsQ3RIYmZMU0tmdVNnUVg4S1hRWXVaTGsyUnI2M044QXBYc1h3QkwzY0oweGdlQXdnZDBDQVFFd096QW5NU1V3SXdZRFZRUURIaHdBWXdCb0FHMEFZUUJwQUVBQWRnQnBBSE1BWVFBdUFHTUFid0J0QWhCY2wrUGYzK1U0cGsxM25WRDlud1FRTUFrR0JTc09Bd0lhQlFBd0RRWUpLb1pJaHZjTkFRRUJCUUFFZ1lBMG9MXC9KSWFTN0tra1RFNG1pOGRmU2tQVVwvdlp2cVwva2NYZ1pUdGJZbENtTFM4YzNuS2VZNVE0c2s4MXJnZkI1ampBMWJRZldhUHBKc05tVWNSS3gzS0FGUEtpNzE0WWVYdGUrcmc2V1k4MnVxcnlwRERiTkhqSWVpNjVqV0dvcGRZUEx6TEk5c1Z3NDh5OHlqSXY3SjFaQVlycnp6YjBwNzUzcUJUQ0ZEN1p3PT0ifQ==" } }, "processingInformation": { "paymentSolution": "001" } } }, "example2": { "summary": "Setup Completion with Tokenized Card", "value": { "clientReferenceInformation": { "code": "cybs_test" }, "paymentInformation": { "tokenizedCard": { "number": "4111111111111111", "transactionType": "1", "type": "001", "expirationMonth": "11", "expirationYear": "2025" } } } }, "example3": { "summary": "Setup Completion with TMS Token", "value": { "clientReferenceInformation": { "code": "cybs_test" }, "paymentInformation": { "customer": { "customerId": "9CADDE97CC9254EBE0534136CF0AB358" } } } }, "example4": { "summary": "Setup Completion with Visa Checkout", "value": { "clientReferenceInformation": { "code": "cybs_test" }, "paymentInformation": { "visaCheckoutId": "4768462067836455354", "paymentSolution": "visacheckout" } } }, "example5": { "summary": "Setup Completion with Flex Transient Token", "value": { "clientReferenceInformation": { "code": "cybs_test" }, "tokenInformation": { "transientToken": "1D5ZX4HMOV20FKEBE3IO240JWYJ0NJ90B4V9XQ6SCK4BDN0W96E65E2A39052056" } } }, "example6": { "summary": "Setup Completion with Secure Storage Token", "value": { "clientReferenceInformation": { "code": "cybs_test" }, "paymentInformation": { "customer": { "customerId": "5795045921830181636348" } } } } } } }, "/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" }, "parameters": [ { "name": "checkPayerAuthEnrollmentRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "required": [ "code" ], "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "pausedRequestId": { "type": "string", "maxLength": 26, "description": "Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call.\n" }, "comments": { "type": "string", "maxLength": 255, "description": "Brief description of the order or any comment you wish to add to the order.\n" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "description": "Contains `currency` and `totalAmount` for this order.", "required": [ "currency", "totalAmount" ], "properties": { "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. For details, see:\n- \"Authorization Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Capture Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Credit Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\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. For details, see \"Zero Amount Authorizations,\" \"Credit Information for Specific Processors\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\nRequired for creating a new invoice.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. For details, see `grand_total_amount` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in \"Authorization Information for Specific Processors\" of the [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### DCC for First Data\nNot used.\n" } } }, "preOrder": { "type": "string", "description": "Indicates whether cardholder is placing an order with a future availability or release date.\nThis field can contain one of these values:\n- MERCHANDISE_AVAILABLE: Merchandise available\n- FUTURE_AVAILABILITY: Future availability\n" }, "preOrderDate": { "type": "string", "maxLength": 10, "description": "Expected date that a pre-ordered purchase will be available. Format: YYYYMMDD\n" }, "reordered": { "type": "boolean", "description": "Indicates whether the cardholder is reordering previously purchased merchandise.\nThis field can contain one of these values:\n- false: First time ordered\n- true: Reordered\n" }, "shipTo": { "type": "object", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "First line of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Second line of the shipping address.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "address3": { "type": "string", "maxLength": 60, "description": "Third line of the shipping address.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", "maxLength": 2 }, "destinationTypes": { "type": "string", "maxLength": 25, "description": "Shipping destination of item. Example: Commercial, Residential, Store\n" }, "locality": { "type": "string", "maxLength": 50, "description": "City of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S. or\nCanada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "firstName": { "type": "string", "maxLength": 60, "description": "First name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Last name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" }, "middleName": { "type": "string", "maxLength": 60, "description": "Middle name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Phone number associated with the shipping address." }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "destinationCode": { "type": "integer", "maxLength": 2, "description": "Indicates destination chosen for the transaction. Possible values:\n- 01- Ship to cardholder billing address\n- 02- Ship to another verified address on file with merchant\n- 03- Ship to address that is different than billing address\n- 04- Ship to store (store address should be populated on request)\n- 05- Digital goods\n- 06- Travel and event tickets, not shipped\n- 07- Other\n" }, "method": { "type": "string", "maxLength": 10, "description": "Shipping method for the product. Possible values:\n- lowcost: Lowest-cost service\n- sameday: Courier or same-day service\n- oneday: Next-day or overnight service\n- twoday: Two-day service\n- threeday: Three-day service\n- pickup: Store pick-up\n- other: Other shipping method\n- none: No shipping method because product is a service or subscription\nRequired for American Express SafeKey (U.S.).\n" } } }, "lineItems": { "type": "array", "description": "This array contains detailed information about individual products in the order.", "items": { "type": "object", "required": [ "unitPrice" ], "properties": { "totalAmount": { "type": "string", "maxLength": 13, "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" }, "unitPrice": { "type": "string", "maxLength": 15, "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in the [Merchant Descriptors Using the SCMP API Guide.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Merchant_Descriptors_SCMP_API/html/)\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" }, "quantity": { "type": "integer", "minimum": 1, "maximum": 999999999, "default": 1, "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "giftCardCurrency": { "type": "integer", "maxLength": 3, "description": "When `orderInformation.lineItems[].productCode` is \"gift_card\", this is the\ncurrency used for the gift card purchase.\n\nFor details, see `pa_gift_card_currency` field description in [CyberSource Payer Authentication Using the SCMP API.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Payer_Authentication_SCMP_API/Payer_Authentication_SCMP_API.pdf)\n\nFor the possible values, see the [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n" }, "productSKU": { "type": "string", "maxLength": 255, "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" }, "productDescription": { "type": "string", "description": "Brief description of item." }, "productName": { "type": "string", "maxLength": 255, "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "passenger": { "type": "object", "description": "Contains travel-related passenger details used by DM service only.", "properties": { "type": { "type": "string", "maxLength": 32, "description": "Passenger classification associated with the price of the ticket. You can use one of the following values:\n- `ADT`: Adult\n- `CNN`: Child\n- `INF`: Infant\n- `YTH`: Youth\n- `STU`: Student\n- `SCR`: Senior Citizen\n- `MIL`: Military\n" }, "status": { "type": "string", "maxLength": 32, "description": "Your company's passenger classification, such as with a frequent flyer program. In this case, you might use\nvalues such as `standard`, `gold`, or `platinum`.\n" }, "phone": { "type": "string", "maxLength": 15, "description": "Passenger's phone number. If the order is from outside the U.S., CyberSource recommends that you include\nthe [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" }, "firstName": { "type": "string", "maxLength": 60, "description": "Passenger's first name." }, "lastName": { "type": "string", "maxLength": 60, "description": "Passenger's last name." }, "id": { "type": "string", "maxLength": 40, "description": "ID of the passenger to whom the ticket was issued. For example, you can use this field for the frequent flyer\nnumber.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Passenger's email address, including the full domain name, such as jdoe@example.com." }, "nationality": { "type": "string", "maxLength": 2, "description": "Passenger's nationality country. Use the two character [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)." } } }, "shippingDestinationTypes": { "type": "string", "maxLength": 50, "description": "Destination to where the item will be shipped. Example: Commercial, Residential, Store\n" }, "taxAmount": { "type": "string", "maxLength": 15, "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" }, "shippingAddress1": { "type": "string", "maxLength": 50, "description": "Address where item will be shipped" }, "shippingAddress2": { "type": "string", "maxLength": 50, "description": "Address where item will be shipped" }, "shippingCity": { "type": "string", "maxLength": 20, "description": "City where item will be shipped" }, "shippingCountryCode": { "type": "string", "maxLength": 10, "description": "Country where item will be shipped" }, "shippingFirstName": { "type": "string", "maxLength": 20, "description": "Customer's first name" }, "shippingLastName": { "type": "string", "maxLength": 20, "description": "Customer's last name" }, "shippingMiddleName": { "type": "string", "maxLength": 20, "description": "Customer's middle name" }, "shippingPhone": { "type": "integer", "description": "Phone number where item will be shipped" }, "shippingPostalCode": { "type": "integer", "description": "Postal code where item will be shipped" }, "shippingState": { "type": "string", "maxLength": 20, "description": "State where item will be shipped" } } } }, "billTo": { "type": "object", "required": [ "address1", "country", "administrativeArea", "postalCode", "email", "firstName", "lastName" ], "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n" }, "address3": { "type": "string", "maxLength": 60, "description": "Additional address information (third line of the billing address)\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### SEPA/BACS\nRequired for Create Mandate and Import Mandate\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called _CyberSource Latin American Processing_. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### RBS WorldPay Atlanta\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n\nIt is recommended that you include the country code when the order is from outside the U.S.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nOptional field.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\nFor processor-specific information, see the `customer_email` request-level field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" } } }, "totalOffersCount": { "type": "string", "maxLength": 2, "description": "Total number of articles/items in the order as a numeric decimal count.\nPossible values: 00 - 99\n" } } }, "paymentInformation": { "type": "object", "properties": { "card": { "type": "object", "required": [ "type", "expirationMonth", "expirationYear", "number" ], "properties": { "bin": { "type": "string", "maxLength": 6, "description": "description: The BIN is the first six digits of the card's Primary Account Number (PAN).\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `014`: Enroute[^1]\n- `021`: JAL[^1]\n- `024`: Maestro (UK Domestic)[^1]\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `042`: Maestro (International)[^1]\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `054`: Elo[^3]\n- `062`: China UnionPay\n- '070': EFTPOS\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nValid values: `01` through `12`. Leading 0 is required.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value\n(`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is\nin the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause\nthe issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (_type_=039), if there is no expiration date on the card, use `12`.\n\n#### FDMS Nashville\nRequired field.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the payment card expires.\n\nFormat: `YYYY`.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`1900` through `3000`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (**_type_**`=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDMS Nashville\nRequired field.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. If you send in 2 digits, they must be the last 2 digits of the year.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "number": { "type": "string", "maxLength": 20, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n\n#### FDMS Nashville\nRequired. String (19)\n\n#### GPX\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n" } } }, "tokenizedCard": { "type": "object", "required": [ "type", "expirationMonth", "expirationYear", "number", "transactionType", "cryptogram", "securityCode" ], "properties": { "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it specifies the entity that\nprovided you with information about the token.\n\nPossible value:\n- `2`: Near-field communication (NFC) transaction. The customer's mobile device provided the token data for a contactless EMV transaction. For recurring\ntransactions, use this value if the original transaction was a contactless EMV transaction.\n\n#### Visa Platform Connect\n- `1`: For Rupay and In App tokenization. Example: InApp apple pay.\n- `3`: Card/Credential On File Tokenization.\n\n**NOTE** No CyberSource through VisaNet acquirers support EMV at this time.\n\nRequired field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.\n\n#### Rupay\n- `3`: Card/Credential On File Tokenization.\n- `4`: Tokenizined Transaction. Should be used for Guest Checkout transactions with token.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `014`: Enroute[^1]\n- `021`: JAL[^1]\n- `024`: Maestro (UK Domestic)[^1]\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `042`: Maestro (International)[^1]\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `054`: Elo[^3]\n- `062`: China UnionPay\n- '070': EFTPOS\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "One of two possible meanings:\n- The two-digit month in which a token expires.\n- The two-digit month in which a card expires.\nFormat: `MM`\nPossible values: `01` through `12`\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_type=039`), if there is no expiration date on the card, use `12`.\\\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Samsung Pay and Apple Pay\nMonth in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\nFor processor-specific information, see the `customer_cc_expmo` field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n\nFor processor-specific information, see the `customer_cc_expyr` or `token_expiration_year` field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "cryptogram": { "type": "string", "maxLength": 255, "description": "This field contains token information." }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Number (CVN).\n\n#### Ingenico ePayments\nDo not include this field when **commerceIndicator=recurring**.\n**Note** Ingenico ePayments was previously called _Global Collect_.\n\nFor details, see `customer_cc_cv_number` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "number": { "type": "string", "maxLength": 20, "description": "Customer's payment network token value.\n" } } }, "fluidData": { "type": "object", "required": [ "value" ], "properties": { "value": { "type": "string", "maxLength": 4000, "description": "Represents the encrypted payment data BLOB. The entry for this field is dependent on the payment solution used by the merchant.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits that use a Cybersource suppored Point-to-Point encryption method.\nCard Present processing\nThis field represents the encrypted payment data generated by the payment terminal/device.\n" }, "keySerialNumber": { "type": "string", "description": "The encoded or encrypted value that a payment solution returns for an authorization request. For details about the valid values for a key, see [Creating an Online Authorization](https://developer.cybersource.com/api/developer-guides/dita-payments/CreatingOnlineAuth.html)\n" }, "descriptor": { "type": "string", "maxLength": 128, "description": "The identifier for a payment solution, which is sending the encrypted payment data for decryption. Valid values:\nSamsung Pay: RklEPUNPTU1PTi5TQU1TVU5HLklOQVBQLlBBWU1FTlQ=\nNote: For other payment solutions, the value may be specific to the terminal or device initiatinf the payment. For example, the descriptor for a Bluefin payment encryption would be a device-generated descriptor.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits.\n\nCard Present processing:\nFormat of the encrypted payment data.\nThe value for Bluefin PCI P2PE is `Ymx1ZWZpbg==`. paymentInformation.fluidData.encoding must be `Base64`.\nThe value for Cybersource P2PE decryption depends on the encoding method used and identified in encoding field.\nIf paymentInformation.fluidData.encoding is `Base64`, the value is: `RklEPUVNVi5QQVlNRU5ULkFQSQ==`\nIf paymentInformation.fluidData.encoding is `HEX`, the value is: `4649443D454D562E5041594D454E542E41504`\n" }, "encoding": { "type": "string", "maxLength": 6, "description": "Encoding method used to encrypt the payment data.\nValid values: `Base64`, `HEX`\nIf no value is provided, `Base64` is taken as the default value. And the `Base64` descriptor is used for paymentInformation.fluidData.encoding\n" } } }, "customer": { "type": "object", "properties": { "customerId": { "type": "string", "description": "Unique identifier for the customer's card and billing information.\n\nWhen you use Payment Tokenization or Recurring Billing and you include this value in\nyour request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n\n**NOTE** When you use Payment Tokenization or Recurring Billing, the value for the Customer ID is actually the Cybersource payment token for a customer. This token stores information such as the consumer's card number so it can be applied towards bill payments, recurring payments, or one-time payments. By using this token in a payment API request, the merchant doesn't need to pass in data such as the card number or expiration date in the request itself.\n\nFor details, see the `subscription_id` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "id": { "type": "string", "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } } } }, "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 SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/VCO_SCMP_API/html/)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. For details, see \"Masterpass\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" }, "visaCheckoutId": { "type": "string", "maxLength": 48, "description": "Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in\nthe Visa Checkout **callID** field.\n" } } }, "tokenInformation": { "type": "object", "properties": { "transientToken": { "type": "string", "description": "A temporary ID that represents the customer's payment data (which is securely stored in Visa Data Centers). Flex\nMicroform generates this ID and sets it to expire within 15 minutes from when the ID is generated or until the\nfirst payment authorization is carried out (whichever occurs first).\n\nValid value for the ID is a 64-character, alphanumeric string.\n\nExample: 1D08M4YB968R1F7YVL4TBBKYVNRIR02VZFH9CBYSQIJJXORPI1NK5C98D7F6EB53\n" }, "jti": { "type": "string", "maxLength": 64, "description": "TMS Transient Token, 64 hexadecimal id value representing captured payment credentials (including Sensitive Authentication Data, e.g. CVV).\n" } } }, "buyerInformation": { "type": "object", "required": [ "mobilePhone" ], "properties": { "merchantCustomerId": { "type": "string", "maxLength": 100, "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n\nFor processor-specific information, see the `customer_account_id` field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "personalIdentification": { "description": "This array contains detailed information about the buyer's form of persoanl identification.", "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\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\nFor processor-specific information, see the `personal_id` field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\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.\n\nFor processor-specific information, see the `personal_id` field in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n \nIf `type = PASSPORT`, this is the cardholder's passport number.\nRecommended for Discover ProtectBuy.\n" }, "issuedBy": { "type": "string", "description": "The government agency that issued the driver's license or passport.\n\nIf **type**` = DRIVER_LICENSE`, this is the State or province where the customer's driver's license was issued.\n\nIf **type**` = PASSPORT`, this is the Issuing country for the cardholder's passport. Recommended for Discover ProtectBuy.\n\nUse the two-character [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\n#### TeleCheck\nContact your TeleCheck representative to find out whether this field is required or optional.\n\n#### All Other Processors\nNot used.\n\nFor details about the country that issued the passport, see `customer_passport_country` field description in [CyberSource Payer Authentication Using the SCMP API]\n(https://apps.cybersource.com/library/documentation/dev_guides/Payer_Authentication_SCMP_API/html/)\n\nFor details about the state or province that issued the passport, see `driver_license_state` field description in [Electronic Check Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" }, "verificationResults": { "type": "string", "description": "Verification results received from Issuer or Card Network for verification transactions. Response Only Field.\n" } } } }, "mobilePhone": { "type": "integer", "maxLength": 25, "description": "Cardholder's mobile phone number.\n**Important** Required for Visa Secure transactions in Brazil.\nDo not use this request field for any other types of transactions.\n" }, "workPhone": { "type": "integer", "maxLength": 25, "description": "Cardholder's work phone number." } } }, "deviceInformation": { "type": "object", "properties": { "ipAddress": { "type": "string", "maxLength": 45, "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" }, "rawData": { "type": "array", "items": { "type": "object", "properties": { "data": { "type": "string", "description": "Field that contains the device fingerprint data from the specified provider. The value should be Base64 encoded.\n" }, "provider": { "type": "string", "maxLength": 32, "description": "Possible values:\n- cardinal\n- inauth\n- threatmetrix\n" } } } }, "httpAcceptBrowserValue": { "type": "string", "maxLength": 255, "description": "Value of the Accept header sent by the customer's web browser.\n**Note** If the customer's browser provides a value, you must include it in your request.\n" }, "httpAcceptContent": { "type": "string", "maxLength": 256, "description": "The exact content of the HTTP accept header.\n" }, "httpBrowserLanguage": { "type": "string", "maxLength": 8, "description": "Value represents the browser language as defined in IETF BCP47.\nExample:en-US, refer https://en.wikipedia.org/wiki/IETF_language_tag for more details.\n" }, "httpBrowserJavaEnabled": { "type": "boolean", "description": "A Boolean value that represents the ability of the cardholder browser to execute Java.\nValue is returned from the navigator.javaEnabled property. Possible Values:True/False\n" }, "httpBrowserJavaScriptEnabled": { "type": "boolean", "description": "A Boolean value that represents the ability of the cardholder browser to execute JavaScript. Possible Values:True/False.\n**Note**: Merchants should be able to know the values from fingerprint details of cardholder's browser.\n" }, "httpBrowserColorDepth": { "type": "string", "maxLength": 2, "description": "Value represents the bit depth of the color palette for displaying images, in bits per pixel.\nExample : 24, refer https://en.wikipedia.org/wiki/Color_depth for more details\n" }, "httpBrowserScreenHeight": { "type": "string", "maxLength": 6, "description": "Total height of the Cardholder's scree in pixels, example: 864.\n" }, "httpBrowserScreenWidth": { "type": "string", "maxLength": 6, "description": "Total width of the cardholder's screen in pixels. Example: 1536.\n" }, "httpBrowserTimeDifference": { "type": "string", "maxLength": 5, "description": "Time difference between UTC time and the cardholder browser local time, in minutes, Example:300\n" }, "userAgentBrowserValue": { "type": "string", "maxLength": 255, "description": "Value of the User-Agent header sent by the customer's web browser.\nNote If the customer's browser provides a value, you must include it in your request.\n" } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "name": { "type": "string", "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" }, "url": { "type": "string", "maxLength": 255, "description": "Address of company's website provided by merchant\n" } } }, "merchantName": { "type": "string", "maxLength": 25, "description": "Your company's name as you want it to appear to the customer in the issuing bank's authentication form.\nThis value overrides the value specified by your merchant bank.\n" } } }, "acquirerInformation": { "type": "object", "properties": { "acquirerBin": { "type": "string", "maxLength": 11, "description": "Acquirer bank ID number that corresponds to a certificate that Cybersource already has.This ID has this format. 4XXXXX for Visa and 5XXXXX for Mastercard.\n" }, "country": { "type": "string", "maxLength": 2, "description": "Issuers need to be aware of the Acquirer's Country Code when the Acquirer country differs from the Merchant country and the Acquirer is in the EEA (European Economic Area).\n" }, "password": { "type": "string", "maxLength": 8, "description": "Registered password for the Visa directory server.\n" }, "merchantId": { "type": "string", "maxLength": 15, "description": "Username for the visa directory server that is created when your acquirer sets up your account. This ID might be the same as your merchant ID. the username can be 15 or 23 characters.\n" } } }, "recurringPaymentInformation": { "type": "object", "description": "This object contains recurring payment information.", "properties": { "endDate": { "type": "string", "maxLength": 10, "description": "The date after which no further recurring authorizations should be performed. Format: `YYYY-MM-DD`\n**Note** This field is required for recurring transactions.\n" }, "frequency": { "type": "integer", "maxLength": 4, "description": "Integer value indicating the minimum number of days between recurring authorizations. A frequency\nof monthly is indicated by the value 28. Multiple of 28 days will be used to indicate months.\n\nExample: 6 months = 168\n\nExample values accepted (31 days):\n- 31\n- 031\n- 0031\n\n**Note** This field is required for recurring transactions.\n" }, "numberOfPayments": { "type": "integer", "maxLength": 3, "description": "Total number of payments for the duration of the recurring subscription.\n" }, "originalPurchaseDate": { "type": "string", "maxLength": 17, "description": "Date of original purchase. Required for recurring transactions.\nFormat: `YYYY-MM-DDTHH:MM:SSZ`\n**Note**: If this field is empty, the current date is used.\n" }, "sequenceNumber": { "type": "integer", "maxLength": 3, "description": "This field is mandatory for Cartes Bancaires recurring transactions on Credit Mutuel-CIC. \nThis field records recurring sequence, e.g. 1st for initial, 2 for subsequent, 3 etc\n" }, "type": { "type": "string", "maxLength": 1, "description": "This contains the type of recurring payment.\nValid Values :\n1 - Registration/First transaction\n2 - Subsequent transaction\n3 - Modification\n4 - Cancellation\n" }, "occurrence": { "type": "string", "maxLength": 2, "description": "This value indicates how often a recurring payment occurs.\nValid Values :\n\u2022 01 (Daily)\n\u2022 02 (Twice weekly)\n\u2022 03 (Weekly)\n\u2022 04 (Ten days)\n\u2022 05 (Fortnightly)\n\u2022 06 (Monthly)\n\u2022 07 (Every two months)\n\u2022 08 (Trimester)\n\u2022 09 (Quarterly)\n\u2022 10 (Twice yearly)\n\u2022 11 (Annually)\n\u2022 12 (Unscheduled)\n" }, "validationIndicator": { "type": "string", "maxLength": 1, "description": "This tag will contain a value that indicates whether or not the recurring payment transaction has been validated.\nValid values :\n0- Not validated\n1- Validated\n" }, "amountType": { "type": "string", "maxLength": 1, "description": "Indicates recurring amount type agreed by the cardholder\nValid Values :\n1- Fixed amount recurring payment\n2- Recurring payment with maximum amount\n" }, "maximumAmount": { "type": "string", "maxLength": 12, "description": "This API field will contain the maximum amount agreed to by the cardholder. The currency of this amount\nwill be specified in Field 49\u2014Currency Code,Transaction.\n" }, "referenceNumber": { "type": "string", "maxLength": 35, "description": "This will contain a unique reference number for the recurring payment transaction.\n" } } }, "consumerAuthenticationInformation": { "type": "object", "properties": { "strongAuthentication": { "type": "object", "properties": { "authenticationIndicator": { "type": "string", "maxLength": 2, "description": "Indicates the type of Authentication request\n\n01 - Payment transaction\n\n02 - Recurring transaction\n\n03 - Installment transaction\n\n04 - Add card\n\n05 - Maintain card\n\n06 - Cardholder verification as part of EMV token ID and V\n" } } }, "authenticationType": { "type": "string", "maxLength": 2, "description": "Indicates the type of authentication that will be used to challenge the card holder.\n\nPossible Values:\n\n01 - Static\n\n02 - Dynamic\n\n03 - OOB (Out of Band)\n\n04 - Decoupled\n\n20 - OTP hosted at merchant end. (Rupay S2S flow)\n**NOTE**: EMV 3-D Secure version 2.1.0 supports values 01-03. Version 2.2.0 supports values 01-04. Decoupled authentication is not supported at this time.\n" }, "acsWindowSize": { "type": "string", "maxLength": 2, "description": "An override field that a merchant can pass in to set the challenge window size to display to the end cardholder. The ACS (Active Control Server) will reply with content that is formatted appropriately to this window size to allow for the best user experience. The sizes are width x height in pixels of the window displayed in the cardholder browser window.\n\n01 - 250x400\n\n02 - 390x400\n\n03 - 500x600\n\n04 - 600x400\n\n05 - Full page\n" }, "alternateAuthenticationData": { "type": "string", "maxLength": 2048, "description": "Data that documents and supports a specific authentication process.\n" }, "alternateAuthenticationDate": { "type": "string", "maxLength": 14, "description": "Date and time in UTC of the cardholder authentication. Format: YYYYMMDDHHMM\n" }, "alternateAuthenticationMethod": { "type": "string", "description": "Mechanism used by the cardholder to authenticate to the 3D Secure requestor.\nPossible values:\n- `01`: No authentication occurred\n- `02`: Login using merchant system credentials\n- `03`: Login using Federated ID\n- `04`: Login using issuer credentials\n- `05`: Login using third-party authenticator\n- `06`: Login using FIDO Authenticator\n" }, "authenticationDate": { "type": "string", "maxLength": 14, "description": "The date/time of the authentication at the 3DS servers. RISK update authorization service in auth request\npayload with value returned in `consumerAuthenticationInformation.alternateAuthenticationData` if merchant calls via CYBS or field can be\nprovided by merchant in authorization request if calling an external 3DS provider.\n\nThis field is supported for Cartes Bancaires Fast'R transactions on Credit Mutuel-CIC.\nFormat: YYYYMMDDHHMMSS\n" }, "authenticationTransactionId": { "type": "string", "maxLength": 26, "description": "Payer authentication transaction identifier passed to link the check enrollment\nand validate authentication messages.For Rupay,this is passed only in Re-Send OTP usecase.\n**Note**: Required for Standard integration, Rupay Seamless server to server integration for enroll service.\nRequired for Hybrid integration for validate service.\n" }, "transactionFlowIndicator": { "type": "integer", "maxLength": 2, "description": "This field is only applicable to Rupay and is optional. Merchant will have to pass a valid value from 01 through 07 which indicates the transaction flow. Below are the possible values.\n01:NW- Transaction performed at domestic merchant.\n02:TW- Transaction performed at domestic merchant along with Token provisioning.\n03:IT- Transaction performed at International merchant.\n04:AT- Authentication Transaction Only.\n05:AW- Authentication transaction for provisioning.\n06:DI- Domestic InApp Transaction.\n07:II- International InApp transaction.\n08:GC- Guest Checkout\n09:ST- SI Authentication Transaction only\n10:SW- SI Authorization along with token provisioning\n" }, "challengeCancelCode": { "type": "string", "maxLength": 2, "description": "An indicator as to why the transaction was canceled.\nPossible Values:\n\n- `01`: Cardholder selected Cancel.\n- `02`: Reserved for future EMVCo use (values invalid until defined by EMVCo).\n- `03`: Transaction Timed Out\u2014Decoupled Authentication\n- `04`: Transaction timed out at ACS\u2014other timeouts\n- `05`: Transaction Timed out at ACS - First CReq not received by ACS\n- `06`: Transaction Error\n- `07`: Unknown\n- `08`: Transaction Timed Out at SDK\n" }, "challengeCode": { "type": "string", "description": "Possible values:\n- `01`: No preference\n- `02`: No challenge request\n- `03`: Challenge requested (3D Secure requestor preference)\n- `04`: Challenge requested (mandate)\n- `05`: No challenge requested (transactional risk analysis is already performed)\n- `06`: No challenge requested (Data share only)\n- `07`: No challenge requested (strong consumer authentication is already performed)\n- `08`: No challenge requested (utilize whitelist exemption if no challenge required)\n- `09`: Challenge requested (whitelist prompt requested if challenge required)\n**Note** This field will default to `01` on merchant configuration and can be overridden by the merchant.\nEMV 3D Secure version 2.1.0 supports values `01-04`. Version 2.2.0 supports values `01-09`.\n\nFor details, see `pa_challenge_code` field description in [CyberSource Payer Authentication Using the SCMP API.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Payer_Authentication_SCMP_API/html)\n" }, "challengeStatus": { "type": "string", "maxLength": 2, "description": "The `consumerAuthenticationInformation.challengeCode` indicates the authentication type/level, or challenge, that was presented to the cardholder\nat checkout by the merchant when calling the Carte Bancaire 3DS servers via CYBS RISK services. It conveys to\nthe issuer the alternative authentication methods that the consumer used.\n" }, "customerCardAlias": { "type": "string", "maxLength": 128, "description": "An alias that uniquely identifies the customer's account and credit card on file.\nNote This field is required if Tokenization is enabled in the merchant profile settings.\n" }, "decoupledAuthenticationIndicator": { "type": "string", "maxLength": 1, "description": "Indicates whether the 3DS Requestor requests the ACS to utilize Decoupled Authentication and agrees to utilize Decoupled Authentication if the ACS confirms its use.\n\nPossible Values:\n\nY - Decoupled Authentication is supported and preferred if challenge is necessary\n\nN - Do not use Decoupled Authentication\n\n**Default Value**: N\n" }, "decoupledAuthenticationMaxTime": { "type": "string", "maxLength": 5, "description": "Indicates the maximum amount of time that the 3DS Requestor will wait for an ACS (Active control server) to provide the results of a Decoupled Authentication transaction (in minutes).\nPossible Values: Numeric values between 1 and 10080 accepted.\n" }, "defaultCard": { "type": "boolean", "description": "Indicates that the card being used is the one designated as the primary payment card for purchase.\nRecommended for Discover ProtectBuy.\n" }, "deviceChannel": { "type": "string", "maxLength": 10, "description": "Determines the channel that the transaction came through. Possible Values: SDK/Browser/3RI. 3RI - 3DS request initiated.\n" }, "installmentTotalCount": { "type": "integer", "maxLength": 4, "description": "An integer value greater than 1 indicating the max number of permitted authorizations for installment payments.\n**Note** This is required if the merchant and cardholder have agreed to installment payments.\n" }, "merchantFraudRate": { "type": "string", "maxLength": 2, "description": "Calculated by merchants as per PSD2** RTS** (EEA** card fraud divided by all EEA card volumes).\nPossible Values:\n1 = Represents fraud rate <=1\n\n2 = Represents fraud rate >1 and <=6\n\n3 = Represents fraud rate >6 and <=13\n\n4 = Represents fraud rate >13 and <=25\n\n5 = Represents fraud rate >25\n\nEEA** = European Economic Area\nRTS** = Regulatory Technical Standards\nPSD2** = Payment Services Directive\n" }, "marketingOptIn": { "type": "boolean", "description": "Indicates whether the customer has opted in for marketing offers.\nRecommended for Discover ProtectBuy.\n" }, "marketingSource": { "type": "string", "maxLength": 40, "description": "Indicates origin of the marketing offer. Recommended for Discover ProtectBuy.\n" }, "mcc": { "type": "string", "maxLength": 4, "description": "Merchant category code.\n**Important** Required only for Visa Secure transactions in Brazil.\nDo not use this request field for any other types of transactions.\n" }, "merchantScore": { "type": "integer", "maxLength": 2, "description": "Risk Score provided by merchants. This is specific for CB transactions.\n" }, "messageCategory": { "type": "string", "description": "Category of the message for a specific use case. Possible values:\n\n- `01`: PA- payment authentication\n- `02`: NPA- non-payment authentication\n- `03-79`: Reserved for EMVCo future use (values invalid until defined by EMVCo)\n- `80-99`: Reserved for DS use\n" }, "npaCode": { "type": "string", "maxLength": 2, "description": "Non-Payer Authentication Indicator.\nPossible values:\n- `01`: Add card\n- `02`: Maintain card information\n- `03`: Cardholder verification for EMV token\n- `04-80` Reserved for EMVCo\n- `80-90` Reserved DS\n" }, "overridePaymentMethod": { "type": "string", "description": "Specifies the Brazilian payment account type used for the transaction.\nThis field overrides other payment types that might be specified in the request.\nUse one of the following values for this field:\n- `NA`: Not applicable. Do not override other payment types that are specified in the request.\n- `CR`: Credit card.\n- `DB`: Debit card.\n- `VSAVR`: Visa Vale Refeicao\n- `VSAVA`: Visa Vale Alimentacao\n**Important** Required only for Visa Secure transactions in Brazil.\nDo not use this request field for any other types of transactions.\n" }, "overrideCountryCode": { "type": "string", "maxLength": 2, "description": "Two-character [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)..\n" }, "priorAuthenticationData": { "type": "string", "maxLength": 2048, "description": "This field carry data that the ACS can use to verify the authentication process.\n" }, "priorAuthenticationMethod": { "type": "string", "maxLength": 2, "description": "Mechanism used by the Cardholder to previously authenticate to the 3DS Requestor.\n\n01 - Frictionless authentication occurred by ACS\n\n02 - Cardholder challenge occurred by ACS\n\n03 - AVS verified\n\n04 - Other issuer methods\n\n05-79 - Reserved for EMVCo future use (values invalid until defined by EMVCo)\n\n80-99 - Reserved for DS use\n" }, "priorAuthenticationReferenceId": { "type": "string", "maxLength": 36, "description": "This data element contains a ACS Transaction ID for a prior authenticated transaction.\nFor example, the first recurring transaction that was authenticated with the cardholder\n" }, "priorAuthenticationTime": { "type": "string", "maxLength": 12, "description": "Date and time in UTC of the prior cardholder authentication. Format \u2013 YYYYMMDDHHMM\n" }, "productCode": { "type": "string", "maxLength": 3, "description": "Specifies the product code, which designates the type of transaction.\nSpecify one of the following values for this field:\n- AIR: Airline purchase\nImportant Required for American Express SafeKey (U.S.).\n- `ACC`: Accommodation Rental\n- `ACF`: Account funding\n- `CHA`: Check acceptance\n- `DIG`: Digital Goods\n- `DSP`: Cash Dispensing\n- `GAS`: Fuel\n- `GEN`: General Retail\n- `LUX`: Luxury Retail\n- `PAL`: Prepaid activation and load\n- `PHY`: Goods or services purchase\n- `QCT`: Quasi-cash transaction\n- `REN`: Car Rental\n- `RES`: Restaurant\n- `SVC`: Services\n- `TBD`: Other\n- `TRA`: Travel\n**Important** Required for Visa Secure transactions in Brazil.\nDo not use this request field for any other types of transactions.\n" }, "returnUrl": { "type": "string", "maxLength": 2048, "description": "The URL of the merchant's return page. CyberSource adds this return URL to the step-up JWT and returns it in the\nresponse of the Payer Authentication enrollment call. The merchant's return URL page serves as a listening URL.\nOnce the bank session completes, the merchant receives a POST to their URL. This response contains the completed\nbank session's transactionId. The merchant's return page should capture the transaction ID and send it in the\nPayer Authentication validation call.\n" }, "requestorId": { "type": "string", "maxLength": 35, "description": "Cardinal's directory server assigned 3DS Requestor ID value" }, "requestorInitiatedAuthenticationIndicator": { "type": "string", "maxLength": 2, "description": "Indicates the type of 3RI request.\n\nPossible Values:\n\n01 - Recurring transaction\n\n02 - Installment transaction\n\n03 - Add card\n\n04 - Maintain card\n\n05 - Account verification\n\n06 - Split/delayed shipment\n\n07 - Top-up\n\n08 - Mail Order\n\n09 - Telephone Order\n\n10 - Whitelist status check\n\n11 - Other payment\n" }, "requestorName": { "type": "string", "maxLength": 40, "description": "Cardinal's directory server assigned 3DS Requestor Name value" }, "referenceId": { "type": "string", "maxLength": 50, "description": "Reference ID that corresponds to the device fingerprinting data that was collected previously.\nNote Required for Hybrid integration.\n" }, "sdkMaxTimeout": { "type": "string", "maxLength": 2, "description": "This field indicates the maximum amount of time for all 3DS 2.0 messages to be communicated between all components (in minutes).\n\nPossible Values:\n\nGreater than or equal to 05 (05 is the minimum timeout to set)\n\nCardinal Default is set to 15\n\nNOTE: This field is a required 3DS 2.0 field and Cardinal sends in a default of 15 if nothing is passed\n" }, "secureCorporatePaymentIndicator": { "type": "string", "maxLength": 1, "description": "Indicates dedicated payment processes and procedures were used, potential secure corporate payment exemption applies.\nPossible Values : 0/1\n" }, "transactionMode": { "type": "string", "description": "Transaction mode identifier. Identifies the channel from which the transaction originates.\nPossible values:\n\n- `M`: MOTO (Mail Order Telephone Order)\n- `R`: Retail\n- `S`: eCommerce\n- `P`: Mobile Device\n- `T`: Tablet\n" }, "whiteListStatus": { "type": "string", "maxLength": 1, "description": "Enables the communication of trusted beneficiary/whitelist status between the ACS, the DS and the 3DS Requestor.\n\nPossible Values:\n\nY - 3DS Requestor is whitelisted by cardholder\n\nN - 3DS Requestor is not whitelisted by cardholder\n" }, "scoreRequest": { "type": "integer", "description": "Risk Assessment from Mastercard. This is to be sent by merchant if they would like to request a score" } } }, "riskInformation": { "type": "object", "properties": { "buyerHistory": { "type": "object", "properties": { "customerAccount": { "type": "object", "properties": { "lastChangeDate": { "type": "string", "maxLength": 10, "description": "Date the cardholder's account was last changed.\nThis includes changes to the billing or shipping address, new payment accounts or new users added.\nRecommended for Discover ProtectBuy.\n" }, "creationHistory": { "type": "string", "description": "The values from the enum can be:\n- GUEST\n- NEW_ACCOUNT\n- EXISTING_ACCOUNT\n" }, "modificationHistory": { "type": "string", "description": "This field is applicable only in case of EXISTING_ACCOUNT in creationHistory. Possible values:\n- ACCOUNT_UPDATED_NOW\n- ACCOUNT_UPDATED_PAST\n" }, "passwordHistory": { "type": "string", "description": "This only applies for EXISTING_ACCOUNT in creationHistory.\nThe values from the enum can be:\n- PASSWORD_CHANGED_NOW\n- PASSWORD_CHANGED_PAST\n- PASSWORD_NEVER_CHANGED\n" }, "createDate": { "type": "string", "maxLength": 10, "description": "Date the cardholder opened the account.\nRecommended for Discover ProtectBuy.\nThis only applies for EXISTING_ACCOUNT in creationHistory.\n" }, "passwordChangeDate": { "type": "string", "maxLength": 10, "description": "Date the cardholder last changed or reset password on account.\nRecommended for Discover ProtectBuy.\nThis only applies for PASSWORD_CHANGED_PAST in passwordHistory.\n" } } }, "accountHistory": { "type": "object", "properties": { "firstUseOfShippingAddress": { "type": "boolean", "description": "Applicable when this is not a guest account.\n" }, "shippingAddressUsageDate": { "type": "string", "maxLength": 10, "description": "Date when the shipping address for this transaction was first used.\nRecommended for Discover ProtectBuy.\nIf `firstUseOfShippingAddress` is false and not a guest account, then this date is entered.\n" } } }, "accountPurchases": { "type": "integer", "maxLength": 4, "description": "Number of purchases with this cardholder account during the previous six months.\nRecommended for Discover ProtectBuy.\n" }, "addCardAttempts": { "type": "integer", "maxLength": 3, "description": "Number of add card attempts in the last 24 hours.\nRecommended for Discover ProtectBuy.\n" }, "priorSuspiciousActivity": { "type": "boolean", "description": "Indicates whether the merchant experienced suspicious activity (including previous fraud) on the account.\nRecommended for Discover ProtectBuy.\n" }, "paymentAccountHistory": { "type": "string", "description": "This only applies for NEW_ACCOUNT and EXISTING_ACCOUNT in creationHistory. Possible values are:\n- PAYMENT_ACCOUNT_EXISTS\n- PAYMENT_ACCOUNT_ADDED_NOW\n" }, "paymentAccountDate": { "type": "integer", "maxLength": 8, "description": "Date applicable only for PAYMENT_ACCOUNT_EXISTS in paymentAccountHistory\n" }, "transactionCountDay": { "type": "integer", "maxLength": 3, "description": "Number of transaction (successful or abandoned) for this cardholder account within the last 24 hours.\nRecommended for Discover ProtectBuy.\n" }, "transactionCountYear": { "type": "integer", "maxLength": 3, "description": "Number of transaction (successful or abandoned) for this cardholder account within the last year.\nRecommended for Discover ProtectBuy.\n" } } } } }, "travelInformation": { "type": "object", "properties": { "legs": { "type": "array", "items": { "type": "object", "properties": { "origination": { "type": "string", "maxLength": 3, "description": "Use to specify the airport code for the origin of the leg of the trip, which is designated by the pound (#)\nsymbol in the field name. This code is usually three digits long, for example: SFO = San Francisco.\nDo not use the colon (:) or the dash (-). For airport codes, see the IATA Airline and Airport Code Search.\nThe leg number can be a positive integer from 0 to N.\nFor example:\n`travelInformation.legs.0.origination=SFO`\n`travelInformation.legs.1.origination=SFO`\n\n**Note** In your request, send either the complete route or the individual legs (`legs.0.origination` and `legs.n.destination`). If you\nsend all the fields, the complete route takes precedence over the individual legs.\n\nFor details, see the `decision_manager_travel_leg#_orig` field description in _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "destination": { "type": "string", "maxLength": 3, "description": "Use to specify the airport code for the destination of the leg of the trip, which is designated by the pound (#)\nsymbol in the field name. This code is usually three digits long, for example: SFO = San Francisco. Do not use the\ncolon (:) or the dash (-). For airport codes, see [IATA Airline and Airport Code Search](https://www.iata.org/publications/Pages/code-search.aspx). The leg number can be a\npositive integer from 0 to N.\nFor example:\n\n`travelInformation.legs.0.destination=SFO`\n`travelInformation.legs.1.destination=SFO`\n\n**Note** In your request, send either the complete route or the individual legs (`legs.0.origination` and `legs.n.destination`). If you\nsend all the fields, the complete route takes precedence over the individual legs.\n\nFor details, see the `decision_manager_travel_leg#_dest` field description in _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "carrierCode": { "type": "string", "maxLength": 2, "description": "International Air Transport Association (IATA) code for the carrier for this leg of the trip.\nRequired for each leg.\nRequired for American Express SafeKey (U.S.) for travel-related requests.\n" }, "departureDate": { "type": "string", "description": "Departure date for the first leg of the trip. Format: YYYYMMDD.\nRequired for American Express SafeKey (U.S.) for travel-related requests.\n" } } } }, "numberOfPassengers": { "type": "integer", "maxLength": 3, "description": "Number of passengers for whom the ticket was issued.\nIf you do not include this field in your request, CyberSource uses a default value of 1.\nRequired for American Express SafeKey (U.S.) for travel-related requests.\n" }, "passengers": { "type": "array", "items": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "First name of the passenger to whom the ticket was issued.\nIf there are multiple passengers, include all listed on the ticket.\nDo not include special characters such as commas, hyphens, or apostrophes.\nOnly ASCII characters are supported.\nRequired for American Express SafeKey (U.S.) for travel-related requests.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Last name of the passenger to whom the ticket was issued.\nIf there are multiple passengers, include all listed on the ticket.\nDo not include special characters such as commas, hyphens, or apostrophes.\nOnly ASCII characters are supported.\nRequired for American Express SafeKey (U.S.) for travel-related requests.\n" } } } } } }, "merchantDefinedInformation": { "type": "array", "items": { "type": "object", "description": "Contains merchant-defined key-value pairs.", "properties": { "key": { "type": "string", "maxLength": 255, "description": "Fields that you can use to store information. The value\nappears in the Case Management Details window in the\nBusiness Center. The first four fields are the same fields\nthat are used by the Secure Data services. See request\ncode examples.\n**Warning** Merchant-defined data fields are not intended\nto and must not be used to capture personally identifying\ninformation. Accordingly, merchants are prohibited from\ncapturing, obtaining, and/or transmitting any personally\nidentifying information in or via the merchant-defined data\nfields. Personally identifying information includes, but is\nnot limited to, address, credit card number, social security\nnumber, driver's license number, state-issued\nidentification number, passport number, and card\nverification numbers (CVV, CVC2, CVV2, CID, CVN). In\nthe event CyberSource discovers that a merchant is\ncapturing and/or transmitting personally identifying\ninformation via the merchant-defined data fields, whether\nor not intentionally, CyberSource will immediately\nsuspend the merchant's account, which will result in a\nrejection of any and all transaction requests submitted by\nthe merchant after the point of suspension.\n" }, "value": { "type": "string", "maxLength": 255, "description": "String value for the key" } } } } } } } ], "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.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "submitTimeLocal": { "type": "string", "description": "Time that the transaction was submitted in local time. Generated by Cybersource." }, "status": { "type": "string", "description": "The status for payerAuthentication 201 enroll and validate calls. Possible values are:\n- `AUTHENTICATION_SUCCESSFUL`\n- `PENDING_AUTHENTICATION`\n- `INVALID_REQUEST`\n- `AUTHENTICATION_FAILED`\n" }, "message": { "type": "string", "description": "The message describing the reason of the status. Value is:\n- The cardholder is enrolled in Payer Authentication. Please authenticate\nthe cardholder before continuing with the transaction.\n" }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "comments": { "type": "string", "maxLength": 255, "description": "Brief description of the order or any comment you wish to add to the order.\n" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" } } } } }, "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.\nNote - Max Length of this field is 2048 characters.\n" }, "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.\n" }, "acsTransactionId": { "type": "string", "maxLength": 36, "description": "Unique transaction identifier assigned by the ACS to identify a single transaction.\n" }, "acsUrl": { "type": "string", "maxLength": 2048, "description": "URL for the card-issuing bank's authentication form that you receive when the card is enrolled.\nThe value can be very large.\n" }, "authenticationPath": { "type": "string", "description": "Indicates what displays to the customer during the authentication process.\nThis field can contain one of these values:\n- `ADS`: (Card not enrolled) customer prompted to activate the card during the checkout process.\n- `ATTEMPTS`: (Attempts processing) Processing briefly displays before the checkout process is completed.\n- `ENROLLED`: (Card enrolled) the card issuer's authentication window displays.\n- `UNKNOWN`: Card enrollment status cannot be determined.\n- `NOREDIRECT`: (Card not enrolled, authentication unavailable, or error occurred) nothing displays to the customer.\n\nThe following values can be returned if you are using rules-based payer authentication.\n- `RIBA`: The card-issuing bank supports risk-based authentication, but whether the cardholder is likely\nto be challenged cannot be determined.\n- `RIBA_PASS`: The card-issuing bank supports risk-based authentication and it is likely that the\ncardholder will not be challenged to provide credentials, also known as _silent authentication_.\n\nFor details about possible values, see `pa_enroll_authentication_path` field description and \"Rules-Based Payer Authentication\"\nin [CyberSource Payer Authentication Using the SCMP API.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Payer_Authentication_SCMP_API/html/)\n" }, "authorizationPayload": { "type": "string", "description": "The Base64 encoded JSON Payload of CB specific Authorization Values returned in the challenge Flow\n" }, "authenticationType": { "type": "string", "maxLength": 2, "description": "Indicates the type of authentication that will be used to challenge the card holder.\n\nPossible Values:\n\n01 - Static\n\n02 - Dynamic\n\n03 - OOB (Out of Band)\n\n04 - Decoupled\n\n20 - OTP hosted at merchant end. (Rupay S2S flow)\n**NOTE**: EMV 3-D Secure version 2.1.0 supports values 01-03. Version 2.2.0 supports values 01-04. Decoupled authentication is not supported at this time.\n" }, "authenticationTransactionId": { "type": "string", "maxLength": 26, "description": "Payer authentication transaction identifier is used to link the check\nenrollment and validate authentication messages. For Rupay, this field should be passed as request only for Resend OTP use case.\n" }, "authenticationTransactionContextId": { "type": "string", "maxLength": 30, "description": "Payer authentication transaction identifier passed to link the validation and authorization calls.\n" }, "validityPeriod": { "type": "integer", "maxLength": 2, "description": "Describes validity of OTP in minutes for incoming transaction. .\n" }, "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.\nFor example, \"Additional authentication is needed for this transaction, please contact (Issuer Name) at xxx-xxx-xxxx.\".\nThe Issuing Bank can optionally support this value.\n" }, "cavv": { "type": "string", "maxLength": 255, "description": "Unique identifier generated by the card-issuing bank for Visa, American Express, JCB, Diners Club, and\nDiscover transactions after the customer is authenticated. The value is in base64. When you\nrequest the card authorization service, CyberSource automatically converts the value, not the field name,\nto the format required by your payment processor.\n" }, "cavvAlgorithm": { "type": "string", "maxLength": 1, "description": "Field that is returned only when the CAVV is generated, which occurs when paresStatus\ncontains the values Y (successful authentication) or A (attempted authentication). If\nyou use the ATOS processor, send the value of this field in the `cavv_algorithm` request field of the\nauthorization service. This field contains one of these values:\n- `2`: Visa, American Express, JCB, Diners Club, and Discover\n- `3`: Mastercard\n" }, "challengeCancelCode": { "type": "string", "maxLength": 2, "description": "An indicator as to why the transaction was canceled.\nPossible Values:\n\n- `01`: Cardholder selected Cancel.\n- `02`: Reserved for future EMVCo use (values invalid until defined by EMVCo).\n- `03`: Transaction Timed Out\u2014Decoupled Authentication\n- `04`: Transaction timed out at ACS\u2014other timeouts\n- `05`: Transaction Timed out at ACS - First CReq not received by ACS\n- `06`: Transaction Error\n- `07`: Unknown\n- `08`: Transaction Timed Out at SDK\n" }, "challengeRequired": { "type": "string", "maxLength": 1, "description": "Indicates whether a challenge is required in order to complete authentication.\n**Note** Regional mandates might determine that a challenge is required.\n\nPossible values:\n- `Y`: Challenge required\n- `N`: Challenge not required\n**Note** Used by the Hybrid integration.\n" }, "decoupledAuthenticationIndicator": { "type": "string", "maxLength": 1, "description": "Indicates whether the 3DS Requestor requests the ACS to utilize Decoupled Authentication and agrees to utilize Decoupled Authentication if the ACS confirms its use.\n\nPossible Values:\n\nY - Decoupled Authentication is supported and preferred if challenge is necessary\n\nN - Do not use Decoupled Authentication\n\n**Default Value**: N\n" }, "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.\n" }, "directoryServerErrorDescription": { "type": "string", "maxLength": 4096, "description": "Directory server text and additional detail about the error for this transaction.\n" }, "ecommerceIndicator": { "type": "string", "maxLength": 255, "description": "Commerce indicator for cards not enrolled. This field contains one of these values:\n- `internet`: Card not enrolled, or card type not supported by payer authentication. No liability shift.\n- `js_attempted`: Card not enrolled, but attempt to authenticate is recorded. Liability shift.\n- `js_failure`: J/Secure directory service is not available. No liability shift.\n- `spa`: Mastercard card not enrolled in the SecureCode program. No liability shift.\n- `vbv_attempted`: Card not enrolled, but attempt to authenticate is recorded. Liability shift.\n- `vbv_failure`: For payment processor Barclays, Streamline, AIBMS, or FDC Germany, you receive\nthis result if Visa's directory service is not available. No liability shift.\n" }, "eci": { "type": "string", "description": "Note This field applies only to non-U.S-issued cards.\n\nFor enroll, Numeric electronic commerce indicator (ECI) returned only for Visa, American Express, JCB,\nDiners Club, and Discover transactions when the card is not enrolled. For more information, see\n\"Interpreting the Reply,\" page 22.\n\nIf you are not using the CyberSource payment services, you must send this value to your payment\nprocessor in the subsequent request for card authorization. This field contains one of these values:\n- `06`: The card can be enrolled. Liability shift.\n- `07`: The card cannot be enrolled. No liability shift.\n\nFor validate, Numeric electronic commerce indicator (ECI) returned only for Visa, American Express, JCB,\nDiners Club, and Discover transactions. The field is absent when authentication fails.\nYou must send this value to your payment processor in the subsequent request for card authorization.\nThis field contains one of these values:\n- `05`: Successful authentication\n- `06`: Authentication attempted\n- `07`: Failed authentication (No response from the merchant because of a problem.)\n" }, "eciRaw": { "type": "string", "description": "ECI value that can be returned for Visa, Mastercard, American Express, JCB, Diners Club, and Discover.\nThe field is absent when authentication fails. If your payment processor is Streamline, you must pass the\nvalue of this field instead of the value of `eci` or `ucafCollectionIndicator`.\n\nThis field can contain one of these values:\n- `01`: Authentication attempted (Mastercard)\n- `02`: Successful authentication (Mastercard)\n- `05`: Successful authentication (Visa, American Express, JCB, Diners Club, and Discover)\n- `06`: Authentication attempted (Visa, American Express, JCB, Diners Club, and Discover)\n" }, "effectiveAuthenticationType": { "type": "string", "maxLength": 2, "description": "This field describes the type of 3DS transaction flow that took place. It can be one of three possible flows;\nCH - Challenge\nFR - Frictionless\nFD - Frictionless with delegation, (challenge not generated by the issuer but by the scheme on behalf of the issuer).\n" }, "ivr": { "type": "object", "properties": { "enabledMessage": { "type": "boolean", "description": "Flag to indicate if a valid IVR transaction was detected.\n" }, "encryptionKey": { "type": "string", "maxLength": 16, "description": "Encryption key to be used in the event the ACS requires encryption of the credential field.\n" }, "encryptionMandatory": { "type": "boolean", "description": "Flag to indicate if the ACS requires the credential to be encrypted.\n" }, "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.\n" }, "label": { "type": "string", "maxLength": 20, "description": "An ACS Provided label that can be presented to the Consumer. Recommended use with an application.\n" }, "prompt": { "type": "string", "maxLength": 80, "description": "An ACS provided string that can be presented to the Consumer. Recommended use with an application.\n" }, "statusMessage": { "type": "string", "maxLength": 80, "description": "An ACS provided message that can provide additional information or details.\n" } } }, "networkScore": { "type": "string", "maxLength": 2, "description": "The global score calculated by the CB scoring platform and returned to merchants.\n" }, "pareq": { "type": "string", "description": "Payer authentication request (PAReq) message that you need to forward to the ACS.\nThe value can be very large. The value is in base64.\n" }, "paresStatus": { "type": "string", "description": "Raw result of the authentication check. If you are configured for Asia, Middle East, and Africa Gateway\nProcessing, you need to send the value of this field in your authorization request. This field can contain\none of these values:\n- `A`: Proof of authentication attempt was generated.\n- `N`: Customer failed or canceled authentication. Transaction denied.\n- `U`: Authentication not completed regardless of the reason.\n- `Y`: Customer was successfully authenticated.\n" }, "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. For details about possible values, see the `pa_enroll_proofxml` field description in\n[CyberSource Payer Authentication Using the SCMP API.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Payer_Authentication_SCMP_API/html/)\n- For cards issued in the U.S. or Canada, Visa may require this data for specific merchant category codes.\n- 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.\n" }, "sdkTransactionId": { "type": "string", "maxLength": 36, "description": "SDK unique transaction identifier that is generated on each new transaction.\n" }, "signedParesStatusReason": { "type": "string", "maxLength": 2, "description": "Provides additional information as to why the PAResStatus has a specific value.\n" }, "specificationVersion": { "type": "string", "description": "This field contains the 3D Secure version that was used to process the transaction. For example, 1.0.2 or 2.0.0.\n" }, "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.\n" }, "threeDSServerTransactionId": { "type": "string", "maxLength": 36, "description": "Unique transaction identifier assigned by the 3DS Server to identify a single transaction.\n" }, "ucafAuthenticationData": { "type": "string", "description": "AAV is a unique identifier generated by the card-issuing bank for Mastercard Identity Check\ntransactions after the customer is authenticated. The value is in base64.\nInclude the data in the card authorization request.\n" }, "ucafCollectionIndicator": { "type": "string", "description": "For enroll, Returned only for Mastercard transactions. Indicates that authentication is not required because the\ncustomer is not enrolled. Add the value of this field to the authorization field ucaf_collection_indicator.\nThis field can contain these values: 0, 1.\n\nFor validate, Numeric electronic commerce indicator (ECI) returned only for Mastercard Identity Check\ntransactions. The field is absent when authentication fails. You must send this value to your payment\nprocessor in the request for card authorization. This field contain one of these values:\n- `0`: Authentication data not collected, and customer authentication was not completed.\n- `1`: Authentication data not collected because customer authentication was not completed.\n- `2`: Authentication data collected because customer completed authentication.\n" }, "veresEnrolled": { "type": "string", "description": "Result of the enrollment check. This field can contain one of these values:\n- `Y`: Card enrolled or can be enrolled; you must authenticate. Liability shift.\n- `N`: Card not enrolled; proceed with authorization. Liability shift.\n- `U`: Unable to authenticate regardless of the reason. No liability shift.\n\n**Note** This field only applies to the Asia, Middle East, and Africa Gateway. If you are configured for\nthis processor, you must send the value of this field in your authorization request.\n\nThe following value can be returned if you are using rules-based Payer Authentication:\n- `B`: Indicates that authentication was bypassed.\n\nFor details, see `pa_enroll_veres_enrolled` field description in [CyberSource Payer Authentication Using the SCMP API.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Payer_Authentication_SCMP_API/html/)\n" }, "whiteListStatusSource": { "type": "string", "maxLength": 2, "description": "This data element will be populated by the system setting Whitelist Status. Possible Values: 01 - 3DS/ Server/ 02 \u2013 DS/03 - ACS\n" }, "xid": { "type": "string", "description": "Transaction identifier generated by CyberSource for successful enrollment or validation checks.\nUse this value, which is in base64, to match an outgoing PAReq with an incoming PARes.\nCyberSource forwards the XID with the card authorization service to these payment processors in these cases:\n- Barclays\n- Streamline (when the **ecommerceIndicator**`=spa`)\n" }, "directoryServerTransactionId": { "type": "string", "maxLength": 36, "description": "The Directory Server Transaction ID is generated by the Mastercard Directory Server during the authentication transaction and passed back to the merchant with the authentication results.\nFor Cybersource Through Visanet Gateway:\nThe value for this field corresponds to the following data in the TC 33 capture file3: Record: CP01 TCR7, Position: 114-149, Field: MC AVV Verification\u2014Directory Server Transaction ID\n" }, "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:\n- `INVALID_MERCHANT_CONFIGURATION`\n- `CONSUMER_AUTHENTICATION_REQUIRED`\n- `CONSUMER_AUTHENTICATION_FAILED`\n- `AUTHENTICATION_FAILED`\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`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status for payerAuthentication 201 enroll and validate calls. Value is:\n- `INVALID_REQUEST`\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible Values:\n- `MISSING_FIELD`\n- `INVALID_DATA`\n" }, "message": { "type": "string", "description": "The message describing the reason of the status. Value is:\n- Encountered a Payer Authentication problem. Payer could not be authenticated.\n" }, "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`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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": { "clientReferenceInformation": { "code": "cybs_test" }, "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": "4000000000000101", "type": "001" } }, "consumerAuthenticationInformation": { "transactionMode": "eCommerce" } } }, "example1": { "summary": "Enroll with Travel Information", "value": { "clientReferenceInformation": { "code": "cybs_test" }, "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": "5200340000000015" } }, "consumerAuthenticationInformation": { "transactionMode": "MOTO" } } }, "example2": { "summary": "Authentication with NO Redirect", "value": { "clientReferenceInformation": { "code": "cybs_test", "partner": { "developerId": "7891234", "solutionId": "89012345" } }, "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": "4000990000000004" } } } }, "example3": { "summary": "Authentication with New Account", "value": { "clientReferenceInformation": { "code": "New Account" }, "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": "4000990000000004" } }, "consumerAuthenticationInformation": { "transactionMode": "MOTO" }, "riskInformation": { "buyerHistory": { "customerAccount": { "shipAddressUsageDate": "2017-05-06", "creationHistory": "NEW_ACCOUNT" }, "accountHistory": { "firstUseOfShippingAddress": "false" } } } } }, "example4": { "summary": "Pending Authentication with Unknown path", "value": { "clientReferenceInformation": { "code": "UNKNOWN" }, "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": "4012001037490014" } } } }, "example5": { "summary": "Enroll with customerId as payment information", "value": { "clientReferenceInformation": { "code": "UNKNOWN" }, "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": { "customer": { "customerId": "9CADDE97CC9254EBE0534136CF0AB358" } } } }, "example6": { "summary": "Enroll with transient token", "value": { "clientReferenceInformation": { "code": "UNKNOWN" }, "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" } }, "tokenInformation": { "transientToken": "1D5ZX4HMOV20FKEBE3IO240JWYJ0NJ90B4V9XQ6SCK4BDN0W96E65E2A39052056" } } } } } }, "/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.\n", "tags": [ "Payer Authentication" ], "operationId": "validateAuthenticationResults", "x-devcenter-metaData": { "categoryTag": "Payer_Authentication" }, "parameters": [ { "name": "validateRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "required": [ "code" ], "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "pausedRequestId": { "type": "string", "maxLength": 26, "description": "Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call.\n" }, "comments": { "type": "string", "maxLength": 255, "description": "Brief description of the order or any comment you wish to add to the order.\n" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } } } }, "processingInformation": { "type": "object", "properties": { "paymentSolution": { "type": "string", "maxLength": 12, "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/VCO_SCMP_API/html/)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. For details, see \"Masterpass\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n" }, "visaCheckoutId": { "type": "string", "maxLength": 48, "description": "Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in\nthe Visa Checkout **callID** field.\n" } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "description": "Contains `currency` and `totalAmount` for this order.", "properties": { "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. For details, see:\n- \"Authorization Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Capture Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Credit Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\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. For details, see \"Zero Amount Authorizations,\" \"Credit Information for Specific Processors\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\nRequired for creating a new invoice.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. For details, see `grand_total_amount` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in \"Authorization Information for Specific Processors\" of the [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### DCC for First Data\nNot used.\n" } } } } }, "paymentInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "bin": { "type": "string", "maxLength": 6, "description": "description: The BIN is the first six digits of the card's Primary Account Number (PAN).\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `014`: Enroute[^1]\n- `021`: JAL[^1]\n- `024`: Maestro (UK Domestic)[^1]\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `042`: Maestro (International)[^1]\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `054`: Elo[^3]\n- `062`: China UnionPay\n- '070': EFTPOS\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nValid values: `01` through `12`. Leading 0 is required.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value\n(`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is\nin the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause\nthe issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (_type_=039), if there is no expiration date on the card, use `12`.\n\n#### FDMS Nashville\nRequired field.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the payment card expires.\n\nFormat: `YYYY`.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`1900` through `3000`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (**_type_**`=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDMS Nashville\nRequired field.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. If you send in 2 digits, they must be the last 2 digits of the year.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "number": { "type": "string", "maxLength": 20, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n\n#### FDMS Nashville\nRequired. String (19)\n\n#### GPX\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n" } } }, "tokenizedCard": { "type": "object", "properties": { "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it specifies the entity that\nprovided you with information about the token.\n\nPossible value:\n- `2`: Near-field communication (NFC) transaction. The customer's mobile device provided the token data for a contactless EMV transaction. For recurring\ntransactions, use this value if the original transaction was a contactless EMV transaction.\n\n#### Visa Platform Connect\n- `1`: For Rupay and In App tokenization. Example: InApp apple pay.\n- `3`: Card/Credential On File Tokenization.\n\n**NOTE** No CyberSource through VisaNet acquirers support EMV at this time.\n\nRequired field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.\n\n#### Rupay\n- `3`: Card/Credential On File Tokenization.\n- `4`: Tokenizined Transaction. Should be used for Guest Checkout transactions with token.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `014`: Enroute[^1]\n- `021`: JAL[^1]\n- `024`: Maestro (UK Domestic)[^1]\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `042`: Maestro (International)[^1]\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `054`: Elo[^3]\n- `062`: China UnionPay\n- '070': EFTPOS\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "One of two possible meanings:\n- The two-digit month in which a token expires.\n- The two-digit month in which a card expires.\nFormat: `MM`\nPossible values: `01` through `12`\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_type=039`), if there is no expiration date on the card, use `12`.\\\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Samsung Pay and Apple Pay\nMonth in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\nFor processor-specific information, see the `customer_cc_expmo` field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n\nFor processor-specific information, see the `customer_cc_expyr` or `token_expiration_year` field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "number": { "type": "string", "maxLength": 20, "description": "Customer's payment network token value.\n" } } }, "fluidData": { "type": "object", "properties": { "value": { "type": "string", "maxLength": 4000, "description": "Represents the encrypted payment data BLOB. The entry for this field is dependent on the payment solution used by the merchant.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits that use a Cybersource suppored Point-to-Point encryption method.\nCard Present processing\nThis field represents the encrypted payment data generated by the payment terminal/device.\n" }, "keySerialNumber": { "type": "string", "description": "The encoded or encrypted value that a payment solution returns for an authorization request. For details about the valid values for a key, see [Creating an Online Authorization](https://developer.cybersource.com/api/developer-guides/dita-payments/CreatingOnlineAuth.html)\n" }, "descriptor": { "type": "string", "maxLength": 128, "description": "The identifier for a payment solution, which is sending the encrypted payment data for decryption. Valid values:\nSamsung Pay: RklEPUNPTU1PTi5TQU1TVU5HLklOQVBQLlBBWU1FTlQ=\nNote: For other payment solutions, the value may be specific to the terminal or device initiatinf the payment. For example, the descriptor for a Bluefin payment encryption would be a device-generated descriptor.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits.\n\nCard Present processing:\nFormat of the encrypted payment data.\nThe value for Bluefin PCI P2PE is `Ymx1ZWZpbg==`. paymentInformation.fluidData.encoding must be `Base64`.\nThe value for Cybersource P2PE decryption depends on the encoding method used and identified in encoding field.\nIf paymentInformation.fluidData.encoding is `Base64`, the value is: `RklEPUVNVi5QQVlNRU5ULkFQSQ==`\nIf paymentInformation.fluidData.encoding is `HEX`, the value is: `4649443D454D562E5041594D454E542E41504`\n" }, "encoding": { "type": "string", "maxLength": 6, "description": "Encoding method used to encrypt the payment data.\nValid values: `Base64`, `HEX`\nIf no value is provided, `Base64` is taken as the default value. And the `Base64` descriptor is used for paymentInformation.fluidData.encoding\n" } } }, "customer": { "type": "object", "properties": { "customerId": { "type": "string", "description": "Unique identifier for the customer's card and billing information.\n\nWhen you use Payment Tokenization or Recurring Billing and you include this value in\nyour request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n\n**NOTE** When you use Payment Tokenization or Recurring Billing, the value for the Customer ID is actually the Cybersource payment token for a customer. This token stores information such as the consumer's card number so it can be applied towards bill payments, recurring payments, or one-time payments. By using this token in a payment API request, the merchant doesn't need to pass in data such as the card number or expiration date in the request itself.\n\nFor details, see the `subscription_id` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "id": { "type": "string", "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } } } }, "consumerAuthenticationInformation": { "type": "object", "properties": { "authenticationTransactionId": { "type": "string", "maxLength": 26, "description": "Payer authentication transaction identifier passed to link the check enrollment\nand validate authentication messages.For Rupay,this is passed only in Re-Send OTP usecase.\n**Note**: Required for Standard integration, Rupay Seamless server to server integration for enroll service.\nRequired for Hybrid integration for validate service.\n" }, "authenticationTransactionContext": { "type": "string", "maxLength": 256, "description": "Authentication transaction context is used as a unique identifier to link enroll and validate call.\n" }, "otpToken": { "type": "string", "maxLength": 255, "description": "OTP entered by the card holder.\n" }, "authenticationType": { "type": "string", "maxLength": 2, "description": "Indicates the type of authentication that will be used to challenge the card holder.\n\nPossible Values:\n\n01 - Static\n\n02 - Dynamic\n\n03 - OOB (Out of Band)\n\n04 - Decoupled\n\n20 - OTP hosted at merchant end. (Rupay S2S flow)\n**NOTE**: EMV 3-D Secure version 2.1.0 supports values 01-03. Version 2.2.0 supports values 01-04. Decoupled authentication is not supported at this time.\n" }, "effectiveAuthenticationType": { "type": "string", "maxLength": 2, "description": "This field describes the type of 3DS transaction flow that took place. It can be one of three possible flows;\nCH - Challenge\nFR - Frictionless\nFD - Frictionless with delegation, (challenge not generated by the issuer but by the scheme on behalf of the issuer).\n" }, "responseAccessToken": { "type": "string", "description": "JWT returned by the 3D Secure provider when the authentication is complete. Required for Hybrid integration if you use the Cybersource-generated access token. Note: Max. length of this field is 2048 characters.\n" }, "signedParesStatusReason": { "type": "string", "maxLength": 2, "description": "Provides additional information as to why the PAResStatus has a specific value.\n" }, "signedPares": { "type": "string", "description": "Payer authentication result (PARes) message returned by the card-issuing bank.\nIf you need to show proof of enrollment checking, you may need to\ndecrypt and parse the string for the information required by the payment card company.\nFor more information, see \"Storing Payer Authentication Data,\" page 160.\nImportant The value is in base64. You must remove all carriage returns and line feeds before\nadding the PARes to the request.\n" }, "whiteListStatus": { "type": "string", "maxLength": 1, "description": "Enables the communication of trusted beneficiary/whitelist status between the ACS, the DS and the 3DS Requestor.\n\nPossible Values:\n\nY - 3DS Requestor is whitelisted by cardholder\n\nN - 3DS Requestor is not whitelisted by cardholder\n" }, "credentialEncrypted": { "type": "string", "maxLength": 10, "description": "A flag to indicate if the passed credential has been encrypted by the Merchant." } } }, "deviceInformation": { "type": "object", "properties": { "ipAddress": { "type": "string", "maxLength": 45, "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" } } }, "tokenInformation": { "type": "object", "properties": { "jti": { "type": "string", "maxLength": 64, "description": "TMS Transient Token, 64 hexadecimal id value representing captured payment credentials (including Sensitive Authentication Data, e.g. CVV).\n" } } } } } } ], "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.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "submitTimeLocal": { "type": "string", "description": "Time that the transaction was submitted in local time. Generated by Cybersource." }, "status": { "type": "string", "description": "The status for payerAuthentication 201 enroll and validate calls. Possible values are:\n- `AUTHENTICATION_SUCCESSFUL`\n- `PENDING_AUTHENTICATION`\n- `INVALID_REQUEST`\n- `AUTHENTICATION_FAILED`\n" }, "message": { "type": "string", "description": "The message describing the reason of the status. Value is:\n- The cardholder is enrolled in Payer Authentication. Please authenticate\nthe cardholder before continuing with the transaction.\n" }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "comments": { "type": "string", "maxLength": 255, "description": "Brief description of the order or any comment you wish to add to the order.\n" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } } } }, "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.\n" }, "acsTransactionId": { "type": "string", "maxLength": 36, "description": "Unique transaction identifier assigned by the ACS to identify a single transaction.\n" }, "authenticationResult": { "type": "string", "description": "Raw authentication data that comes from the cardissuing bank. Primary authentication field that\nindicates if authentication was successful and if liability shift occurred. You should examine first the\nresult of this field. This field contains one of these values:\n- `-1`: Invalid PARes.\n- `0`: Successful validation.\n- `1`: Cardholder is not participating, but the attempt to authenticate was recorded.\n- `6`: Issuer unable to perform authentication.\n- `9`: Cardholder did not complete authentication.\n" }, "authenticationStatusMsg": { "type": "string", "description": "Message that explains the authenticationResult reply field.\n" }, "authenticationTransactionId": { "type": "string", "maxLength": 26, "description": "Payer authentication transaction identifier is used to link the check\nenrollment and validate authentication messages. For Rupay, this field should be passed as request only for Resend OTP use case.\n" }, "authenticationTransactionContextId": { "type": "string", "maxLength": 30, "description": "Payer authentication transaction identifier passed to link the validation and authorization calls.\n" }, "transactionToken": { "type": "string", "maxLength": 256, "description": "Web based token used to authenticate consumer with Rupay authentication provider.\n" }, "authorizationPayload": { "type": "string", "description": "The Base64 encoded JSON Payload of CB specific Authorization Values returned in the challenge Flow\n" }, "cavv": { "type": "string", "maxLength": 255, "description": "Unique identifier generated by the card-issuing bank for Visa, American Express, JCB, Diners Club, and\nDiscover transactions after the customer is authenticated. The value is in base64. When you\nrequest the card authorization service, CyberSource automatically converts the value, not the field name,\nto the format required by your payment processor.\n" }, "cavvAlgorithm": { "type": "string", "maxLength": 1, "description": "Field that is returned only when the CAVV is generated, which occurs when paresStatus\ncontains the values Y (successful authentication) or A (attempted authentication). If\nyou use the ATOS processor, send the value of this field in the `cavv_algorithm` request field of the\nauthorization service. This field contains one of these values:\n- `2`: Visa, American Express, JCB, Diners Club, and Discover\n- `3`: Mastercard\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.\n" }, "directoryServerErrorDescription": { "type": "string", "maxLength": 4096, "description": "Directory server text and additional detail about the error for this transaction.\n" }, "indicator": { "type": "string", "description": "Indicator used to differentiate Internet transactions from other types. The authentication failed if this field\nis not returned. For Visa, if your payment processor is Streamline, Barclays, AIBMS, or FDC Germany,\nyou receive the value vbv_failure instead of internet when eci is 07.\nThe value of this field is passed automatically to the authorization service if you request the services\ntogether. This field contains one of these values:\n- `aesk`: American Express SafeKey authentication verified successfully.\n- `aesk_attempted`: Card not enrolled in American Express SafeKey, but the attempt to authenticate was recorded.\n- `dipb`: Discover ProtectBuy authentication verified successfully.\n- `dipb_attempted`: Card not enrolled in Discover ProtectBuy, but the attempt to authenticate was recorded.\n- `internet`: Authentication was not verified successfully.\n- `js`: J/Secure authentication verified successfully.\n- `js_attempted`: Card not enrolled in J/Secure, but the attempt to authenticate was recorded.\n- `moto`: Mail or telephone order.\n- `pb_attempted`: Card not enrolled in Diners Club ProtectBuy, but the attempt to authenticate was recorded.\n- `recurring`: Recurring transaction.\n- `spa`: Mastercard Identity Check authentication verified successfully.\n- `spa_failure`: Mastercard Identity Check failed authentication.\n- `vbv`: Visa Secure authentication verified successfully.\n- `vbv_attempted`: Card not enrolled in Visa Secure, but the attempt to authenticate was recorded.\n- `vbv_failure`: Visa Secure authentication unavailable.\n" }, "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.\nWhen 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.\nOne 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.\n" }, "eci": { "type": "string", "description": "Note This field applies only to non-U.S-issued cards.\n\nFor enroll, Numeric electronic commerce indicator (ECI) returned only for Visa, American Express, JCB,\nDiners Club, and Discover transactions when the card is not enrolled. For more information, see\n\"Interpreting the Reply,\" page 22.\n\nIf you are not using the CyberSource payment services, you must send this value to your payment\nprocessor in the subsequent request for card authorization. This field contains one of these values:\n- `06`: The card can be enrolled. Liability shift.\n- `07`: The card cannot be enrolled. No liability shift.\n\nFor validate, Numeric electronic commerce indicator (ECI) returned only for Visa, American Express, JCB,\nDiners Club, and Discover transactions. The field is absent when authentication fails.\nYou must send this value to your payment processor in the subsequent request for card authorization.\nThis field contains one of these values:\n- `05`: Successful authentication\n- `06`: Authentication attempted\n- `07`: Failed authentication (No response from the merchant because of a problem.)\n" }, "eciRaw": { "type": "string", "description": "ECI value that can be returned for Visa, Mastercard, American Express, JCB, Diners Club, and Discover.\nThe field is absent when authentication fails. If your payment processor is Streamline, you must pass the\nvalue of this field instead of the value of `eci` or `ucafCollectionIndicator`.\n\nThis field can contain one of these values:\n- `01`: Authentication attempted (Mastercard)\n- `02`: Successful authentication (Mastercard)\n- `05`: Successful authentication (Visa, American Express, JCB, Diners Club, and Discover)\n- `06`: Authentication attempted (Visa, American Express, JCB, Diners Club, and Discover)\n" }, "paresStatus": { "type": "string", "description": "Raw result of the authentication check. If you are configured for Asia, Middle East, and Africa Gateway\nProcessing, you need to send the value of this field in your authorization request. This field can contain\none of these values:\n- `A`: Proof of authentication attempt was generated.\n- `N`: Customer failed or canceled authentication. Transaction denied.\n- `U`: Authentication not completed regardless of the reason.\n- `Y`: Customer was successfully authenticated.\n" }, "sdkTransactionId": { "type": "string", "maxLength": 36, "description": "SDK unique transaction identifier that is generated on each new transaction.\n" }, "specificationVersion": { "type": "string", "description": "This field contains the 3D Secure version that was used to process the transaction. For example, 1.0.2 or 2.0.0.\n" }, "threeDSServerTransactionId": { "type": "string", "maxLength": 36, "description": "Unique transaction identifier assigned by the 3DS Server to identify a single transaction.\n" }, "ucafAuthenticationData": { "type": "string", "description": "AAV is a unique identifier generated by the card-issuing bank for Mastercard Identity Check\ntransactions after the customer is authenticated. The value is in base64.\nInclude the data in the card authorization request.\n" }, "ucafCollectionIndicator": { "type": "string", "description": "For enroll, Returned only for Mastercard transactions. Indicates that authentication is not required because the\ncustomer is not enrolled. Add the value of this field to the authorization field ucaf_collection_indicator.\nThis field can contain these values: 0, 1.\n\nFor validate, Numeric electronic commerce indicator (ECI) returned only for Mastercard Identity Check\ntransactions. The field is absent when authentication fails. You must send this value to your payment\nprocessor in the request for card authorization. This field contain one of these values:\n- `0`: Authentication data not collected, and customer authentication was not completed.\n- `1`: Authentication data not collected because customer authentication was not completed.\n- `2`: Authentication data collected because customer completed authentication.\n" }, "whiteListStatus": { "type": "string", "maxLength": 1, "description": "Enables the communication of trusted beneficiary/whitelist status between the ACS, the DS and the 3DS Requestor.\n\nPossible Values:\n\nY - 3DS Requestor is whitelisted by cardholder\n\nN - 3DS Requestor is not whitelisted by cardholder\n" }, "whiteListStatusSource": { "type": "string", "maxLength": 2, "description": "This data element will be populated by the system setting Whitelist Status. Possible Values: 01 - 3DS/ Server/ 02 \u2013 DS/03 - ACS\n" }, "xid": { "type": "string", "description": "Transaction identifier generated by CyberSource for successful enrollment or validation checks.\nUse this value, which is in base64, to match an outgoing PAReq with an incoming PARes.\nCyberSource forwards the XID with the card authorization service to these payment processors in these cases:\n- Barclays\n- Streamline (when the **ecommerceIndicator**`=spa`)\n" }, "directoryServerTransactionId": { "type": "string", "maxLength": 36, "description": "The Directory Server Transaction ID is generated by the Mastercard Directory Server during the authentication transaction and passed back to the merchant with the authentication results.\nFor Cybersource Through Visanet Gateway:\nThe value for this field corresponds to the following data in the TC 33 capture file3: Record: CP01 TCR7, Position: 114-149, Field: MC AVV Verification\u2014Directory Server Transaction ID\n" } } }, "errorInformation": { "type": "object", "properties": { "reason": { "type": "string", "description": "The reason of the status. Possible values are:\n- `INVALID_MERCHANT_CONFIGURATION`\n- `CONSUMER_AUTHENTICATION_REQUIRED`\n- `CONSUMER_AUTHENTICATION_FAILED`\n- `AUTHENTICATION_FAILED`\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": "riskV1AuthenticationResultsPost400Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status for payerAuthentication 201 enroll and validate calls. Value is:\n- `INVALID_REQUEST`\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible Values:\n- `MISSING_FIELD`\n- `INVALID_DATA`\n" }, "message": { "type": "string", "description": "The message describing the reason of the status. Value is:\n- Encountered a Payer Authentication problem. Payer could not be authenticated.\n" }, "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`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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": { "clientReferenceInformation": { "code": "pavalidatecheck", "partner": { "developerId": "7891234", "solutionId": "89012345" } }, "orderInformation": { "amountDetails": { "currency": "USD", "totalAmount": "200.00" }, "lineItems": [ { "unitPrice": "10", "quantity": "2", "taxAmount": "32.40", "passenger": { "firstName": "John", "lastName": "Doe" } } ] }, "paymentInformation": { "card": { "type": "002", "expirationMonth": "12", "expirationYear": "2025", "number": "5200000000000007" } }, "consumerAuthenticationInformation": { "authenticationTransactionId": "PYffv9G3sa1e0CQr5fV0" } } } } } }, "/risk/v1/lists/{type}/entries": { "post": { "summary": "List Management", "description": "This call adds/deletes/converts the request information in the negative list.\n\nProvide the list to be updated as the path parameter. This value can be 'postiive', 'negative' or 'review'.\n", "operationId": "addNegative", "tags": [ "Decision Manager" ], "produces": [ "application/hal+json;charset=utf-8" ], "x-devcenter-metaData": { "categoryTag": "Risk_Management" }, "parameters": [ { "name": "type", "in": "path", "required": true, "type": "string", "description": "The list to be updated. It can be 'positive', 'negative' or 'review'." }, { "name": "addNegativeListRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "orderInformation": { "type": "object", "properties": { "address": { "type": "object", "description": "Contains address information related to the order", "properties": { "address1": { "type": "string", "description": "First line of the street address", "maxLength": 60 }, "address2": { "type": "string", "description": "Second line of the street address", "maxLength": 60 }, "locality": { "type": "string", "description": "City of the street address.\nRequired when adding the address to a list.\n", "maxLength": 50 }, "country": { "type": "string", "description": "Country of the street address. Use the two-character codes located in the Support Center.\nRequired if address1 is present.\n", "maxLength": 2 }, "administrativeArea": { "type": "string", "maxLength": 2, "description": "State, province, or territory of the street address. Use the two-character codes located in the Support Center." }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code of the street address. Required when adding the address to a list." } } }, "billTo": { "type": "object", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### SEPA/BACS\nRequired for Create Mandate and Import Mandate\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" }, "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called _CyberSource Latin American Processing_. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### RBS WorldPay Atlanta\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n\nIt is recommended that you include the country code when the order is from outside the U.S.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nOptional field.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\nFor processor-specific information, see the `customer_email` request-level field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "emailDomain": { "type": "string", "maxLength": 100, "description": "Email domain of the customer. The domain of the email address comprises all characters that follow the @ symbol, such as mail.example.com. For the Risk Update service, if the email address and the domain are sent in the request, the domain supersedes the email address.\n" } } }, "shipTo": { "type": "object", "description": "Contains recipient shipping information.", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "First line of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Second line of the shipping address.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", "maxLength": 2 }, "locality": { "type": "string", "maxLength": 50, "description": "City of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S. or\nCanada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" } } }, "lineItems": { "type": "array", "description": "This array contains detailed information about individual products in the order.", "items": { "type": "object", "properties": { "unitPrice": { "type": "string", "maxLength": 15, "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in the [Merchant Descriptors Using the SCMP API Guide.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Merchant_Descriptors_SCMP_API/html/)\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" } } } } } }, "paymentInformation": { "type": "object", "description": "Contains the payment data for updating in List Management.", "properties": { "card": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 20, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n\n#### FDMS Nashville\nRequired. String (19)\n\n#### GPX\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `014`: Enroute[^1]\n- `021`: JAL[^1]\n- `024`: Maestro (UK Domestic)[^1]\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `042`: Maestro (International)[^1]\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `054`: Elo[^3]\n- `062`: China UnionPay\n- '070': EFTPOS\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "bin": { "type": "string", "maxLength": 6, "description": "description: The BIN is the first six digits of the card's Primary Account Number (PAN).\n" } } }, "bank": { "type": "object", "description": "Customer's bank account details", "properties": { "accountNumber": { "type": "string", "description": "Customer's bank account number. You can use this field only when scoring a direct debit transaction. Use this field if you do not or are not allowed to provide the IBAN. Note Do not use the IBAN in this field. Use nly the\ntraditional account number information. For the IBAN, use bank_iban.\n", "maxLength": 30 }, "code": { "type": "string", "description": "Country-specific code used to identify the customer's bank. Required for some countries if you do not or are not allowed to provide the IBAN instead. You can use this field only when scoring a direct debit transaction. For specific requirements, see \"Required Bank Account Information by Country,\"\n", "maxLength": 15 }, "country": { "type": "string", "description": "Country where the bank is located. Use the two-character ISO codes. You can use this field only when scoring a direct debit transaction.\n", "maxLength": 2 }, "iban": { "type": "string", "description": "International Bank Account Number (IBAN) for the bank account. For some countries you can provide this number instead of the traditional bank account information. You can use this field only when scoring a direct debit transaction.\nFor specific requirements, see \"Required Bank Account Information by Country,\"\n", "maxLength": 30 } } } } }, "clientReferenceInformation": { "type": "object", "required": [ "code" ], "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "comments": { "type": "string", "maxLength": 255, "description": "Brief description of the order or any comment you wish to add to the order.\n" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } } } }, "deviceInformation": { "type": "object", "properties": { "ipAddress": { "type": "string", "maxLength": 45, "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" }, "networkIpAddress": { "type": "string", "maxLength": 11, "description": "Network IP address of the customer (for example, 10.1.27). A network IP address includes up to 256 IP addresses.\n" } } }, "riskInformation": { "type": "object", "properties": { "markingDetails": { "type": "object", "description": "Details for marking the transaction as either positive or negative.", "properties": { "notes": { "type": "string", "description": "Notes or details that explain the reasons for adding the transaction to either the positive or negative list.", "maxLength": 120 }, "reason": { "type": "string", "description": "Reason for adding the transaction to the negative list. This field can contain one of the following values:\n- `fraud_chargeback:` You have received a fraud-related chargeback for the transaction.\n- `non_fraud_chargeback:` You have received a non-fraudulent chargeback for the transaction.\n- `suspected:` You believe that you will probably receive a chargeback for the transaction.\n- `creditback:` You issued a refund to the customer to avoid a chargeback for the transaction.\n", "maxLength": 25 }, "recordName": { "type": "string", "description": "Name of the customer's record entered in the list.\nFor the positive list, it is required if `action_\ncode`=`add_positive`. If absent from the request, `ics_risk_update` creates the value for this field by concatenating the customer's first and last names.\nFor the negative and the review lists, `record_name`, `customer_firstname`, and `customer_lastname` are optional.\n", "maxLength": 255 }, "action": { "type": "string", "description": "Indicates whether to add to or remove a customer's identity from the negative or positive list. This field can\ncontain one of the following values:\n- add: Add information to the list.\n- convert: moves the data.\n- delete: deletes the data from the list.\n" } } } } }, "buyerInformation": { "type": "object", "description": "Contains information about the buyer.", "properties": { "personalIdentification": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "The type of the identification.\n\nPossible values:\n - `NATIONAL`\n - `CPF`\n - `CPNJ`\n - `CURP`\n - `SSN`\n - `DRIVER_LICENSE`\n - `PASSPORT_NUMBER`\n - `PERSONAL_ID`\n - `TAX_ID`\n\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\nFor processor-specific information, see the `personal_id` field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\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.\n\nFor processor-specific information, see the `personal_id` field in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n \nIf `type = PASSPORT`, this is the cardholder's passport number.\nRecommended for Discover ProtectBuy.\n" }, "issuedBy": { "type": "string", "description": "The government agency that issued the driver's license or passport.\n\nIf **type**` = DRIVER_LICENSE`, this is the State or province where the customer's driver's license was issued.\n\nIf **type**` = PASSPORT`, this is the Issuing country for the cardholder's passport. Recommended for Discover ProtectBuy.\n\nUse the two-character [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\n#### TeleCheck\nContact your TeleCheck representative to find out whether this field is required or optional.\n\n#### All Other Processors\nNot used.\n\nFor details about the country that issued the passport, see `customer_passport_country` field description in [CyberSource Payer Authentication Using the SCMP API]\n(https://apps.cybersource.com/library/documentation/dev_guides/Payer_Authentication_SCMP_API/html/)\n\nFor details about the state or province that issued the passport, see `driver_license_state` field description in [Electronic Check Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" }, "verificationResults": { "type": "string", "description": "Verification results received from Issuer or Card Network for verification transactions. Response Only Field.\n" } } } } } } } } } ], "responses": { "201": { "description": "Successful response", "schema": { "title": "riskV1UpdatePost201Response", "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." } } } } }, "clientReferenceInformaton": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "comments": { "type": "string", "maxLength": 255, "description": "Brief description of the order or any comment you wish to add to the order.\n" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } } } }, "id": { "type": "string", "maxLength": 26, "description": "An unique identification number generated by Cybersource to identify the submitted request. Returned by all services.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "status": { "type": "string", "description": "The status for risk update 201 calls. Possible values are:\n- INVALID_REQUEST\n- COMPLETED\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" } } } }, "400": { "description": "Invalid request", "schema": { "title": "riskV1DecisionsPost400Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible Values:\n- `MISSING_FIELD`\n- `INVALID_DATA`\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" } } } } } } } }, "x-example": { "example0": { "summary": "Add Data to a List", "value": { "orderInformation": { "address": { "address1": "1234 Sample St.", "address2": "Mountain View", "locality": "California", "country": "US", "administrativeArea": "CA", "postalCode": "94043" }, "billTo": { "email": "test@example.com", "firstName": "John", "lastName": "Doe" } }, "paymentInformation": { "number": "4111111111111111" }, "clientReferenceInformation": { "code": "54323007", "partner": { "developerId": "7891234", "solutionId": "89012345" } }, "riskInformation": { "markingDetails": { "action": "add" } } }, "responseValue": { "clientReferenceInformation": { "code": "54323007", "partner": { "developerId": "7891234", "solutionId": "89012345" } }, "id": "5526663169230178269497", "status": "COMPLETED", "submitTimeUTC": "2020-01-20T09:23:15Z" } }, "example1": { "summary": "Add Duplicate Information", "value": { "orderInformation": { "address": { "address1": "1234 Sample St.", "address2": "Mountain View", "locality": "California", "country": "US", "administrativeArea": "CA", "postalCode": "94043" }, "billTo": { "email": "nobody@example.com", "firstName": "John", "lastName": "Doe" } }, "paymentInformation": { "number": "4111111111111111" }, "clientReferenceInformation": { "code": "54323007" }, "riskInformation": { "markingDetails": { "action": "add" } } }, "responseValue": { "clientReferenceInformation": { "code": "54323007" }, "id": "5526663169230178269497", "status": "COMPLETED", "submitTimeUTC": "2020-01-20T09:23:15Z" } } } } }, "/risk/v1/decisions/{id}/actions": { "post": { "summary": "Take action on a DM post-transactional case", "description": "Take action on a DM post-transactional case", "operationId": "actionDecisionManagerCase", "tags": [ "Decision Manager" ], "x-devcenter-metaData": { "categoryTag": "Risk_Management", "disableDefaultMerchantCreds": "true", "disabledReason": "CM API response is a mock response, Please integrate with CM API to test the real-time response from the server." }, "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "name": "id", "description": "An unique identification number generated by Cybersource to identify the submitted request.", "in": "path", "type": "string", "required": true }, { "name": "caseManagementActionsRequest", "in": "body", "required": true, "schema": { "type": "object", "required": [ "decisionInformation" ], "properties": { "decisionInformation": { "type": "object", "properties": { "decision": { "type": "string", "description": "Decision that will be applied to the given case. Possible values are:\n- `ACCEPT`\n- `REJECT`\n" }, "comments": { "description": "Notes from the reviewer about the decision made to this case.", "type": "string", "maxLength": 4000 } } }, "processingInformation": { "type": "object", "properties": { "actionList": { "description": "Follow-on action to apply to the case after the decision is successfully applied. Possible values are one of the following:\n- `CAPTURE`\n- `REVERSE`\n\nIf decision is ACCEPT, then CAPTURE can be used in actionList.\nIf decision is REJECT, then REVERSE can be used.\n", "type": "array", "items": { "type": "string" }, "example": [ "CAPTURE", "REVERSE" ] } } } } } } ], "responses": { "200": { "description": "Successful response", "schema": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "UUID uniquely generated for this comments.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction. Possible values are:\n- `ACCEPTED`\n- `REJECTED`\n" }, "_embedded": { "type": "object", "description": "This object includes either a capture or reversal object. They each has the status of the action and link to the GET method to the following-on capture transaction or reversal transaction.\n", "properties": { "capture": { "type": "object", "description": "This object includes the status of the action and link to the GET method to the following-on capture transaction.\n", "properties": { "status": { "type": "string", "description": "The status of the capture if the capture is called.\n", "example": "PENDING" }, "_links": { "type": "object", "description": "The link to the GET method to the capture transaction if the capture is called.\n", "properties": { "self": { "type": "object", "description": "The object holds http method and endpoint if the capture is called.\n", "properties": { "href": { "type": "string", "description": "This is the endpoint of the resource that was created by the successful request.\n", "example": "/pts/v2/captures/4963015972176007901546" }, "method": { "type": "string", "description": "This refers to the HTTP method that you can send to the self endpoint to retrieve details of the resource.\n", "example": "GET" } } } } } } }, "reversal": { "type": "object", "description": "This object includes the status of the action and link to the GET method to the following-on reversal transaction.\n", "properties": { "status": { "type": "string", "description": "The status of the reversal if the auth reversal is called.\n", "example": "REVERSED" }, "_links": { "type": "object", "description": "The link to the GET method to the reversal transaction if the auth reversal is called.\n", "properties": { "self": { "type": "object", "description": "The object holds http method and endpoint if the reversal is called.\n", "properties": { "href": { "type": "string", "description": "This is the endpoint of the resource that was created by the successful request.\n", "example": "/pts/v2/reversals/4963015972176007901547" }, "method": { "type": "string", "description": "This refers to the HTTP method that you can send to the self endpoint to retrieve details of the resource.\n", "example": "GET" } } } } } } } } } } } }, "400": { "description": "Invalid Request", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\nPossible values:\n- `INVALID_REQUEST`\n" }, "reason": { "type": "string", "description": "The reason of the status.\nPossible Values:\n- `INVALID_DATA`\n" }, "message": { "type": "string", "description": "Input request error." }, "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" } } } } } } }, "403": { "description": "Access Denied", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\nPossible values:\n- `INVALID_REQUEST`\n" }, "reason": { "type": "string", "description": "The reason of the status.\nPossible Values:\n- `ACCESS_DENIED`\n" }, "message": { "type": "string", "description": "The request has an authorization failure." }, "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" } } } } } } }, "422": { "description": "Unprocessable Entity", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\nPossible values:\n- `INVALID_REQUEST`\n" }, "reason": { "type": "string", "description": "The reason of the status.\nPossible Values:\n- `INVALID_REQUEST`\n" }, "message": { "type": "string", "description": "Request payload is valid but fails business validations." }, "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" } } } } } } }, "500": { "description": "Server Error", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\nPossible values:\n- `SERVER_ERROR`\n" }, "reason": { "type": "string", "description": "The reason of the status.\nPossible Values:\n- `SYSTEM_ERROR`\n" }, "message": { "type": "string", "description": "Underlying service error with exception." }, "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": "Bad Gateway", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\nPossible values:\n- `SERVER_ERROR`\n" }, "reason": { "type": "string", "description": "The reason of the status.\nPossible Values:\n- `INTERNAL_SERVICE_ERROR`\n" }, "message": { "type": "string", "description": "Application failed." }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string", "description": "This is the flattened JSON object field name/path that is either missing or invalid." }, "reason": { "type": "string", "description": "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n" } } } } } } }, "503": { "description": "Service Unavailable", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\nPossible values:\n- `SERVER_ERROR`\n" }, "reason": { "type": "string", "description": "The reason of the status.\nPossible Values:\n- `INTERNAL_SERVICE_ERROR`\n" }, "message": { "type": "string", "description": "Service is unavailable." }, "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" } } } } } } } } } }, "/risk/v1/decisions/{id}/comments": { "post": { "summary": "Add a comment to a DM post-transactional case", "description": "Add a comment to a DM post-transactional case", "operationId": "commentDecisionManagerCase", "tags": [ "Decision Manager" ], "x-devcenter-metaData": { "categoryTag": "Risk_Management", "disableDefaultMerchantCreds": "true", "disabledReason": "CM API response is a mock response, Please integrate with CM API to test the real-time response from the server." }, "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "name": "id", "description": "An unique identification number generated by Cybersource to identify the submitted request.", "in": "path", "type": "string", "required": true }, { "name": "caseManagementCommentsRequest", "in": "body", "required": true, "schema": { "type": "object", "required": [ "comments" ], "properties": { "comments": { "type": "string", "maxLength": 4000, "description": "Comments to be added to case." } } } } ], "responses": { "201": { "description": "Successful response", "schema": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "UUID uniquely generated for this comments.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "Status of the comment creation. Possible values are:\n- `COMPLETED`\n" } } } }, "400": { "description": "Invalid Request", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\nPossible values:\n- `INVALID_REQUEST`\n" }, "reason": { "type": "string", "description": "The reason of the status.\nPossible Values:\n- `INVALID_DATA`\n" }, "message": { "type": "string", "description": "Input request error." }, "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" } } } } } } }, "403": { "description": "Access Denied", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\nPossible values:\n- `INVALID_REQUEST`\n" }, "reason": { "type": "string", "description": "The reason of the status.\nPossible Values:\n- `ACCESS_DENIED`\n" }, "message": { "type": "string", "description": "The request has an authorization failure." }, "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" } } } } } } }, "422": { "description": "Unprocessable Entity", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\nPossible values:\n- `INVALID_REQUEST`\n" }, "reason": { "type": "string", "description": "The reason of the status.\nPossible Values:\n- `INVALID_REQUEST`\n" }, "message": { "type": "string", "description": "Request payload is valid but fails business validations." }, "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" } } } } } } }, "500": { "description": "Server Error", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\nPossible values:\n- `SERVER_ERROR`\n" }, "reason": { "type": "string", "description": "The reason of the status.\nPossible Values:\n- `SYSTEM_ERROR`\n" }, "message": { "type": "string", "description": "Underlying service error with exception." }, "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": "Bad Gateway", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\nPossible values:\n- `SERVER_ERROR`\n" }, "reason": { "type": "string", "description": "The reason of the status.\nPossible Values:\n- `INTERNAL_SERVICE_ERROR`\n" }, "message": { "type": "string", "description": "Application failed." }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string", "description": "This is the flattened JSON object field name/path that is either missing or invalid." }, "reason": { "type": "string", "description": "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n" } } } } } } }, "503": { "description": "Service Unavailable", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\nPossible values:\n- `SERVER_ERROR`\n" }, "reason": { "type": "string", "description": "The reason of the status.\nPossible Values:\n- `INTERNAL_SERVICE_ERROR`\n" }, "message": { "type": "string", "description": "Service is unavailable." }, "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" } } } } } } } } } }, "/risk/v1/decisions/{id}/marking": { "post": { "summary": "Fraud Marking", "description": "This can be used to -\n1. Add known fraudulent data to the fraud history\n2. Remove data added to history with Transaction Marking Tool or by uploading chargeback files\n3. Remove chargeback data from history that was automatically added.\nFor detailed information, contact your Cybersource representative\n\nPlace the request ID of the transaction you want to mark as suspect (or remove from history) as the path parameter in this request.\n", "operationId": "fraudUpdate", "tags": [ "Decision Manager" ], "x-devcenter-metaData": { "categoryTag": "Risk_Management" }, "parameters": [ { "name": "id", "in": "path", "required": true, "type": "string", "description": "Request ID of the transaction that you want to mark as suspect or remove from history." }, { "name": "fraudMarkingActionRequest", "in": "body", "required": true, "schema": { "type": "object", "required": [ "riskInformation" ], "properties": { "riskInformation": { "type": "object", "properties": { "markingDetails": { "type": "object", "description": "Details for marking the transaction.", "properties": { "notes": { "type": "string", "description": "Notes or details that explain the reasons for marking the transaction as suspect or otherwise.", "maxLength": 120 }, "reason": { "type": "string", "description": "Reason for marking the transaction as suspect or otherwise. This field can contain one of the following values:\n- `fraud_chargeback:` You have received a fraud-related chargeback for the transaction.\n- `non_fraud_chargeback:` You have received a non-fraudulent chargeback for the transaction.\n- `suspected:` You believe that you will probably receive a chargeback for the transaction.\n- `creditback:` You issued a refund to the customer to avoid a chargeback for the transaction.\n", "maxLength": 25 }, "fieldsIncluded": { "type": "array", "description": "This field can contain one or more of the following values. When you specify more than one value, separate them with commas (,).\n- `account_key_hash`\n- `customer_account_id`\n- `customer_email`\n- `customer_ipaddress`\n- `customer_phone`\n- `device_fingerprint`\n- `ship_address`\nIf no value is specified, `account_key_hash`, `customer_email`, and `ship_address` are used by default.\nNote `account_key_hash` adds the field that contains the card number (`customer_cc_number`).\n", "items": { "type": "string" } }, "action": { "type": "string", "description": "This field can contain one of the following values:\n- add: Mark as Suspect.\n- clear: Clear Mark as Suspect.\n- hide: Remove from history.\n" } } } } }, "clientReferenceInformation": { "type": "object", "required": [ "code" ], "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "comments": { "type": "string", "maxLength": 255, "description": "Brief description of the order or any comment you wish to add to the order.\n" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } } } } } } } ], "responses": { "201": { "description": "Successful response", "schema": { "title": "riskV1UpdatePost201Response", "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." } } } } }, "clientReferenceInformaton": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "comments": { "type": "string", "maxLength": 255, "description": "Brief description of the order or any comment you wish to add to the order.\n" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } } } }, "id": { "type": "string", "maxLength": 26, "description": "An unique identification number generated by Cybersource to identify the submitted request. Returned by all services.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "status": { "type": "string", "description": "The status for risk update 201 calls. Possible values are:\n- INVALID_REQUEST\n- COMPLETED\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" } } } }, "400": { "description": "Invalid request", "schema": { "title": "riskV1DecisionsPost400Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible Values:\n- `MISSING_FIELD`\n- `INVALID_DATA`\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" } } } } } } } }, "x-example": { "example0": { "summary": "Mark as Suspect", "value": { "riskInformation": { "markingDetails": { "notes": "Adding this transaction as suspect", "action": "add", "reason": "suspected", "fieldsIncluded": [ "customer_email", "customer_phone" ] } }, "clientReferenceInformation": { "code": 12345, "partner": { "developerId": 1234, "solutionId": 3321 } } }, "responseValue": { "clientReferenceInformation": { "code": 12345, "partner": { "developerId": 1234, "solutionId": 3321 } }, "id": 2.719725130000168e+21, "status": "COMPLETED", "submitTimeUTC": "2020-01-20T09:23:15.000Z" } }, "example1": { "summary": "Remove from History", "value": { "riskInformation": { "markingDetails": { "notes": "Adding this transaction as suspect", "action": "hide", "reason": "suspected" } } }, "responseValue": { "clientReferenceInformation": { "code": 12345 }, "id": 2.719725130000168e+21, "status": "COMPLETED", "submitTimeUTC": "2020-01-20T09:23:15.000Z" } } } } }, "/risk/v1/address-verifications": { "post": { "summary": "Verify customer address", "description": "This call verifies that the customer address submitted is valid.", "operationId": "verifyCustomerAddress", "tags": [ "Verification" ], "x-devcenter-metaData": { "categoryTag": "Risk_Management" }, "parameters": [ { "name": "verifyCustomerAddressRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "required": [ "code" ], "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "comments": { "type": "string", "maxLength": 255, "description": "Brief description of the order or any comment you wish to add to the order.\n" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } } } }, "orderInformation": { "type": "object", "properties": { "billTo": { "type": "object", "required": [ "address1", "locality", "country", "postalCode" ], "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n" }, "address3": { "type": "string", "maxLength": 60, "description": "Additional address information (third line of the billing address)\n" }, "address4": { "type": "string", "maxLength": 60, "description": "Additional address information (fourth line of the billing address)\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### SEPA/BACS\nRequired for Create Mandate and Import Mandate\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" } } }, "shipTo": { "type": "object", "required": [ "address1", "country" ], "properties": { "address1": { "type": "string", "maxLength": 60, "description": "First line of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Second line of the shipping address.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "address3": { "type": "string", "maxLength": 60, "description": "Third line of the shipping address.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "address4": { "type": "string", "maxLength": 60, "description": "Fourth line of the shipping address." }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", "maxLength": 2 }, "locality": { "type": "string", "maxLength": 50, "description": "City of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S. or\nCanada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" } } }, "lineItems": { "type": "array", "items": { "type": "object", "required": [ "unitPrice" ], "properties": { "unitPrice": { "type": "string", "maxLength": 15, "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in the [Merchant Descriptors Using the SCMP API Guide.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Merchant_Descriptors_SCMP_API/html/)\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" }, "quantity": { "type": "integer", "minimum": 1, "maximum": 999999999, "default": 1, "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "productSKU": { "type": "string", "maxLength": 255, "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" }, "productRisk": { "type": "string", "maxLength": 6, "description": "Indicates the level of risk for the product. This field can contain one of the following values:\n- `low`: The product is associated with few chargebacks.\n- `normal`: The product is associated with a normal number of chargebacks.\n- `high`: The product is associated with many chargebacks.\n" }, "productName": { "type": "string", "maxLength": 255, "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "productCode": { "type": "string", "maxLength": 255, "description": "Type of product. The value for this field is used to identify the product category (electronic, handling, physical,\nservice, or shipping). The default value is `default`.\n\nIf you are performing an authorization transaction (`processingOptions.capture` is set to `false`), and you set\nthis field to a value other than `default` or one of the values related to shipping and/or handling, then\n`orderInformation.lineItems[].quantity`, `orderInformation.lineItems[].productName`, and\n`orderInformation.lineItems[].productSku` fields are required.\n\nOptional field.\n\nFor details, see the `product_code` field description in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nThe Product Codes for the tax service are located in the Cybersource Tax Codes guide. Contact Customer Support to request the guide. If you don't send a tax service Product Code in your tax request, product-based rules or exemptions will not be applied and the transaction will default to fully taxable in the locations where you've indicated you need to collect tax [by way of nexus, no nexus, or seller registration number fields].\n" } } } } } }, "buyerInformation": { "type": "object", "properties": { "merchantCustomerId": { "type": "string", "maxLength": 100, "description": "Optional customer's account ID, tracking number, reward number, or other unique number\nthat you assign to the customer for the purpose that you choose\n" } } } } } } ], "responses": { "201": { "description": "Successful response", "schema": { "title": "riskV1AddressVerificationsPost201Response", "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.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "submitTimeLocal": { "type": "string", "description": "Time that the transaction was submitted in local time. Generated by Cybersource." }, "status": { "type": "string", "description": "The status for the call can be:\n- COMPLETED\n- INVALID_REQUEST\n- DECLINED\n" }, "message": { "type": "string", "description": "The message describing the reason of the status. Value can be\n - Apartment number missing or not found.\n - Insufficient address information.\n - House/Box number not found on street.\n - Multiple address matches were found.\n - P.O. Box identifier not found or out of range.\n - Route service identifier not found or out of range.\n - Street name not found in Postal code.\n - Postal code not found in database.\n - Unable to verify or correct address.\n - Multiple addres matches were found (international)\n - Address match not found (no reason given)\n - Unsupported character set\n" }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "comments": { "type": "string", "maxLength": 255, "description": "Brief description of the order or any comment you wish to add to the order.\n" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } } } }, "addressVerificationInformation": { "type": "object", "properties": { "addressType": { "type": "string", "maxLength": 255, "description": "Contains the record type of the postal code with which the address was matched.\n\n#### U.S. Addresses\nDepending on the quantity and quality of the address information provided,\nthis field contains one or two characters:\n\n- One character: sufficient correct information was provided to result in accurate matching.\n- Two characters: standardization would provide a better address if more or better\ninput address information were available. The second character is D (default).\n\nBlank fields are unassigned. When an address cannot be standardized, how the input\ndata was parsed determines the address type. In this case, standardization may indicate a street, rural route,\nhighway contract, general delivery, or PO box. For possible values, see the description for the `dav_address_type` reply field in [CyberSource Verification Services Using the SCMP API](https://apps.cybersource.com/library/documentation/dev_guides/Verification_Svcs_SCMP_API/html/)\n\n#### All Other Countries\nThis field contains one of the following values:\n- P: Post.\n- S: Street.\n- x: Unknown.\n" }, "barCode": { "type": "object", "properties": { "value": { "type": "string", "maxLength": 255, "description": "Delivery point bar code determined from the input address." }, "checkDigit": { "type": "number", "maxLength": 1, "description": "Check digit for the 11-digit delivery point bar code." } } }, "applicableRegion": { "type": "string", "maxLength": 255, "description": "Value can be\n- Canada\n- US\n- International\nThe values of errorCode and statusCode mean different things depending on the applicable region.\nRefer to the guide for more info.\n" }, "errorCode": { "type": "string", "maxLength": 255, "description": "Four-character error code returned for Canadian, US and international addresses.\nFor possible values, see Verification Services guide.\nThe meaning of the errorCode depends on value of applicableRegion.\n" }, "statusCode": { "type": "string", "maxLength": 255, "description": "Four-to-ten character status code returned for Canadian, US and international addresses.\nFor possible values, see Verification Services guide.\nThe meaning of the errorCode depends on value of applicableRegion.\n" }, "careOf": { "type": "string", "maxLength": 255, "description": "Care of data dropped from the standard address." }, "matchScore": { "type": "integer", "maxLength": 1, "description": "Indicates the probable correctness of the address match. Returned for U.S. and Canadian addresses.\nReturns a value from 0-9, where 0 is most likely to be correct and 9 is least\nlikely to be correct, or -1 if there is no address match.\n" }, "standardAddress": { "type": "object", "properties": { "address1": { "type": "object", "properties": { "withApartment": { "type": "string", "maxLength": 255, "description": "First line of the standardized address, including apartment information." }, "withoutApartment": { "type": "string", "maxLength": 255, "description": "First line of the standardized address, without apartment information.\nReturned for U.S. and Canadian addresses.\n" } } }, "address2": { "type": "string", "maxLength": 255, "description": "Second line of the standardized address." }, "address3": { "type": "string", "maxLength": 255, "description": "Third line of the standardized address." }, "address4": { "type": "string", "maxLength": 255, "description": "Fourth line of the standardized address." }, "locality": { "type": "string", "maxLength": 255, "description": "Standardized city name." }, "county": { "type": "string", "maxLength": 255, "description": "U.S. county if available." }, "country": { "type": "string", "maxLength": 255, "description": "Standardized country name." }, "csz": { "type": "string", "maxLength": 255, "description": "Standardized city, state or province, and ZIP +4 code or postal code line." }, "isoCountry": { "type": "string", "maxLength": 255, "description": "Standardized two-character ISO country code." }, "administrativeArea": { "type": "string", "maxLength": 255, "description": "U.S.P.S. standardized state or province abbreviation." }, "postalCode": { "type": "string", "maxLength": 255, "description": "Standardized U.S. ZIP + 4 postal code." } } } } }, "errorInformation": { "type": "object", "properties": { "reason": { "type": "string", "description": "The reason of the status. Value can be\n - `APARTMENT_NUMBER_NOT_FOUND`\n - `INSUFFICIENT_ADDRESS_INFORMATION`\n - `HOUSE_OR_BOX_NUMBER_NOT_FOUND`\n - `MULTIPLE_ADDRESS_MATCHES`\n - `BOX_NUMBER_NOT_FOUND`\n - `ROUTE_SERVICE_NOT_FOUND`\n - `STREET_NAME_NOT_FOUND`\n - `POSTAL_CODE_NOT_FOUND`\n - `UNVERIFIABLE_ADDRESS`\n - `MULTIPLE_ADDRESS_MATCHES_INTERNATIONAL`\n - `ADDRESS_MATCH_NOT_FOUND`\n - `UNSUPPORTED_CHARACTER_SET`\n - `INVALID_MERCHANT_CONFIGURATION`\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": "riskV1AddressVerificationsPost400Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible Values:\n- `MISSING_FIELD`\n- `INVALID_DATA`\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" } } } } } } }, "502": { "description": "Unexpected system error or system timeout.", "schema": { "title": "riskV1AddressVerificationsPost502Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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": "Verbose Request with all fields", "value": { "clientReferenceInformation": { "code": "addressEg", "comments": "dav-All fields", "partner": { "developerId": "7891234", "solutionId": "89012345" } }, "orderInformation": { "billTo": { "address1": "12301 research st", "address2": "1", "address3": "2", "address4": "3", "locality": "Austin", "country": "US", "administrativeArea": "TX", "postalCode": "78759" }, "shipTo": { "address1": "1715 oaks apt # 7", "address2": " ", "address3": "", "address4": "", "locality": "SUPERIOR", "country": "US", "administrativeArea": "WI", "postalCode": "29681" }, "lineItems": [ { "unitPrice": "120.50", "productSKU": "9966223", "productCode": "electronic", "productName": "headset", "quantity": "3", "passenger": { "firstname": "ABCD", "lastname": "DEF" } } ] }, "buyerInformation": { "merchantCustomerId": "ABCD" } }, "responseValue": { "addressVerificationInformation": { "matchScore": "0", "standardAddress": { "country": "US", "address1": { "withoutApartment": "1715 Oakes Ave", "withApartment": "1715 Oakes Ave Apt 7" }, "postalCode": "54880-2466", "county": "Douglas", "locality": "Superior", "csz": "Superior WI 54880-2466", "administrativeArea": "WI", "isoCountry": "US" }, "addressType": "H", "barCode": { "checkDigit": "0", "value": "246607" }, "statusCode": "S99000" }, "clientReferenceInformation": { "code": "addressEg", "comments": "dav-All fields", "partner": { "developerId": "7891234", "solutionId": "89012345" } }, "id": "5574744400096019003092", "status": "COMPLETED", "submitTimeUtc": "2019-05-10T07:47:20Z" } }, "example1": { "summary": "Shipping Details not US or Canada", "value": { "clientReferenceInformation": { "code": "addressEg", "comments": "dav-All fields" }, "orderInformation": { "billTo": { "address1": "12301 research st", "address2": "1", "address3": "2", "address4": "3", "locality": "Austin", "country": "US", "administrativeArea": "TX", "postalCode": "78759" }, "shipTo": { "address1": "4R.ILHA TERCEIRA,232-R/C-ESQ", "address2": " ", "address3": "", "address4": "", "locality": "Carcavelos", "country": "PT", "administrativeArea": "WI", "postalCode": "29681" }, "lineItems": [ { "unitPrice": "120.50", "productSKU": "9966223", "productCode": "electronic", "productName": "headset", "quantity": "3", "passenger": { "firstname": "ABCD", "lastname": "DEF" } } ] }, "buyerInformation": { "merchantCustomerId": "ABCD" } }, "responseValue": { "addressVerificationInformation": { "matchScore": "6", "standardAddress": { "country": "Portugal", "address2": "C Esq - R", "address1": { "withApartment": "R Ilha Terceira 232 - C Esq - R" }, "postalCode": "2775-796", "locality": "Carcavelos", "administrativeArea": "Lisboa", "isoCountry": "PT" }, "addressType": "S", "statusCode": "SE600" }, "clientReferenceInformation": { "code": "addressEg" }, "id": "5574744458726021803092", "status": "COMPLETED", "submitTimeUtc": "2019-05-10T07:47:26Z" } }, "example2": { "summary": "Canadian Billing Details", "value": { "clientReferenceInformation": { "code": "addressEg", "comments": "dav-All fields" }, "orderInformation": { "billTo": { "address1": "1650 Burton Ave", "address2": "", "address3": "", "address4": "", "locality": "VICTORIA", "country": "CA", "administrativeArea": "BC", "postalCode": "V8T 2N6" }, "lineItems": [ { "unitPrice": "120.50", "productSKU": "9966223", "productCode": "electronic", "productName": "headset", "quantity": "3", "passenger": { "firstname": "ABCD", "lastname": "DEF" } } ] }, "buyerInformation": { "merchantCustomerId": "ABCD" } }, "responseValue": { "addressVerificationInformation": { "matchScore": "0", "standardAddress": { "country": "CA", "address1": { "withoutApartment": "1650 Burton Ave", "withApartment": "1650 Burton Ave" }, "postalCode": "V8T2N6", "locality": "Victoria", "csz": "Victoria BC V8T 2N6", "administrativeArea": "BC", "isoCountry": "CA" }, "addressType": "S", "statusCode": "S0000" }, "clientReferenceInformation": { "code": "addressEg" }, "id": "5574744407796019403092", "status": "COMPLETED", "submitTimeUtc": "2019-05-10T07:47:20Z" } }, "example3": { "summary": "Multiple Line Items", "value": { "clientReferenceInformation": { "code": "addressEg", "comments": "dav-All fields" }, "orderInformation": { "billTo": { "address1": "12301 research st", "address2": "1", "address3": "2", "address4": "3", "locality": "Austin", "country": "US", "administrativeArea": "TX", "postalCode": "78759" }, "shipTo": { "address1": "PO Box 9088", "address2": "", "address3": "", "address4": "", "locality": "San Jose", "country": "US", "administrativeArea": "CA", "postalCode": "95132" }, "lineItems": [ { "unitPrice": "120.50", "productSKU": "9966223", "productCode": "electronix", "productName": "headset", "quantity": "3" }, { "unitPrice": "10.50", "productSKU": "9966226", "productCode": "electronic", "productName": "wwrdf", "quantity": "2" } ] }, "buyerInformation": { "merchantCustomerId": "QWERTY" } }, "responseValue": { "addressVerificationInformation": { "matchScore": "0", "standardAddress": { "country": "US", "address1": { "withoutApartment": "PO Box 9088", "withApartment": "PO Box 9088" }, "postalCode": "95157-0088", "county": "Santa Clara", "locality": "San Jose", "csz": "San Jose CA 95157-0088", "administrativeArea": "CA", "isoCountry": "US" }, "addressType": "P", "barCode": { "checkDigit": "1", "value": "008888" }, "statusCode": "S90000" }, "clientReferenceInformation": { "code": "addressEg" }, "id": "5574744469676022203092", "status": "COMPLETED", "submitTimeUtc": "2019-05-10T07:47:27Z" } }, "example4": { "summary": "Apartment Number Missing or Not Found", "value": { "clientReferenceInformation": { "code": "addressEg", "comments": "dav-error response check" }, "orderInformation": { "billTo": { "address1": "6th 4th ave", "address2": "", "locality": "rensslaer", "country": "US", "administrativeArea": "NY", "postalCode": "12144" }, "lineItems": [ { "unitPrice": "120.50", "productSKU": "996633", "productCode": "handling", "productName": "qwerty", "quantity": "3" } ] } }, "responseValue": { "addressVerificationInformation": { "errorCode": "E420", "statusCode": "S20000" }, "clientReferenceInformation": { "code": "addressEg" }, "errorInformation": { "reason": "APARTMENT_NUMBER_NOT_FOUND", "message": "Apartment number missing or not found." }, "id": "5574744502546023003092", "status": "DECLINED", "submitTimeUtc": "2019-05-10T07:47:30Z" } }, "example5": { "summary": "Address Match Not Found", "value": { "clientReferenceInformation": { "code": "addressEg", "comments": "dav-error response check" }, "orderInformation": { "billTo": { "address1": "Apt C ", "address2": "", "locality": "Glendale", "country": "US", "administrativeArea": "CA", "postalCode": "91204" } } }, "responseValue": { "addressVerificationInformation": { "errorCode": "E302", "statusCode": "S00000" }, "clientReferenceInformation": { "code": "addressEg" }, "errorInformation": { "reason": "ADDRESS_MATCH_NOT_FOUND", "message": "Address match not found." }, "id": "5574744508936023403092", "status": "DECLINED", "submitTimeUtc": "2019-05-10T07:47:31Z" } } } } }, "/risk/v1/export-compliance-inquiries": { "post": { "summary": "Validate export compliance", "description": "This call checks customer data against specified watch lists to ensure export compliance.\n", "operationId": "validateExportCompliance", "tags": [ "Verification" ], "x-devcenter-metaData": { "categoryTag": "Risk_Management" }, "parameters": [ { "name": "validateExportComplianceRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "required": [ "code" ], "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "comments": { "type": "string", "maxLength": 255, "description": "Brief description of the order or any comment you wish to add to the order.\n" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } } } }, "orderInformation": { "type": "object", "properties": { "billTo": { "type": "object", "required": [ "address1", "locality", "country", "postalCode", "email" ], "properties": { "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n" }, "address3": { "type": "string", "maxLength": 60, "description": "Additional address information (third line of the billing address)\n" }, "address4": { "type": "string", "maxLength": 60, "description": "Additional address information (fourth line of the billing address)\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### SEPA/BACS\nRequired for Create Mandate and Import Mandate\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" }, "company": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 60, "description": "Company name of person buying the product.\nImportant: This field or billTo.firstName and billTo.lastName must be present. Else, your request will fail.\n" } } }, "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called _CyberSource Latin American Processing_. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### RBS WorldPay Atlanta\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\nFor processor-specific information, see the `customer_email` request-level field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" } } }, "shipTo": { "type": "object", "properties": { "country": { "type": "string", "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", "maxLength": 2 }, "firstName": { "type": "string", "maxLength": 60, "description": "First name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Last name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" } } }, "lineItems": { "type": "array", "items": { "type": "object", "required": [ "unitPrice" ], "properties": { "unitPrice": { "type": "string", "maxLength": 15, "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in the [Merchant Descriptors Using the SCMP API Guide.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Merchant_Descriptors_SCMP_API/html/)\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" }, "allowedExportCountries": { "type": "array", "items": { "type": "string", "description": "Comma-separated list of ISO country codes for countries to which the product can be exported.\n\nFor all possible values, see the \"Country and Territory Postal System Categories\" section in the [CyberSource Verification Services Using the SCMP API.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Verification_Svcs_SCMP_API/html/)\n\nIf country codes are not specified, or if this field is not included, the U.S. government's country\ncode list is used.\n\n**Note** The default list of countries restricted by the U.S. always applies. Any country not\nspecifically added to the export field is considered restricted.\n" } }, "restrictedExportCountries": { "type": "array", "items": { "type": "string", "description": "Comma-separated list of ISO country codes for countries to which the product cannot be exported.\n\nFor all possible values, see the \"Country and Territory Postal System Categories\" section in the [CyberSource Verification Services Using the SCMP API.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Verification_Svcs_SCMP_API/html/)\n\n**Note** If the export field is also present, the content of the `restrictedExportCountries`\nfield overrides the content of export.\n" } }, "quantity": { "type": "integer", "minimum": 1, "maximum": 999999999, "default": 1, "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "productSKU": { "type": "string", "maxLength": 255, "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" }, "productRisk": { "type": "string", "maxLength": 6, "description": "Indicates the level of risk for the product. This field can contain one of the following values:\n- `low`: The product is associated with few chargebacks.\n- `normal`: The product is associated with a normal number of chargebacks.\n- `high`: The product is associated with many chargebacks.\n" }, "productName": { "type": "string", "maxLength": 255, "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "productCode": { "type": "string", "maxLength": 255, "description": "Type of product. The value for this field is used to identify the product category (electronic, handling, physical,\nservice, or shipping). The default value is `default`.\n\nIf you are performing an authorization transaction (`processingOptions.capture` is set to `false`), and you set\nthis field to a value other than `default` or one of the values related to shipping and/or handling, then\n`orderInformation.lineItems[].quantity`, `orderInformation.lineItems[].productName`, and\n`orderInformation.lineItems[].productSku` fields are required.\n\nOptional field.\n\nFor details, see the `product_code` field description in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nThe Product Codes for the tax service are located in the Cybersource Tax Codes guide. Contact Customer Support to request the guide. If you don't send a tax service Product Code in your tax request, product-based rules or exemptions will not be applied and the transaction will default to fully taxable in the locations where you've indicated you need to collect tax [by way of nexus, no nexus, or seller registration number fields].\n" } } } } } }, "buyerInformation": { "type": "object", "properties": { "merchantCustomerId": { "type": "string", "maxLength": 100, "description": "Optional customer's account ID, tracking number, reward number, or other unique number\nthat you assign to the customer for the purpose that you choose\n" } } }, "deviceInformation": { "type": "object", "properties": { "ipAddress": { "type": "string", "maxLength": 45, "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" }, "hostName": { "type": "string", "maxLength": 60, "description": "DNS resolved hostname from `ipAddress`." } } }, "exportComplianceInformation": { "type": "object", "properties": { "addressOperator": { "type": "string", "description": "Parts of the customer's information that must match with an entry in the DPL (denied parties list)\nbefore a match occurs. This field can contain one of the following values:\n- AND: (default) The customer's name or company and the customer's address must appear in the database.\n- OR: The customer's name must appear in the database.\n- IGNORE: You want the service to detect a match only of the customer's name or company but not of the address.\n" }, "weights": { "type": "object", "properties": { "address": { "type": "string", "maxLength": 6, "description": "Degree of correlation between a customer's address and an entry in the DPL\nbefore a match occurs. This field can contain one of the following values:\n- exact: The address must be identical to the entry in the DPL.\n- high: (default) The address cannot differ significantly from the entry in the DPL.\n- medium: The address can differ slightly more from the entry in the DPL.\n- low: The address can differ significantly from the entry in the DPL.\n" }, "company": { "type": "string", "maxLength": 6, "description": "Degree of correlation between a company address and an entry in the DPL\nbefore a match occurs. This field can contain one of the following values:\n- exact: The company name must be identical to the entry in the DPL.\n- high: (default) The company name cannot differ significantly from the entry in the DPL.\n- medium: The company name can differ slightly more from the entry in the DPL.\n- low: The company name can differ significantly from the entry in the DPL.\n" }, "name": { "type": "string", "maxLength": 6, "description": "Degree of correlation between a customer's name and an entry in the DPL\nbefore a match occurs. This field can contain one of the following values:\n- exact: The name must be identical to the entry in the DPL.\n- high: (default) The name cannot differ significantly from the entry in the DPL.\n- medium: The name can differ slightly more from the entry in the DPL.\n- low: The name can differ significantly the entry in the DPL.\n" } } }, "sanctionLists": { "type": "array", "items": { "type": "string", "maxLength": 255 }, "description": "Use this field to specify which list(s) you want checked with the request.\nThe reply will include the list name as well as the response data.\nTo check against multiple lists, enter multiple list codes separated by a caret (^).\nFor more information, see \"Restricted and Denied Parties List,\" page 68.\n" } } } } } } ], "responses": { "201": { "description": "Successful response", "schema": { "title": "riskV1ExportComplianceInquiriesPost201Response", "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.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "submitTimeLocal": { "type": "string", "description": "Time that the transaction was submitted in local time. Generated by Cybersource." }, "status": { "type": "string", "description": "The status for the call can be:\n- COMPLETED\n- INVALID_REQUEST\n- DECLINED\n" }, "message": { "type": "string", "description": "The message describing the reason of the status. Value can be\n - The customer matched the Denied Parties List\n - The Export bill_country/ship_country match\n - Export email_country match\n - Export hostname_country/ip_country match\n" }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "comments": { "type": "string", "maxLength": 255, "description": "Brief description of the order or any comment you wish to add to the order.\n" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } } } }, "exportComplianceInformation": { "type": "object", "properties": { "ipCountryConfidence": { "type": "integer", "minimum": -1, "maximum": 100, "description": "Likelihood that the country associated with the customer's IP address was identified correctly.\nReturns a value from 1\u2013100, where 100 indicates the highest likelihood.\nIf the country cannot be determined, the value is \u20131.\n" }, "infoCodes": { "type": "array", "items": { "type": "string", "maxLength": 255 }, "description": "Returned when the Denied Parties List check (first two codes) or the export service (all others) would have\ndeclined the transaction. This field can contain one or more of these values:\n- `MATCH-DPC`: Denied Parties List match.\n- `UNV-DPC`: Denied Parties List unavailable.\n- `MATCH-BCO`: Billing country restricted.\n- `MATCH-EMCO`: Email country restricted.\n- `MATCH-HCO`: Host name country restricted.\n- `MATCH-IPCO`: IP country restricted.\n- `MATCH-SCO`: Shipping country restricted.\n" }, "watchList": { "type": "object", "properties": { "matches": { "type": "array", "items": { "type": "object", "properties": { "addresses": { "type": "array", "items": { "type": "string", "maxLength": 255 }, "description": "Address found on the list specified in export_matchN_list\nfor the entity (name and address) in the request.\n" }, "sanctionList": { "type": "string", "maxLength": 255, "description": "List on which the first Denied Parties List check match appears.\nFor a list of codes, see \"Denied Parties List Check Codes,\" page 56.\n" }, "aliases": { "type": "array", "items": { "type": "string", "maxLength": 255 }, "description": "Name found on the list specified in export_matchN_list for the entity (name and address) in the request.\n" }, "programs": { "type": "array", "items": { "type": "string", "maxLength": 255 }, "description": "Sub-lists matched by the order data. List members are separated by carets (^)." } } } } } } } }, "errorInformation": { "type": "object", "properties": { "reason": { "type": "string", "description": "The reason of the status. Value can be\n - `CUSTOMER_WATCHLIST_MATCH`\n - `ADDRESS_COUNTRY_WATCHLIST_MATCH`\n - `EMAIL_COUNTRY_WATCHLIST_MATCH`\n - `IP_COUNTRY_WATCHLIST_MATCH`\n - `INVALID_MERCHANT_CONFIGURATION`\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": "riskV1ExportComplianceInquiriesPost400Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible Values:\n- `MISSING_FIELD`\n- `INVALID_DATA`\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" } } } } } } }, "502": { "description": "Unexpected system error or system timeout.", "schema": { "title": "riskV1ExportComplianceInquiriesPost502Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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": "Customer Match Denied Parties List", "value": { "clientReferenceInformation": { "code": "verification example", "comments": "Export-basic", "partner": { "developerId": "7891234", "solutionId": "89012345" } }, "orderInformation": { "billTo": { "address1": "901 Metro Centre Blvd", "locality": "Foster City", "country": "US", "administrativeArea": "CA", "postalCode": "94404", "email": "test@domain.com", "firstName": "ANDREE", "lastName": "AGNESE", "company": { "name": "A & C International Trade, Inc" } }, "shipTo": { "address1": "114B", "address2": "Grifendor House", "locality": "Hogward University", "country": "IN", "firstName": "DumbelDore", "lastName": "Albus" }, "lineItems": [ { "unitPrice": "120.50", "productSKU": "123456", "productCode": "physical_software", "productName": "Qwe", "quantity": "3" } ] } }, "responseValue": { "clientReferenceInformation": { "code": "verification example", "comments": "Export-basic", "partner": { "developerId": "7891234", "solutionId": "89012345" } }, "errorInformation": { "reason": "CUSTOMER_WATCHLIST_MATCH", "message": "The customer matched the Denied Parties List" }, "exportComplianceInformation": { "infoCodes": [ "MATCH-DPC" ] }, "id": "5585068111056392703092", "status": "DECLINED", "submitTimeUtc": "2019-05-22T06:33:31Z" } }, "example1": { "summary": "Export Compliance Information Provided", "value": { "clientReferenceInformation": { "code": "verification example", "comments": "Export -fields" }, "orderInformation": { "billTo": { "address1": "901 Metro Centre Blvd", "locality": "Foster City", "country": "US", "administrativeArea": "CA", "postalCode": "94404", "email": "test@domain.com", "firstName": "ANDREE", "lastName": "AGNESE", "company": { "name": "A & C International Trade, Inc" } }, "shipTo": { "address1": "114B", "address2": "Grifendor House", "locality": "Hogward University", "country": "IN", "firstName": "DumbelDore", "lastName": "Albus" }, "lineItems": [ { "unitPrice": "120.50", "productSKU": "123456", "productCode": "physical_software", "productName": "Qwe", "quantity": "3" } ] }, "exportComplianceInformation": { "addressOperator": "and", "weights": { "address": "low", "company": "exact", "name": "exact" }, "sanctionLists": [ "Bureau Of Industry and Security" ] } }, "responseValue": { "clientReferenceInformation": { "code": "verification example" }, "errorInformation": { "reason": "CUSTOMER_WATCHLIST_MATCH", "message": "The customer matched the Denied Parties List" }, "exportComplianceInformation": { "infoCodes": [ "MATCH-DPC" ] }, "id": "5585070617626392903092", "status": "DECLINED", "submitTimeUtc": "2019-05-22T06:37:42Z" } }, "example2": { "summary": "Compliance Status Completed", "value": { "clientReferenceInformation": { "code": "verification example" }, "orderInformation": { "billTo": { "firstName": "Suman", "lastName": "Kumar", "address1": "901 Metro Centre Blvd", "address2": "2", "locality": "Foster City", "country": "US", "administrativeArea": "CA", "postalCode": "94404", "email": "donewithhorizon@test.com" }, "lineItems": [ { "unitPrice": "19.00" } ], "shipTo": { "address1": "26 JALAN MT. ERSKINE", "address2": "Grifendor House", "locality": "PENANG", "country": "be", "firstName": "DumbelDore", "lastName": "Albus", "phoneNumber": "54871425369", "administrativeArea": "NH", "postalCode": "2176001", "method": "lowcost" } }, "buyerInformation": { "merchantCustomerId": "87789" }, "exportComplianceInformation": { "addressOperator": "and", "weights": { "address": "abc", "company": "def", "name": "adb" }, "sanctionLists": [ "abc", "acc", "bac" ] } }, "responseValue": { "clientReferenceInformation": { "code": "verification example" }, "exportComplianceInformation": { "ipCountryConfidence": "-1" }, "id": "5585073068196393103092", "status": "COMPLETED", "submitTimeUtc": "2019-05-22T06:41:48Z" } }, "example3": { "summary": "Multiple Sanction Lists", "value": { "clientReferenceInformation": { "code": "verification example", "comments": "All fields" }, "orderInformation": { "billTo": { "address1": "901 Metro Centre Blvd", "address2": " ", "address3": "", "address4": "Foster City", "locality": "CA", "country": "US", "administrativeArea": "NH", "postalCode": "03055", "email": "test@domain.com", "firstName": "Suman", "lastName": "Kumar", "company": { "name": "A & C International Trade, Inc." } }, "shipTo": { "address1": "114B", "address2": "Grifendor House", "locality": "Hogward University", "country": "IN", "destinationCode": "ASD", "firstName": "DumbelDore", "lastName": "Albus" }, "lineItems": [ { "unitPrice": "120.50", "productSKU": "610009", "productCode": "physical_software", "productName": "Xer", "quantity": "3" } ] }, "exportComplianceInformation": { "addressOperator": "and", "weights": { "address": "low", "company": "exact", "name": "exact" }, "sanctionLists": [ "Bureau Of Industry and Security", "DOS_DTC", "AUSTRALIA" ] }, "deviceInformation": { "hostName": "www.cybersource.ir", "ipAddress": "127.0.0.1" }, "buyerInformation": { "merchantCustomerId": "Export1" } }, "responseValue": { "clientReferenceInformation": { "code": "verification example" }, "errorInformation": { "reason": "CUSTOMER_WATCHLIST_MATCH", "message": "The customer matched the Denied Parties List" }, "exportComplianceInformation": { "infoCodes": [ "MATCH-DPC" ] }, "id": "5574745444896030103092", "status": "DECLINED", "submitTimeUtc": "2019-05-10T07:49:06Z" } }, "example4": { "summary": "No Company Name", "value": { "clientReferenceInformation": { "code": "verification example" }, "orderInformation": { "billTo": { "firstName": "Suman", "lastName": "Kumar", "address1": "901 Metro Centre Blvd", "address2": "2", "locality": "Foster City", "country": "US", "administrativeArea": "CA", "postalCode": "94404", "email": "donewithhorizon@test.com" }, "lineItems": [ { "unitPrice": "19.00" } ], "shipTo": { "address1": "26 JALAN MT. ERSKINE", "address2": "Grifendor House", "locality": "PENANG", "country": "be", "firstName": "DumbelDore", "lastName": "Albus", "phoneNumber": "54871425369", "administrativeArea": "NH", "postalCode": "2176001", "method": "lowcost" } }, "buyerInformation": { "merchantCustomerId": "87789" } }, "responseValue": { "clientReferenceInformation": { "code": "verification example" }, "exportComplianceInformation": { "ipCountryConfidence": "-1" }, "id": "5585076921686393803092", "status": "COMPLETED", "submitTimeUtc": "2019-05-22T06:48:14Z" } } } } }, "/pts/v2/payouts": { "post": { "summary": "Process a Payout", "description": "Send funds from a selected funding source to a designated credit/debit card account or a prepaid card using an Original Credit Transaction (OCT).\n", "tags": [ "Payouts" ], "operationId": "octCreatePayment", "x-devcenter-metaData": { "categoryTag": "Payouts" }, "parameters": [ { "name": "octCreatePaymentRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "applicationName": { "type": "string", "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" }, "applicationVersion": { "type": "string", "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "applicationUser": { "type": "string", "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. For details, see:\n- \"Authorization Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Capture Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Credit Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\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. For details, see \"Zero Amount Authorizations,\" \"Credit Information for Specific Processors\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\nRequired for creating a new invoice.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. For details, see `grand_total_amount` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in \"Authorization Information for Specific Processors\" of the [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "surcharge": { "type": "object", "properties": { "amount": { "type": "string", "maxLength": 15, "description": "The surcharge amount is included in the total transaction amount but is passed in a separate field to the issuer and acquirer for tracking. The issuer can provide information about the surcharge amount to the customer.\n\nIf the amount is positive, then it is a debit for the customer.\nIf the amount is negative, then it is a credit for the customer.\n\n**NOTE**: This field is supported only for CyberSource through VisaNet (CtV) for Payouts. For CtV, the maximum string length is 8.\n\n#### PIN debit\nSurcharge amount that you are charging the customer for this transaction. If you include a surcharge amount\nin the request, you must also include the surcharge amount in the value for `orderInformation.amountDetails.totalAmount`.\n\nOptional field for transactions that use PIN debit credit or PIN debit purchase.\n" } } } } }, "billTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called _CyberSource Latin American Processing_. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### RBS WorldPay Atlanta\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### SEPA/BACS\nRequired for Create Mandate and Import Mandate\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n\nIt is recommended that you include the country code when the order is from outside the U.S.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nOptional field.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "phoneType": { "type": "string", "description": "Customer's phone number type.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\nPossible Values:\n* day\n* home\n* night\n* work\n" } } }, "isCryptocurrencyPurchase": { "type": "string", "description": "#### Visa Platform Connect :\nThis API will contain the Flag that specifies whether the payment is for the purchase of cryptocurrency.\nAdditional values to add :\nThis API will contain the Flag that specifies whether the payment is for the purchase of cryptocurrency.\nvalid values are\n- Y/y, true\n- N/n, false\n" } } }, "merchantInformation": { "type": "object", "properties": { "categoryCode": { "type": "integer", "maximum": 9999, "description": "The value for this field is a four-digit number that the payment card industry uses to classify\nmerchants into market segments. A payment card company assigned one or more of these values to your business when you started\naccepting the payment card company's cards. When you do not include this field in your request, CyberSource uses the value in your\nCyberSource account.\n\nFor processor-specific information, see the `merchant_category_code` field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR4\n- Position: 150-153\n- Field: Merchant Category Code\n" }, "submitLocalDateTime": { "type": "string", "description": "Time that the transaction was submitted in local time. The time is in hhmmss format.\n" }, "vatRegistrationNumber": { "type": "string", "maxLength": 21, "description": "Your government-assigned tax identification number.\n\n#### Tax Calculation\nRequired field for value added tax only. Not applicable to U.S. and Canadian taxes.\n\n#### CyberSource through VisaNet\nFor CtV processors, the maximum length is 20.\n\nFor other processor-specific information, see the `merchant_vat_registration_number` field description in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "merchantDescriptor": { "type": "object", "properties": { "name": { "type": "string", "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" }, "locality": { "type": "string", "maxLength": 13, "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" }, "country": { "type": "string", "maxLength": 2, "description": "Merchant's country.\n\n#### PIN debit\nCountry code for your business location. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\nThis value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n**Note** If your business is located in the U.S. or Canada and you include this field in a\nrequest, you must also include `merchantInformation.merchantDescriptor.administrativeArea`.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "administrativeArea": { "type": "string", "description": "The state where the merchant is located.\n\n#### PIN debit\nState code or region code for your business. Use the Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "postalCode": { "type": "string", "maxLength": 14, "description": "Merchant's postal code.\n\n#### PIN debit\nPostal code for your business location. This value might be displayed on the cardholder's statement.\n\nIf your business is domiciled in the U.S., you can use a 5-digit or 9-digit postal code. A 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\nExample: `12345-6789`\n\nIf your business is domiciled in Canada, you can use a 6-digit or 9-digit postal code. A 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space]\n[numeric][alpha][numeric]\nExample: `A1B 2C3`\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\n**Note** This field is supported only for businesses located in the U.S. or Canada.\n**Important** Mastercard requires a postal code for any country that uses postal codes.\nYou can provide the postal code in your account or you can include this field in your request.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" }, "contact": { "type": "string", "maxLength": 14, "description": "For the descriptions, used-by information, data types, and lengths for these fields, see `merchant_descriptor_contact` field description\nin [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)-->\nContact information for the merchant.\n\n**Note** These are the maximum data lengths for the following payment processors:\n- FDCCompass (13)\n- Paymentech (13)\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of merchant's address. For the descriptions, used-by information, data types, and lengths for these fields, see `merchant_descriptor_street` field description\nin [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" } } } } }, "recipientInformation": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 35, "description": "First name of recipient.\ncharacters.\n* CTV (14)\n* Paymentech (30)\n" }, "middleInitial": { "type": "string", "maxLength": 1, "description": "Middle Initial of recipient. Required only for FDCCompass.\n" }, "middleName": { "type": "string", "maxLength": 35, "description": "Recipient's middle name. This field is a _passthrough_, which means that CyberSource does not verify the value or\nmodify it in any way before sending it to the processor. If the field is not required for the transaction,\nCyberSource does not forward it to the processor.\n" }, "lastName": { "type": "string", "maxLength": 35, "description": "Last name of recipient.\ncharacters.\n* CTV (14)\n* Paymentech (30)\n" }, "address1": { "type": "string", "maxLength": 50, "description": "Recipient address information. Required only for FDCCompass." }, "locality": { "type": "string", "maxLength": 25, "description": "Recipient city. Required only for FDCCompass." }, "administrativeArea": { "type": "string", "maxLength": 3, "description": "Recipient State. Required only for FDCCompass." }, "country": { "type": "string", "maxLength": 2, "description": "Recipient country code. Required only for FDCCompass." }, "postalCode": { "type": "string", "maxLength": 10, "description": "Recipient postal code. Required only for FDCCompass." }, "phoneNumber": { "type": "string", "maxLength": 20, "description": "Recipient phone number. Required only for FDCCompass." }, "dateOfBirth": { "type": "string", "minLength": 8, "maxLength": 8, "description": "Recipient date of birth in YYYYMMDD format. Required only for FDCCompass." } } }, "senderInformation": { "type": "object", "properties": { "referenceNumber": { "type": "string", "maxLength": 19, "description": "Reference number generated by you that uniquely identifies the sender." }, "account": { "type": "object", "properties": { "fundsSource": { "type": "string", "minLength": 2, "maxLength": 2, "description": "Source of funds. Possible values:\n\n Paymentech, CTV, FDC Compass:\n - 01: Credit card\n - 02: Debit card\n - 03: Prepaid card\n\n Paymentech, CTV -\n - 04: Cash\n - 05: Debit or deposit account that is not linked to a Visa card. Includes checking accounts, savings\n accounts, and proprietary debit or ATM cards.\n - 06: Credit account that is not linked to a Visa card. Includes credit cards and proprietary lines\n of credit.\n\n FDCCompass -\n - 04: Deposit Account\n\n**Funds Disbursement**\n\nThis value is most likely 05 to identify that the originator used a deposit account to fund the\ndisbursement.\n\n**Credit Card Bill Payment**\n\nThis value must be 02, 03, 04, or 05.\n" }, "number": { "type": "string", "maxLength": 34, "description": "The account number of the entity funding the transaction. It is the sender's account number. It can\nbe a debit/credit card account number or bank account number.\n\n**Funds disbursements**\n\nThis field is optional.\n\n**All other transactions**\n\nThis field is required when the sender funds the transaction with a financial instrument, for example\ndebit card.\nLength:\n* FDCCompass (<= 19)\n* Paymentech (<= 16)\n" } } }, "firstName": { "type": "string", "maxLength": 35, "description": "First name of sender (Optional).\n* CTV (14)\n* Paymentech (30)\n" }, "middleInitial": { "type": "string", "maxLength": 1, "description": "Recipient middle initial (Optional).\n" }, "middleName": { "type": "string", "maxLength": 35, "description": "Sender's middle name. This field is a _passthrough_, which means that CyberSource does not verify the value or\nmodify it in any way before sending it to the processor. If the field is not required for the transaction,\nCyberSource does not forward it to the processor.\n" }, "lastName": { "type": "string", "maxLength": 35, "description": "Recipient last name (Optional).\n* CTV (14)\n* Paymentech (30)\n" }, "name": { "type": "string", "maxLength": 24, "description": "Name of sender.\n\n**Funds Disbursement**\n\nThis value is the name of the originator sending the funds disbursement.\n* CTV, Paymentech (30)\n" }, "address1": { "type": "string", "maxLength": 50, "description": "Street address of sender.\n\n**Funds Disbursement**\n\nThis value is the address of the originator sending the funds disbursement.\n" }, "locality": { "type": "string", "maxLength": 25, "description": "City of sender.\n\n**Funds Disbursement**\n\nThis value is the city of the originator sending the funds disbursement.\n" }, "administrativeArea": { "type": "string", "maxLength": 2, "description": "Sender's state. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n" }, "countryCode": { "type": "string", "maxLength": 2, "description": "Country of sender. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n* CTV (3)\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Sender's postal code. Required only for FDCCompass." }, "phoneNumber": { "type": "string", "maxLength": 20, "description": "Sender's phone number. Required only for FDCCompass." }, "dateOfBirth": { "type": "string", "minLength": 8, "maxLength": 8, "description": "Sender's date of birth in YYYYMMDD format. Required only for FDCCompass." }, "vatRegistrationNumber": { "type": "string", "maxLength": 13, "description": "Customer's government-assigned tax identification number.\n" }, "personalIdType": { "type": "string", "maxLength": 4, "description": "#### Visa Platform Connect\nThis tag will contain the type of sender identification.\nThe valid values are:\n\u2022 BTHD (Date of birth)\n\u2022 CUID (Customer identification (unspecified))\n\u2022 NTID (National identification)\n\u2022 PASN (Passport number)\n\u2022 DRLN (Driver license)\n\u2022 TXIN (Tax identification)\n\u2022 CPNY (Company registration number)\n\u2022 PRXY (Proxy identification)\n\u2022 SSNB (Social security number)\n\u2022 ARNB (Alien registration number)\n\u2022 LAWE (Law enforcement identification)\n\u2022 MILI (Military identification)\n\u2022 TRVL (Travel identification (non-passport))\n\u2022 EMAL (Email)\n\u2022 PHON (Phone number)\n" }, "type": { "type": "string", "maxLength": 1, "description": "#### Visa Platform Connect\nThis tag will denote whether the tax ID is a business or individual tax ID when personal ID Type contains the value of TXIN (Tax identification).\n\nThe valid values are:\n\u2022 B (Business)\n\u2022 I (Individual)\n" }, "identificationNumber": { "type": "string", "maxLength": 255, "description": "#### Visa Platform Connect\nThis tag will contain an acquirer-populated value associated with the API : senderInformation.personalIdType which will identify the personal ID type of the sender.\n" } } }, "processingInformation": { "type": "object", "properties": { "businessApplicationId": { "type": "string", "maxLength": 2, "description": "Payouts transaction type.\n\nApplicable Processors: FDC Compass, Paymentech, CtV\n\nPossible values:\n\n**Credit Card Bill Payment**\n\n - **CP**: credit card bill payment\n\n**Funds Disbursement**\n\n - **FD**: funds disbursement\n - **GD**: government disbursement\n - **MD**: merchant disbursement\n\n**Money Transfer**\n\n - **AA**: account to account. Sender and receiver are same person.\n - **PP**: person to person. Sender and receiver are different.\n\n**Prepaid Load**\n\n - **TU**: top up\n" }, "networkRoutingOrder": { "type": "string", "maxLength": 30, "description": "This field is optionally used by Push Payments Gateway participants (merchants and acquirers) to get the attributes for specified networks only.\nThe networks specified in this field must be a subset of the information provided during program enrollment. Refer to Sharing Group Code/Network Routing Order.\nNote: Supported only in US for domestic transactions involving Push Payments Gateway Service.\n\nVisaNet checks to determine if there are issuer routing preferences for any of the networks specified by the network routing order.\nIf an issuer preference exists for one of the specified debit networks, VisaNet makes a routing selection based on the issuer's preference. \nIf an issuer preference exists for more than one of the specified debit networks, or if no issuer preference exists, VisaNet makes a selection based on the acquirer's routing priorities. \n\nFor details, see the `network_order` field description in [BIN Lookup Service Using the SCMP API.](http://apps.cybersource.com/library/documentation/BIN_Lookup/BIN_Lookup_SCMP_API/html/)\n" }, "commerceIndicator": { "type": "string", "maxLength": 13, "description": "Type of transaction.\n\nValue for an OCT transaction:\n- `internet`\n\nFor details, see the `e_commerce_indicator` field description in [Payouts Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/payouts_SCMP/html/)\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Please check with Cybersource customer support to see if your merchant account is configured correctly so you\ncan include this field in your request.\n* For Payouts: max length for FDCCompass is String (22).\n" }, "payoutsOptions": { "type": "object", "properties": { "acquirerMerchantId": { "type": "string", "maxLength": 15, "description": "This field identifies the card acceptor for defining the point of service terminal in both local and interchange environments. An acquirer-assigned code identifying the card acceptor for the transaction. \nDepending on the acquirer and merchant billing and reporting requirements, the code can represent a merchant, a specific merchant location, or a specific merchant location terminal.\nAcquiring Institution Identification Code uniquely identifies the merchant.\nThe value from the original is required in any subsequent messages, including reversals, chargebacks, and representments.\n* Applicable only for CTV for Payouts.\n" }, "acquirerBin": { "type": "string", "maxLength": 11, "description": "This code identifies the financial institution acting as the acquirer of this customer transaction. The acquirer is the member or system user that signed the merchant or ADM or dispensed cash. \nThis number is usually Visa-assigned.\n* Applicable only for CTV for Payouts.\n" }, "retrievalReferenceNumber": { "type": "string", "maxLength": 12, "description": "This field contains a number that is used with other data elements as a key to identify and track all messages related to a given cardholder transaction;\nthat is, to a given transaction set.\n\nFormat:\n Positions 1-4: The `yddd` equivalent of the date, where `y` = 0-9 and `ddd` = 001 \u2013 366.\n Positions 5-12: A unique identification number generated by the merchant\n\n* Applicable only for CTV for Payouts.\n" }, "accountFundingReferenceId": { "type": "string", "maxLength": 15, "description": "Visa-generated transaction identifier (TID) that is unique for each original authorization and financial request.\n* Applicable only for CTV for Payouts.\n" }, "deferredDateTime": { "type": "string", "maxLength": 12, "description": "#### Visa Platform Connect\n\nContains date and time value indicating scheduled deferred OCT.\n\nFormat is : 'yyyyMMddHHmm', where\n\n'YYYY' = year\n'MM' = month\n'DD' = day\n'hh' = hour\n'mm' = minutes\n" } } }, "transactionReason": { "type": "string", "maxLength": 4, "description": "Transaction reason code.\n" }, "purposeOfPayment": { "type": "string", "maxLength": 12, "description": "This will send purpose of funds code for original credit transactions (OCTs).\n" }, "fundingOptions": { "type": "object", "properties": { "initiator": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 1, "description": "#### Visa Platform Connect :\nThis API will contain a code that denotes whether the customer identification data belongs to the sender or the recipient.\n\nThe valid values are:\n\u2022 S (Payer (sender))\n\u2022 R (Payee (recipient))\n" } } } } } } }, "paymentInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `014`: Enroute[^1]\n- `021`: JAL[^1]\n- `024`: Maestro (UK Domestic)[^1]\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `042`: Maestro (International)[^1]\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `054`: Elo[^3]\n- `062`: China UnionPay\n- '070': EFTPOS\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "number": { "type": "string", "maxLength": 20, "description": "The customer's payment card number, also known as the Primary Account Number (PAN). You can also use this field\nfor encoded account numbers.\n\n#### FDMS Nashville\nRequired. String (19)\n\n#### GPX\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nValid values: `01` through `12`. Leading 0 is required.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value\n(`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is\nin the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause\nthe issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (_type_=039), if there is no expiration date on the card, use `12`.\n\n#### FDMS Nashville\nRequired field.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the payment card expires.\n\nFormat: `YYYY`.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`1900` through `3000`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (**_type_**`=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDMS Nashville\nRequired field.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. If you send in 2 digits, they must be the last 2 digits of the year.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "sourceAccountType": { "type": "string", "maxLength": 20, "description": "Flag that specifies the type of account associated with the card. \nThe cardholder provides this information during the payment process.\n\nThis field is required in the following cases:\n - Debit transactions on Cielo and Comercio Latino.\n - Transactions with Brazilian-issued cards on CyberSource through VisaNet.\n - Applicable only for CyberSource through VisaNet (CtV).\n\n**Note** Combo cards in Brazil contain credit and debit functionality in a single card. Visa systems use a credit bank\nidentification number (BIN) for this type of card. Using the BIN to determine whether a card is debit or\ncredit can cause transactions with these cards to be processed incorrectly. CyberSource strongly recommends\nthat you include this field for combo card transactions.\n\nPossible values include the following.\n\n - `CH`: Checking account\n - `CR`: Credit card account\n - `SA`: Saving account\n - `LI`: Line of credit or credit portion of combo card\n - `PP`: Prepaid card account or prepaid portion of combo card\n - `UA`: Universal account\n\nIf useAs is set to credit/debit and there is a value in SourceAccountType, the value in the SourceAccountType field will take precedence.\nIf useAs is set to CR/DB and there is a value in SourceAccountType, the value in the useAs field will take precedence.\n" } } }, "customer": { "type": "object", "properties": { "customerId": { "type": "string", "description": "Unique identifier for the customer's card and billing information.\n\nWhen you use Payment Tokenization or Recurring Billing and you include this value in\nyour request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n\n**NOTE** When you use Payment Tokenization or Recurring Billing, the value for the Customer ID is actually the Cybersource payment token for a customer. This token stores information such as the consumer's card number so it can be applied towards bill payments, recurring payments, or one-time payments. By using this token in a payment API request, the merchant doesn't need to pass in data such as the card number or expiration date in the request itself.\n\nFor details, see the `subscription_id` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "id": { "type": "string", "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "paymentInstrument": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Payment Instrument token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Instrument Identifier token used in the transaction.\nWhen you include this value in your request, many of the fields that can be supplied for an authorization or credit\nbecome optional.\n", "minLength": 12, "maxLength": 32 }, "state": { "type": "string", "description": "Issuers state for the card number.\nValid values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" } } }, "tokenizedCard": { "type": "object", "properties": { "number": { "type": "string", "maxLength": 20, "description": "Customer's payment network token value.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "One of two possible meanings:\n- The two-digit month in which a token expires.\n- The two-digit month in which a card expires.\nFormat: `MM`\nPossible values: `01` through `12`\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_type=039`), if there is no expiration date on the card, use `12`.\\\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Samsung Pay and Apple Pay\nMonth in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\nFor processor-specific information, see the `customer_cc_expmo` field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "One of two possible meanings:\n- The four-digit year in which a token expires.\n- The four-digit year in which a card expires.\nFormat: `YYYY`\nPossible values: `1900` through `3000`\nData type: Non-negative integer\n\n**NOTE** The meaning of this field is dependent on the payment processor that is returning the value in an authorization reply. Please see the processor-specific details below.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (1900 through\n3000) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (`card_ type=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. When you send in 2 digits, they must be the last 2 digits of\nthe year.\n\n#### Samsung Pay and Apple Pay\nYear in which the token expires. CyberSource includes this field in the reply message when it decrypts the payment blob for the tokenized transaction.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction\nyou are requesting.\n\nFor processor-specific information, see the `customer_cc_expyr` or `token_expiration_year` field in [Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `014`: Enroute[^1]\n- `021`: JAL[^1]\n- `024`: Maestro (UK Domestic)[^1]\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `042`: Maestro (International)[^1]\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `054`: Elo[^3]\n- `062`: China UnionPay\n- '070': EFTPOS\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "cryptogram": { "type": "string", "maxLength": 255, "description": "This field contains token information." }, "requestorId": { "type": "string", "maxLength": 11, "description": "Value that identifies your business and indicates that the cardholder's account number is tokenized. This value\nis assigned by the token service provider and is unique within the token service provider's database.\n\n**Note** This field is supported only for **CyberSource through VisaNet** and **FDC Nashville Global**.\n\n#### PIN debit\nOptional field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.\n" }, "transactionType": { "type": "string", "maxLength": 1, "description": "Type of transaction that provided the token data. This value does not specify the token service provider; it specifies the entity that\nprovided you with information about the token.\n\nPossible value:\n- `2`: Near-field communication (NFC) transaction. The customer's mobile device provided the token data for a contactless EMV transaction. For recurring\ntransactions, use this value if the original transaction was a contactless EMV transaction.\n\n#### Visa Platform Connect\n- `1`: For Rupay and In App tokenization. Example: InApp apple pay.\n- `3`: Card/Credential On File Tokenization.\n\n**NOTE** No CyberSource through VisaNet acquirers support EMV at this time.\n\nRequired field for PIN debit credit or PIN debit purchase transactions that use payment network tokens; otherwise, not used.\n\n#### Rupay\n- `3`: Card/Credential On File Tokenization.\n- `4`: Tokenizined Transaction. Should be used for Guest Checkout transactions with token.\n" }, "assuranceLevel": { "type": "string", "maxLength": 2, "description": "Confidence level of the tokenization. This value is assigned by the token service provider.\n\n**Note** This field is supported only for **CyberSource through VisaNet** and **FDC Nashville Global**.\n\nReturned by PIN debit credit or PIN debit purchase.\n\n**Note** Merchants supported for **CyberSource through VisaNet**/**Visa Platform Connect** are advised not to use this field.\n" }, "storageMethod": { "type": "string", "maxLength": 3, "description": "Type of technology used in the device to store token data. Possible values:\n\n- `001`: Secure Element (SE). Smart card or memory with restricted access and encryption to prevent data tampering. For storing payment\n credentials, a SE is tested against a set of requirements defined by the payment networks.\n\n **Note** This field is supported only for _FDC Compass_.\n\n- 002: Host Card Emulation (HCE). Emulation of a smart card by using software to create a virtual and exact representation of the card.\nSensitive data is stored in a database that is hosted in the cloud. For storing payment credentials, a database\nmust meet very stringent security requirements that exceed PCI DSS.\n\n**Note** This field is supported only for _FDC Compass_.\n" }, "securityCode": { "type": "string", "maxLength": 4, "description": "Card Verification Number (CVN).\n\n#### Ingenico ePayments\nDo not include this field when **commerceIndicator=recurring**.\n**Note** Ingenico ePayments was previously called _Global Collect_.\n\nFor details, see `customer_cc_cv_number` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "securityCodeIndicator": { "type": "string", "maxLength": 1, "description": "Indicates whether a CVN code was sent. Possible values:\n\n - `0` (default): CVN service not requested. This default value is used when you do not include\n `securityCode` field in the request.\n - `1` (default): CVN service requested and supported. This default value is used when you include\n `securityCode` field in the request.\n - `2`: CVN on credit card is illegible.\n - `9`: CVN was not imprinted on credit card.\n\n#### FDMS Nashville\nRequired for American Express cards; otherwise, optional.\n\n#### TSYS Acquiring Solutions\nOptional if `pointOfSaleInformation.entryMode=keyed`; otherwise, not used.\n\n#### All other processors\nOptional.\n" }, "assuranceMethod": { "type": "string", "maxLength": 2, "description": "Confidence level of the tokenization. This value is assigned by the token service provider.\n\n**Note** This field is supported only for **Visa Platform Connect**\n" } } } } } }, "example": { "clientReferenceInformation": { "code": "33557799" }, "senderInformation": { "referenceNumber": "1234567890", "address1": "900 Metro Center Blvd.900", "countryCode": "US", "locality": "Foster City", "name": "Thomas Jefferson", "administrativeArea": "CA", "account": { "number": "1234567890123456789012345678901234", "fundsSource": "01" } }, "processingInformation": { "commerceIndicator": "internet", "businessApplicationId": "FD", "networkRoutingOrder": "ECG" }, "payoutsOptions": { "retrievalReferenceNumber": "123456789012", "acquirerBin": "567890124" }, "reconciliationId": "1087488702VIAQNSPQ", "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" } }, "merchantInformation": { "merchantCategoryCode": "123", "merchantDescriptor": { "country": "US", "postalCode": "94440", "locality": "FC", "name": "Thomas", "administrativeArea": "CA" } }, "paymentInformation": { "card": { "expirationYear": "2025", "number": "4111111111111111", "expirationMonth": "12", "type": "001", "sourceAccountType": "CH" } }, "recipientInformation": { "firstName": "John", "lastName": "Doe", "address1": "Paseo Padre Boulevard", "locality": "Foster City", "administrativeArea": "CA", "postalCode": "94400", "phoneNumber": "6504320556", "dateOfBirth": "19801009", "country": "US" } } } } ], "responses": { "201": { "description": "Successful response.", "schema": { "title": "ptsV2PayoutsPost201Response", "example": { "_links": { "self": { "href": "/pts/v2/payouts/5287556536256000401540", "method": "GET" } }, "clientReferenceInformation": { "code": "1528755653559" }, "id": "5287556536256000401540", "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" } }, "processorInformation": { "systemTraceAuditNumber": "897596", "approvalCode": "831000", "transactionId": "016153570198200", "responseCode": "00", "responseCodeSource": "5" }, "reconciliationId": "1087488702VIAQNSPQ", "status": "ACCEPTED", "submitTimeUtc": "2018-06-11T222054Z" }, "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.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - ACCEPTED\n - DECLINED\n - INVALID_REQUEST\n" }, "reconciliationId": { "type": "string", "maxLength": 25, "description": "Cybersource or merchant generated transaction reference number. This is sent to the processor and is echoed back in the response to the merchant. This is\nThis value is used for reconciliation purposes.\n" }, "errorInformation": { "type": "object", "properties": { "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - EXPIRED_CARD\n - PROCESSOR_DECLINED\n - STOLEN_LOST_CARD\n - UNAUTHORIZED_CARD\n - CVN_NOT_MATCH\n - INVALID_CVN\n - BLACKLISTED_CUSTOMER\n - INVALID_ACCOUNT\n - GENERAL_DECLINE\n - RISK_CONTROL_DECLINE\n - PROCESSOR_RISK_CONTROL_DECLINE\n - ALLOWABLE_PIN_RETRIES_EXCEEDED\n - PROCESSOR_ERROR\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" } } } } } }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "submitLocalDateTime": { "type": "string", "maxLength": 14, "description": "Date and time at your physical location.\n\nFormat: `YYYYMMDDhhmmss`, where YYYY = year, MM = month, DD = day, hh = hour, mm = minutes ss = seconds\n\n#### PIN Debit\nOptional field for PIN Debit purchase and credit requests.\n" }, "ownerMerchantId": { "type": "string", "description": "Merchant ID that was used to create the subscription or customer profile for which the service was requested.\n\nIf your CyberSource account is enabled for Recurring Billing, this field is returned only if you are using\nsubscription sharing and if your merchant ID is in the same merchant ID pool as the owner merchant ID.\n\nIf your CyberSource account is enabled for Payment Tokenization, this field is returned only if you are using\nprofile sharing and if your merchant ID is in the same merchant ID pool as the owner merchant ID.\n" } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "properties": { "name": { "type": "string", "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" }, "locality": { "type": "string", "maxLength": 13, "description": "Merchant's City.\n\n#### PIN debit\nCity for your business location. This value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n" }, "country": { "type": "string", "maxLength": 2, "description": "Merchant's country.\n\n#### PIN debit\nCountry code for your business location. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\nThis value might be displayed on the cardholder's statement.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n**Note** If your business is located in the U.S. or Canada and you include this field in a\nrequest, you must also include `merchantInformation.merchantDescriptor.administrativeArea`.\n\nOptional field for PIN debit credit or PIN debit purchase.\n" } } } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. For details, see:\n- \"Authorization Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Capture Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Credit Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\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. For details, see \"Zero Amount Authorizations,\" \"Credit Information for Specific Processors\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\nRequired for creating a new invoice.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. For details, see `grand_total_amount` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in \"Authorization Information for Specific Processors\" of the [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "settlementAmount": { "type": "string", "maxLength": 12, "description": "This is a multicurrency field. It contains the transaction amount (field 4), converted to the Currency used to bill the cardholder's account.\nThis field is returned for OCT transactions.\n" }, "settlementCurrency": { "type": "string", "maxLength": 3, "description": "This is a multicurrency-only field. It contains a 3-digit numeric code that identifies the currency used by the issuer to bill the cardholder's account.\nThis field is returned for OCT transactions.\n" } } } } }, "processorInformation": { "type": "object", "properties": { "approvalCode": { "type": "string", "maxLength": 6, "description": "Issuer-generated approval code for the transaction." }, "responseCode": { "type": "string", "maxLength": 10, "description": "Transaction status from the processor." }, "transactionId": { "type": "string", "maxLength": 15, "description": "Network transaction identifier (TID). This value can be used to identify a specific transaction when\nyou are discussing the transaction with your processor.\n" }, "systemTraceAuditNumber": { "type": "string", "maxLength": 6, "description": "This field is returned only for **American Express Direct** and **CyberSource through VisaNet**.\nReturned by authorization and incremental authorization services.\n\n#### American Express Direct\n\nSystem trace audit number (STAN). This value identifies the transaction and is useful when investigating a\nchargeback dispute.\n\n#### CyberSource through VisaNet\n\nSystem trace number that must be printed on the customer's receipt.\n" }, "responseCodeSource": { "type": "string", "maxLength": 1, "description": "Used by Visa only and contains the response source/reason code that identifies the source of the response decision.\n" } } }, "recipientInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "balance": { "type": "string", "maxLength": 12, "description": "This field shows the available balance in the prepaid account.\nAcquirers always receive the available balance in the transaction currency.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.\n" } } } } }, "issuerInformation": { "type": "object", "properties": { "serviceProcessingType": { "type": "string", "maxLength": 2, "description": "This field contains values that identify the service type under which the transaction should be processed.\nThe valid value for the Visa Alias Directory Service is A0 (Alias) and 00 (normal transaction).\n" } } }, "tokenInformation": { "type": "object", "properties": { "instrumentidentifierNew": { "type": "boolean", "description": "A value of true means the card number or bank account used to create an Instrument Identifier was new and did not already exist in the token vault.\nA value of false means the card number or bank account used to create an Instrument Identifier already existed in the token vault.\n" }, "customer": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Customer token that was created as part of a bundled TOKEN_CREATE action.\n", "minLength": 1, "maxLength": 32 } } }, "paymentInstrument": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Payment Instrument token that was created as part of a bundled TOKEN_CREATE action.\n", "minLength": 1, "maxLength": 32 } } }, "shippingAddress": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Customers Shipping Address token that was created as part of a bundled TOKEN_CREATE action.\n", "minLength": 1, "maxLength": 32 } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Instrument Identifier token that was created as part of a bundled TOKEN_CREATE action.\n", "minLength": 12, "maxLength": 32 }, "state": { "type": "string", "description": "Issuers state for the card number.\nValid values:\n- ACTIVE\n- CLOSED : The account has been closed.\n" } } } } } } } }, "400": { "description": "Invalid request.", "schema": { "title": "ptsV2PayoutsPost400Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction." }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_CARD\n - INVALID_MERCHANT_CONFIGURATION\n - INVALID_AMOUNT\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" } } } } } } }, "502": { "description": "Unexpected system error or system timeout.", "schema": { "title": "ptsV2PayoutsPost502Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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": "Payout (Card not Token)", "sample-name": "Process Payout Card", "value": { "clientReferenceInformation": { "code": "33557799" }, "senderInformation": { "referenceNumber": "1234567890", "address1": "900 Metro Center Blvd.900", "countryCode": "US", "locality": "Foster City", "name": "Company Name", "administrativeArea": "CA", "account": { "fundsSource": "05" } }, "processingInformation": { "commerceIndicator": "internet", "businessApplicationId": "FD", "networkRoutingOrder": "V8" }, "orderInformation": { "amountDetails": { "totalAmount": "100.00", "currency": "USD" } }, "merchantInformation": { "merchantDescriptor": { "country": "US", "postalCode": "94440", "locality": "FC", "name": "Sending Company Name", "administrativeArea": "CA" } }, "paymentInformation": { "card": { "expirationYear": "2025", "number": "4111111111111111", "expirationMonth": "12", "type": "001" } }, "recipientInformation": { "firstName": "John", "lastName": "Doe", "address1": "Paseo Padre Boulevard", "locality": "Foster City", "administrativeArea": "CA", "postalCode": "94400", "phoneNumber": "6504320556", "country": "US" } } }, "example1": { "summary": "Payout (Token)", "sample-name": "Process Payout Token", "value": { "clientReferenceInformation": { "code": "111111113" }, "senderInformation": { "referenceNumber": "1234567890", "address1": "900 Metro Center Blvd.900", "countryCode": "US", "locality": "Foster City", "name": "Company Name", "administrativeArea": "CA", "account": { "number": "1234567890123456789012345678901234", "fundsSource": "05" } }, "processingInformation": { "commerceIndicator": "internet", "businessApplicationId": "FD", "networkRoutingOrder": "V8" }, "orderInformation": { "amountDetails": { "totalAmount": "111.00", "currency": "USD" } }, "merchantInformation": { "merchantDescriptor": { "country": "US", "postalCode": "94440", "locality": "FC", "name": "Sending Company Name", "administrativeArea": "CA" } }, "paymentInformation": { "customer": { "customerId": "7500BB199B4270EFE05340588D0AFCAD" } }, "recipientInformation": { "firstName": "John", "lastName": "Doe", "address1": "Paseo Padre Boulevard", "locality": "Foster City", "administrativeArea": "CA", "postalCode": "94400", "phoneNumber": "6504320556", "country": "US" } } } } } }, "/pts/v1/push-funds-transfer": { "post": { "summary": "Process a Push Funds Transfer", "description": "Receive funds using an Original Credit Transaction (OCT).\n", "tags": [ "Push_Funds" ], "operationId": "createPushFundsTransfer", "x-devcenter-metaData": { "categoryTag": "Payouts", "firstLevelApiLifeCycle": "hidden", "secondLevelApiLifeCycle": "hidden", "apiLifeCycle": "hidden", "developerGuides": "https://developer.cybersource.com/api/developer-guides/dita-payouts/Introduction.html" }, "parameters": [ { "name": "pushFundsRequest", "in": "body", "required": true, "schema": { "type": "object", "required": [ "orderInformation", "processingInformation", "senderInformation" ], "properties": { "clientReferenceInformation": { "type": "object", "x-nullable": true, "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each transaction so that you can perform meaningful searches for the transaction.\n" }, "applicationName": { "type": "string", "maxLength": 50, "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" }, "applicationVersion": { "type": "string", "maxLength": 50, "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "applicationUser": { "type": "string", "maxLength": 60, "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" } } }, "orderInformation": { "type": "object", "required": [ "amountDetails" ], "properties": { "amountDetails": { "type": "object", "required": [ "totalAmount", "currency" ], "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters. CyberSource truncates the amount to the correct number of decimal places.\n\nThe disbursement amount. Numeric integer, 1-999999999999. The decimal point is implied based on the relevant\u202fcurrency\u202fexponent. For example, a US Dollar $53 amount is a value of 5300.\n\nProcessor Amount Ranges:\nVisa Platform Connect: .01-9999999999.99\n\nMastercard Send: 1-9999999999.99\n\nFDC Compass: .01- 9999999999.99\n\nChase Paymentech: .01-9999999999.99\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Use a 3-character alpha currency code for currency of the sender.\n\nISO standard currencies: http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf\n\nCurrency must be supported by the processor.\n" } } }, "isCryptocurrencyPurchase": { "type": "string", "maxLength": 5, "description": "This indicates that the funds transfer is for a crypto currency transaction. Optional Y/y, true N/n, false\n" }, "surcharge": { "type": "object", "properties": { "amount": { "type": "string", "maxLength": 8, "description": "The surcharge amount is included in the total transaction amount but is passed in a separate field to the issuer and acquirer for tracking. The issuer can provide information about the surcharge amount to the customer.\n\nIf the amount is positive, then it is a debit for the customer. If the amount is negative, then it is a credit for the customer.\n\nNOTE: This field is supported only for Visa Platform Connect\n" } } } } }, "processingInformation": { "type": "object", "required": [ "commerceIndicator" ], "properties": { "businessApplicationId": { "type": "string", "maxLength": 2, "description": "\nPayouts transaction type.\nRequired for Mastercard Send.\n\nValid Values-\nVisa Platform Connect:\n- `AA`: Account to account.\n- `CP`: Card bill payment\n- `FD`: Funds disbursement (general)\n- `GD`: Government disbursement\n- `MD`: Merchant disbursement (acquirers or aggregators settling to merchants).\n- `PP`: Person to person.\n- `TU`: Top-up for enhanced prepaid loads.\n\n\nMastercard Send:\n- `BB`: Business to business.\n- `BD`: Business Disbursement\n- `CP`: Card bill payment\n- `GD`: Government disbursement\n- `MD`: Merchant disbursement (acquirers or aggregators settling to merchants).\n- `OG`: Online gambling payout.\n\n\nChase Paymentech Solutions:\n- `AA`: Account to account.\n- `FD`: Funds disbursement (general)\n- `MD`: Merchant disbursement (acquirers or aggregators settling to merchants).\n- `PP`: Person to person.\n\n\nFDC Compass:\n- `BB`: Business to business.\n- `BI`: Bank-initiated money transfer.\n- `FD`: Funds disbursement (general)\n- `GD`: Government disbursement\n- `GP`: Gambling Payment\n- `LO`: Loyalty Offers\n- `MD`: Merchant disbursement (acquirers or aggregators settling to merchants).\n- `MI`: Merchant initated money transfer\n- `OG`: Online gambling payout.\n- `PD`: Payroll pension disbursement.\n- `PP`: Person to person.\n- `WT`: Wallet transfer.\n" }, "commerceIndicator": { "type": "string", "maxLength": 13, "description": "Type of transaction.\n\nValue for an OCT transaction:\ninternet\n\nFor details, see the e_commerce_indicator field description in Payouts Using the SCMP API.\n" }, "networkRoutingOrder": { "type": "string", "maxLength": 30, "description": "Visa Platform Connect\nThis field is optionally used by Push Payments Gateway participants (merchants and acquirers) to get the attributes for specified networks only. The networks specified in this field must be a subset of the information provided during program enrollment. Refer to Sharing Group Code/Network Routing Order. Note: Supported only in US for domestic transactions involving Push Payments Gateway Service.\n\nVisaNet checks to determine if there are issuer routing preferences for any of the networks specified by the network routing order. If an issuer preference exists for one of the specified debit networks, VisaNet makes a routing selection based on the issuer's preference. If an issuer preference exists for more than one of the specified debit networks, or if no issuer preference exists, VisaNet makes a selection based on the acquirer's routing priorities.\n\nFor details, see the network_order field description in BIN Lookup Service Using the SCMP API.\n" }, "payoutsOptions": { "type": "object", "properties": { "accountFundingReferenceId": { "type": "string", "maxLength": 15, "description": "Visa-generated transaction identifier (TID) that is unique for each original authorization and financial request.\n\nApplicable only for Visa Platform Connect\n" }, "retrievalReferenceNumber": { "type": "string", "maxLength": 12, "description": "This field contains a number that is used with other data elements as a key to identify and track all messages related to a given cardholder transaction; that is, to a given transaction set.\n\nFormat: Positions 1-4: The yddd equivalent of the date, where y = 0-9 and ddd = 001 \u2013 366. Positions 5-12: A unique identification number generated by the merchant\n\nApplicable only for Visa Platform Connect\n" } } }, "purposeOfPayment": { "type": "string", "maxLength": 12, "description": "This will send purpose of funds code for original credit transactions (OCTs).\n\nVisa Platform Connect (VPC)\nThis will send purpose of transaction code for original credit transactions (OCTs). Purpose of Payment codes are defined by the recipient issuer's country and vary by country.\n\nMastercard Send:\n- `00`: Family Support\n- `01`: Regular Labor Transfers (expatriates),\n- `02`: Travel & Tourism\n- `03`: Education\n- `04`: Hospitalization & Medical Treatment,\n- `05`: Emergency Need\n- `06`: Savings\n- `07`: Gifts\n- `08`: Other\n- `09`: Salary\n- `10`: Crowd lending\n- `11`: Crypto currency\n- `12`: Refund to original card\n- `13`: Refund to new card\n" }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Please check with Cybersource customer support to see if your merchant account is configured correctly so you can include this field in your request.\n\nFor Payouts: max length for FDCCompass is String (22).\n" }, "recurringOptions": { "type": "object", "properties": { "loanPayment": { "type": "boolean", "maxLength": 1, "description": "boolean\nDefault: false\nFlag that indicates whether this is a payment towards an existing contractual loan.\n\nPossible values:\n\ntrue: Loan payment\nfalse: (default) Not a loan payment\n\nThis field applies only to FDC Compass\n" } } }, "transactionReason": { "type": "string", "maxLength": 4, "description": "Transaction reason code.\n\nThis field applies only to Visa Platform Connect\n" } } }, "processingOptions": { "type": "object", "properties": { "fundingOptions": { "type": "object", "properties": { "initiator": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 1, "description": "Visa Platform Connect :\nThis API will contain a code that denotes whether the customer identification data belongs to the sender or the recipient.\n\nThe valid values are:\n- `S` (Payer (sender))\n- `R` (Payee (recipient))\n\nThis field applies only to Visa Platform Connect\n" } } } } } } }, "recipientInformation": { "type": "object", "properties": { "paymentInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 3, "description": "Three-digit value that indicates the card type. Mandatory if not present in a token.\n\nPossible values:\n\nVisa Platform Connect\n- `001`: Visa\n- `002`: Mastercard, Eurocard, which is a European regional brand of Mastercard.\n- `033`: Visa Electron\n- `024`: Maestro\n\nMastercard Send:\n- `002`: Mastercard, Eurocard, which is a European regional brand of Mastercard.\n\nFDC Compass:\n- `001`: Visa\n- `002`: Mastercard, Eurocard, which is a European regional brand of Mastercard.\n\nChase Paymentech:\n- `001`: Visa\n- `002`: Mastercard, Eurocard, which is a European regional brand of Mastercard.\n" }, "securityCode": { "type": "string", "maxLength": 3, "x-nullable": true, "description": "3-digit value that indicates the cardCvv2Value. Values can be 0-9.\n" }, "number": { "type": "string", "minLength": 13, "maxLength": 19, "x-nullable": true, "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n\nConditional: this field is required if not using tokens.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "x-nullable": true, "description": "Two-digit month in which the payment card expires.\n\nFormat: MM.\n\nValid values: 01 through 12. Leading 0 is required.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "x-nullable": true, "description": "Four-digit year in which the payment card expires.\n\nFormat: YYYY.\n" }, "customer": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 32, "description": "Unique identifier for the Customer token used in the transaction. When you include this value in your request, many of the fields that are normally required for an authorization or credit become optional.\n" } } }, "paymentInstrument": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 32, "description": "Unique identifier for the Payment Instrument token used in the transaction. When you include this value in your request, many of the fields that are normally required for an authorization or credit become optional.\n" } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 32, "description": "Unique identifier for the Instrument Identifier token used in the transaction. When you include this value in your request, many of the fields that can be supplied for an authorization or credit become optional.\n" } } } } } } }, "address1": { "type": "string", "maxLength": 50, "description": "First line of the recipient's address.\n\nRequired for Mastercard Send. This field is not supported for Visa Platform Connect.\n" }, "address2": { "type": "string", "maxLength": 50, "x-nullable": true, "description": "Second line of the recipient's address\n\nOptional for Mastercard Send. This field is not supported for Visa Platform Connect.\n" }, "locality": { "type": "string", "maxLength": 25, "description": "Recipient city.\n\nRequired for Mastercard Send.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Recipient postal code.\n\nFor USA, this must be a valid value of 5 digits or 5 digits hyphen 4 digits, for example '63368', '63368-5555'. For other regions, this can be alphanumeric, length 1-10.\n\nMastercard Send: Required for recipients in Canada and Canadian issued cards.\n" }, "administrativeArea": { "type": "string", "maxLength": 3, "x-nullable": true, "description": "The recipient's province, state or territory. Conditional, required if recipient's country is USA or CAN. Must be an ISO 3166-2 uppercase alpha 2 or 3 character country subdivision code. For example, Missouri is MO.\n\nRequired only for FDCCompass.\n\nThis field is not supported for Visa Platform Connect.\n" }, "country": { "type": "string", "maxLength": 2, "description": "Recipient country code. Use the ISO Standard Alpha Country Codes.\n\nhttps://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf\n\nRequired for Mastercard Send.\n" }, "firstName": { "type": "string", "maxLength": 40, "description": "First name of recipient.\n\nVisa Platform Connect (14)\nChase Paymentech (30)\nMastercard Send (40)\n\nThis field is required for Mastercard Send.\n" }, "middleName": { "type": "string", "maxLength": 40, "x-nullable": true, "description": "Sender's middle name. This field is a passthrough, which means that CyberSource does not verify the value or modify it in any way before sending it to the processor. If the field is not required for the transaction, CyberSource does not forward it to the processor.\n" }, "middleInitial": { "type": "string", "maxLength": 1, "x-nullable": true, "description": "Middle Initial of recipient.\n\nThis field is supported by FDC Compass.\n" }, "lastName": { "type": "string", "maxLength": 40, "x-nullable": true, "description": "Last name of recipient.\n\nVisa Platform Connect (14)\nPaymentech (30)\nMastercard Send (40)\n\nThis field is required for Mastercard Send.\n" }, "dateOfBirth": { "type": "string", "maxLength": 8, "x-nullable": true, "description": "Recipient date of birth in YYYYMMDD format.\n" }, "phoneNumber": { "type": "string", "maxLength": 20, "description": "Recipient phone number.\n\nThis field is supported by FDC Compass.\n\nMastercard Send: Max length is 15 with no dashes or spaces.\n" }, "personalIdentification": { "type": "object", "properties": { "id": { "type": "string", "x-nullable": true, "maxLength": 80, "description": "The ID number/value.\n\nVisa Platform Connect\nThis tag will contain an acquirer-populated value associated with the API : senderInformation.personalIdType which will identify the personal ID type of the sender.\n\nMastercard Send(80)\n" }, "type": { "type": "string", "x-nullable": true, "maxLength": 4, "description": "This tag will contain the type of sender identification. The valid values are:\n\nVisa Platform Connect:\n- `BTHD`: (Date of birth)\n- `CUID`: (Customer identification (unspecified))\n- `NTID`: (National identification)\n- `PASN`: (Passport number)\n- `DRLN`: (Driver license)\n- `TXIN`: (Tax identification)\n- `CPNY`: (Company registration number)\n- `PRXY`: (Proxy identification)\n- `SSNB`: (Social security number)\n- `ARNB`: (Alien registration number)\n- `LAWE`: (Law enforcement identification)\n- `MILI`: (Military identification)\n- `TRVL`: (Travel identification (non-passport))\n- `EMAL`: (Email)\n- `PHON`: (Phone number)\n\nMastercard Send:\n- `CUID`: (Customer identification (unspecified))\n- `NTID`: (National identification)\n- `PASN`: (Passport number)\n- `DRLN`: (Driver license)\n- `TXIN`: (Tax identification)\n- `SSNB`: (Social security number)\n- `ARNB`: (Alien registration number)\n- `EIDN`: (Employer Identification Number)\n- `IDNB`: (Identity Card Number)\n" } } } } }, "senderInformation": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 30, "x-nullable": true, "description": "Name of sender.\n\nFunds Disbursement\n\nThis value is the name of the originator sending the funds disbursement.\n" }, "firstName": { "type": "string", "maxLength": 40, "x-nullable": true, "description": "This field contains the first name of the entity funding the transaction.\n" }, "lastName": { "type": "string", "maxLength": 40, "x-nullable": true, "description": "This field contains the last name of the entity funding the transaction.\n" }, "middleName": { "type": "string", "maxLength": 40, "x-nullable": true, "description": "Supported only for Mastercard transactions. This field contains the middle name of the entity funding the transaction\n" }, "postalCode": { "type": "string", "maxLength": 10, "x-nullable": true, "description": "Sender's postal code. For USA, this must be a valid value of 5 digits or 5 digits hyphen 4 digits, for example '63368', '63368-5555'. For other regions, this can be alphanumeric, length 1-10.\n\nRequired for FDCCompass.\n" }, "address1": { "type": "string", "maxLength": 60, "x-nullable": true, "description": "Street address of sender.\n\nFunds Disbursement\n\nThis value is the address of the originator sending the funds disbursement.\n\nVisa Platform Connect\nRequired for transactions using business application id of AA, BI, PP, and WT.\n" }, "address2": { "type": "string", "maxLength": 60, "x-nullable": true, "description": "Used for additional address information. For example: Attention: Accounts Payable Optional field.\n\nThis field is supported for only Mastercard Send.\n" }, "locality": { "type": "string", "maxLength": 25, "x-nullable": true, "description": "The sender's city\n\nVisa Platform Connect\nRequired for transactions using business application id of AA, BI, PP, and WT.\n" }, "administrativeArea": { "type": "string", "maxLength": 3, "x-nullable": true, "description": "Sender's state. Use the State, Province, and Territory Codes for the United States and Canada.The sender's province, state or territory. Conditional, required if sender's country is USA or CAN. Must be uppercase alpha 2 or 3 character country subdivision code.\n\nSee https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf\n" }, "country": { "type": "string", "maxLength": 2, "x-nullable": true, "description": "Sender's country code. Use ISO Standard Alpha Country Codes.\n\nhttps://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf\n\nVisa Platform Connect\nRequired for transactions using business application id of AA, BI, PP, and WT.\n\nRequired for Mastercard Send\n" }, "vatRegistrationNumber": { "type": "string", "maxLength": 20, "description": "Customer's government-assigned tax identification number.\n" }, "dateOfBirth": { "type": "string", "maxLength": 8, "description": "Sender's date of birth in YYYYMMDD format.\n" }, "phoneNumber": { "type": "string", "x-nullable": true, "maxLength": 20, "description": "Sender's phone number.\n" }, "paymentInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 3, "description": "Three-digit value that indicates the card type.\n\nIMPORTANT It is strongly recommended that you include the card type field in request messages even if it is optional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n\n- `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value 001 for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n" }, "securityCode": { "type": "string", "maxLength": 3, "description": "3-digit value that indicates the card Cvv2Value. Values can be 0-9.\n\nThis field is supported in Mastercard Send.\n" }, "sourceAccountType": { "type": "string", "maxLength": 20, "description": "Flag that specifies the type of account associated with the card. The cardholder provides this information during the payment process.\n\nValid values for Visa Platform Connect:\n- `CHECKING`: Checking account\n- `CREDIT`: Credit card account\n- `SAVING`: Saving account\n- `LINE_OF_CREDIT`: Line of credit or credit portion of combo card\n- `PREPAID`: Prepaid card account or prepaid portion of combo card\n- `UNIVERSAL`: Universal account\n\nValid values for Mastercard Send:\n- `00`: Other,\n- `01`: RTN + Bank Account,\n- `02`: IBAN,\n- `03`: Card Account,\n- `04`: Email,\n- `05`: Phone Number,\n- `06`: Bank account number (BAN) + Bank Identification \u0421ode (BIC),\n- `07`: Wallet ID,\n- `08`: Social Network ID. Numeric, 2 characters.\n\nThis field is supported in Mastercard Send.\n" }, "number": { "type": "string", "maxLength": 19, "description": "The customer's payment card number, also known as the Primary Account Number (PAN).\n\nThis field is supported in Mastercard Send.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: MM.\n\nValid values: 01 through 12. Leading 0 is required.\n\nThis field is supported for Mastercard Send.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the payment card expires.\n\nThis field is supported for Mastercard Send.\n" } } } } }, "referenceNumber": { "type": "string", "maxLength": 19, "x-nullable": true, "description": "Reference number generated by you that uniquely identifies the sender.\n" }, "account": { "type": "object", "x-nullable": true, "properties": { "fundsSource": { "type": "string", "maxLength": 2, "description": "Source of funds. Possible values:\n\nChase Paymentech, FDC Compass, Visa Platform Connect:\n\n- `01`: Credit card\n- `02`: Debit card\n- `03`: Prepaid card\n\nChase Paymentech, Visa Platform Connect:\n\n- `04`: Cash\n- `05`: Debit or deposit account that is not linked to a Visa card. Includes checking accounts, savings accounts, and proprietary debit or ATM cards.\n- `06`: Credit account that is not linked to a Visa card. Includes credit cards and proprietary lines of credit.\n\nFDC Compass:\n- `04`: Deposit Account\n\nFunds Disbursement\nThis value is most likely 05 to identify that the originator used a deposit account to fund the disbursement.\n\nCredit Card Bill Payment\nThis value must be 02, 03, 04, or 05.\n" }, "number": { "type": "string", "maxLength": 34, "description": "The account number of the entity funding the transaction. It is the sender's account number. It can be a debit/credit card account number or bank account number.\n\nFunds disbursements\n\nThis field is optional.\n\nAll other transactions\n\nThis field is required when the sender funds the transaction with a financial instrument, for example debit card. Length:\n\nFDC Compass (<= 19)\nChase Paymentech (<= 16)\n" } } }, "personalIdentification": { "type": "object", "x-nullable": true, "properties": { "id": { "type": "string", "maxLength": 80, "description": "Visa Platform Connect(35)\nThis tag will contain an acquirer-populated value associated with the API : senderInformation.personalIdType which will identify the personal ID type of the sender.\n\nMastercard Send(80)\n" }, "personalIdType": { "type": "string", "maxLength": 1, "description": "Visa Platform Connect\nThis tag will denote whether the tax ID is a business or individual tax ID when personal ID Type contains the value of TXIN (Tax identification).\n\nThe valid values are: \u2022 B (Business) \u2022 I (Individual)\n" }, "type": { "type": "string", "maxLength": 4, "description": "This tag will contain the type of sender identification. The valid values are:\n\nVisa Platform Connect:\n- `BTHD`: (Date of birth)\n- `CUID`: (Customer identification (unspecified))\n- `NTID`: (National identification)\n- `PASN`: (Passport number)\n- `DRLN`: (Driver license)\n- `TXIN`: (Tax identification)\n- `CPNY`: (Company registration number)\n- `PRXY`: (Proxy identification)\n- `SSNB`: (Social security number)\n- `ARNB`: (Alien registration number)\n- `LAWE`: (Law enforcement identification)\n- `MILI`: (Military identification)\n- `TRVL`: (Travel identification (non-passport))\n- `EMAL`: (Email)\n- `PHON`: (Phone number)\n\nMastercard Send:\n- `CUID`: (Customer identification (unspecified))\n- `NTID`: (National identification)\n- `PASN`: (Passport number)\n- `DRLN`: (Driver license)\n- `TXIN`: (Tax identification)\n- `SSNB`: (Social security number)\n- `ARNB`: (Alien registration number)\n- `EIDN`: (Employer Identification Number)\n- `IDNB`: (Identity Card Number)\n" } } } } }, "aggregatorInformation": { "type": "object", "properties": { "aggregatorId": { "type": "string", "maxLength": 20, "description": "Value that identifies you as a payment aggregator.\nGet this value from the processor.\n\nFDC Compass\nThis value must consist of uppercase letters.\n\nVisa Platform Connect\nThe value for this field corresponds to the following data in the TC 33 capture file:\n- `Record`: CP01 TCR6\n- `Position`: 95-105\n- `Field`: Market Identifier / Payment Facilitator ID\n" }, "name": { "type": "string", "maxLength": 37, "description": "Your payment aggregator business name.\n\nVisa Platform COnnect\nWith American Express, the maximum length of the aggregator name depends on the length of the sub-merchant name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\nFDC Compass\nThis value must consist of uppercase characters.\n\nFor processor-specific information, see the aggregator_name field in Credit Card Services Using the SCMP API.\n" }, "subMerchant": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 20, "description": "The ID you assigned to your sub-merchant.\n\nFDC Compass: This value must consist of uppercase characters.\n\nVisa Platform Connect with Mastercard: String (15)\nFDC Compass: String (20)\n" }, "name": { "type": "string", "maxLength": 37, "description": "Sub-merchant's business name.\n\nVisa Platform Connect\nWith American Express, the maximum length of the sub-merchant name depends on the length of the aggregator name. The combined length for both values must not exceed 36 characters. The value for this field does not map to the TC 33 capture file5.\n\nFDC Compass\nThis value must consist of uppercase characters.\n" }, "address1": { "type": "string", "maxLength": 38, "description": "First line of the sub-merchant's street address.\n\nVisa Platform Connect\nThe value for this field does not map to the TC 33 capture file5.\n\nFDC Compass\nThis value must consist of uppercase characters.\n" }, "locality": { "type": "string", "maxLength": 21, "description": "Sub-merchant's city.\n\nFor processor-specific details, see submerchant_city request field description in Credit Card Services Using the SCMP API.\n\nVisa Platform Connect\nThe value for this field does not map to the TC 33 capture file5.\n\nFDC Compass\nThis value must consist of uppercase characters.\n" }, "administrativeArea": { "type": "string", "maxLength": 3, "description": "Sub-merchant's state or province.\nSee https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf\n\nVisa Platform Connect\nThe value for this field does not map to the TC 33 capture file.\n\nFDC Compass\nThis value must consist of uppercase characters.\n" }, "postalCode": { "type": "string", "maxLength": 15, "description": "Partial postal code for the sub-merchant's address.\n\nFor processor-specific details, see submerchant_postal_code request field description in Credit Card Services Using the SCMP API.\n\nVisa Platform Connect\nThe value for this field does not map to the TC 33 capture file5.\n\nFDC Compass\nThis value must consist of uppercase characters.\n" }, "country": { "type": "string", "maxLength": 2, "description": "Sub-merchant's country. Use the ISO Standard numeric Country Codes.\n\nSee https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf\n\nVisa Platform Connect\nThe value for this field does not map to the TC 33 capture file.\n\nFDC Compass\nThis value must consist of uppercase characters.\n" }, "email": { "type": "string", "maxLength": 40, "description": "Sub-merchant's email address.\n\nCyberSource through VisaNet |\nWith American Express, the value for this field corresponds to the following data in the TC 33 capture file:\n\n- Record: CP01 TCRB\n- Position: 25-64\n- Field: American Express Seller E-mail Address\n- Note The TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource. CyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer, who uses this information to facilitate end-of-day clearing processing with payment card companies.\n" }, "phoneNumber": { "type": "string", "maxLength": 20, "description": "Sub-merchant's telephone number.\n\nMaximum length for procesors\n\nVisa Platform Connect: 20\nFDC Compass: 13\n\nFDC Compass\nThis value must consist of uppercase characters. Use one of these recommended formats:\nNNN-NNN-NNNN\nNNN-AAAAAAA\n" } } } } }, "merchantDefinedInformation": { "type": "object", "properties": { "key": { "type": "string", "maxLength": 50, "description": "The number you assign for as the key for your merchant-defined data field. Valid values are 0 to 100.\n\nFor example, to set or access the key for the 2nd merchant-defined data field in the array, you would reference merchantDefinedInformation[1].key.\n\nFor Mastercard Send:\nName to be displayed in the reconciliation report for this disbursement. This value will appear as a header in the column name of the report.\n" }, "value": { "type": "string", "maxLength": 255, "description": "The value you assign for your merchant-defined data field.\n\nFor details, see merchant_defined_data1 field description in the Credit Card Services Using the SCMP API Guide.\n\nWarning 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.\n\nFor Mastercard Send:\nValue to be displayed in the reconciliation report for this disbursement.\n" } } }, "merchantInformation": { "type": "object", "properties": { "categoryCode": { "type": "integer", "maxLength": 4, "description": "The value for this field is a four-digit number that the payment card industry uses to classify merchants into market segments. A payment card company assigned one or more of these values to your business when you started accepting the payment card company's cards. When you do not include this field in your request, CyberSource uses the value in your CyberSource account.\n\nFor processor-specific information, see the merchant_category_code field description in Credit Card Services Using the SCMP API.\n\nVisa Platform Connect\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n\nRecord: CP01 TCR4\nPosition: 150-153\nField: Merchant Category Code\n" }, "submitLocalDateTime": { "type": "string", "maxLength": 6, "description": "Time that the transaction was submitted in local time. The time is in hhmmss format.\n" }, "vatRegistrationNumber": { "type": "string", "maxLength": 21, "description": "Your government-assigned tax identification number.\n\nVisa Platform Connect: max length is 20\n" }, "merchantDescriptor": { "type": "object", "properties": { "administrativeArea": { "type": "string", "maxLength": 3, "description": "The state where the merchant is located.\n\nSee https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf\n\nNote This field is supported only for businesses located in the U.S. or Canada.\n" }, "contact": { "type": "string", "maxLength": 14, "description": "For the descriptions, used-by information, data types, and lengths for these fields, see merchant_descriptor_contact field description in Credit Card Services Using the SCMP API.--> Contact information for the merchant.\n\nNote These are the maximum data lengths for the following payment processors:\n\nFDC Compass (13)\nChase Paymentech (13).\n" }, "country": { "type": "string", "maxLength": 2, "description": "Merchant's country.\n\nCountry code for your business location. Use the ISO Standard Alpha Country Codes This value might be displayed on the cardholder's statement.\n\nSee https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf\n\nNote If your business is located in the U.S. or Canada and you include this field in a request, you must also include merchantInformation.merchantDescriptor.administrativeArea.\n" }, "locality": { "type": "string", "maxLength": 13, "description": "Merchant's City.\n\nCity for your business location. This value might be displayed on the cardholder's statement.\n" }, "name": { "type": "string", "maxLength": 23, "description": "Merchant's business name. This name is displayed on the cardholder's statement.\n\nChase Paymentech, Visa Platform Connect: length 22\n" }, "storeId": { "type": "string", "maxLength": 32, "description": "The unique id of the merchant's shop which assigned by the merchant.\n" }, "postalCode": { "type": "string", "maxLength": 14, "description": "Merchant's postal code. This value might be displayed on the cardholder's statement.\n\nIf your business is domiciled in the U.S., you can use a 5-digit or 9-digit postal code. A 9-digit postal code must follow this format: [5 digits][dash][4 digits] Example: 12345-6789\n\nIf your business is domiciled in Canada, you can use a 6-digit or 9-digit postal code. A 6-digit postal code must follow this format: [alpha][numeric][alpha][space] [numeric][alpha][numeric] Example: A1B 2C3\n" } } } } }, "pointOfServiceInformation": { "type": "object", "properties": { "terminalId": { "type": "string", "maxLength": 8, "description": "Identifier for the terminal at your retail location. You can define this value yourself, but consult the processor for requirements.\n\nVisa Platform Connect\nA list of all possible values is stored in your CyberSource account. If terminal ID validation is enabled for your CyberSource account, the value you send for this field is validated against the list each time you include the field in a request. To enable or disable terminal ID validation, contact CyberSource Customer Support.\n\n\nUsed by\nAuthorization Optional for the following processors. When you do not include this field in a request, the default value that is defined in your account is used.\n\nChase Paymentech Solutions: Optional field. If you include this field in your request, you must also include pointOfSaleInformation.catLevel.\n" }, "catLevel": { "type": "integer", "maxLength": 1, "description": "Type of cardholder-activated terminal. Possible values:\n\n- `1`: Automated dispensing machine\n- `2`: Self-service terminal\n- `3`: Limited amount terminal\n- `4`: In-flight commerce (IFC) terminal\n- `5`: Radio frequency device\n- `6`: Mobile acceptance terminal\n- `7`: Electronic cash register\n- `8`: E-commerce device at your location\n- `9`: Terminal or cash register that uses a dialup connection to connect to the transaction processing network\n\nChase Paymentech Solutions\nOnly values 1, 2, and 3 are supported.\nRequired if pointOfSaleInformation.terminalID is included in the request; otherwise, optional.\n\nVisa Platform COnnect\nValues 1 through 6 are supported on CyberSource through VisaNet, but some acquirers do not support all six values.\nOptional field.\n\nNonnegative integer.\n" }, "entryMode": { "type": "string", "maxLength": 11, "description": "Method of entering payment card information into the POS terminal. Possible values:\n\n- `contact`: Read from direct contact with chip card.\n- `contactless`: Read from a contactless interface using chip data.\n- `keyed`: Manually keyed into POS terminal. This value is not supported on OmniPay Direct.\n- `msd`: Read from a contactless interface using magnetic stripe data (MSD). This value is not supported on OmniPay Direct.\n- `swiped`: Read from credit card magnetic stripe.\nThe contact, contactless, and msd values are supported only for EMV transactions.\n" }, "pinEntryCapability": { "type": "integer", "maxLength": 1, "description": "PIN Entry Capability\n- 0 Unknown.\n- 1 Indicates terminal can accept and forward online PINs.\n- 2 Indicates terminal cannot accept and forward online PINs.\n- 8 Terminal PIN pad down.\n- 9 Reserved for future use.\n" }, "terminalCapability": { "type": "integer", "maxLength": 1, "description": "integer [ 1 .. 5 ]\nPOS terminal's capability. Possible values:\n\n- `1`: Terminal has a magnetic stripe reader only.\n- `2`: Terminal has a magnetic stripe reader and manual entry capability.\n- `3`: Terminal has manual entry capability only.\n- `4`: Terminal can read chip cards.\n- `5`: Terminal can read contactless chip cards; cannot use contact to read chip cards.\nFor an EMV transaction, the value of this field must be 4 or 5.\n\nUsed by\nAuthorization Required for the following processors:\nChase Paymentech Solutions\n\nOptional for the following processors:\nVisa Platform Connect\n" } } } }, "example": { "clientReferenceInformation": { "code": "33557799", "applicationName": "EXAMPLE API", "applicationVersion": "V1", "applicationUser": "example_user" }, "orderInformation": { "isCryptocurrencyPurchase": "true", "amountDetails": { "totalAmount": "53.00", "currency": "AED" }, "surcharge": { "amount": "54.00" } }, "processingInformation": { "commerceIndicator": "INTERNET", "businessApplicationId": "WT", "networkRoutingOrder": "test", "purposeOfPayment": "test", "reconciliationId": "1234", "transactionReason": "test", "payoutsOptions": { "accountFundingReferenceId": "1234", "retrievalReferenceNumber": "1234" }, "recurringOptions": { "loanPayment": true } }, "processingOptions": { "fundingOptions": { "initiator": { "type": "S" } } }, "pointOfServiceInformation": { "entryMode": "contact", "pinEntryCapability": "1", "terminalCapability": "1", "catLevel": "1", "terminalId": "123" }, "recipientInformation": { "paymentInformation": { "card": { "type": "001", "securityCode": "123", "number": "4111111111111111", "expirationMonth": "12", "expirationYear": "2025", "customer": { "id": "40195947" }, "paymentInstrument": { "id": "1234567783" }, "instrumentIdentifier": { "id": "38792480110" } } }, "address1": "8310 Capital of Texas Highwas North", "address2": "Bluffstone Drive", "locality": "Austin", "postalCode": "78731", "administrativeArea": "CA", "country": "USA", "firstName": "Jennifer", "lastName": "Doe", "middleName": "A", "middleInitial": "M", "phoneNumber": "123 123-1234", "dateOfBirth": "2000-12-12", "personalIdentification": { "id": "!23132456", "type": "CUID" } }, "senderInformation": { "name": "Tom", "firstName": "John", "lastName": "Doe", "middleName": "A", "postalCode": "94440", "address1": "Paseo Padre Boulevard", "address2": "Bluffstone Drive", "locality": "Foster City", "administrativeArea": "CA", "vatRegistrationNumber": "PQRS123423456", "phoneNumber": "123 123-1234", "dateOfBirth": "20001212", "country": "US", "referenceNumber": "1234567890", "paymentInformation": { "card": { "sourceAccountType": "SA", "type": "001", "securityCode": "932", "number": "4111111111111111", "expirationMonth": "12", "expirationYear": "2025" } }, "personalIdentification": { "id": "123132456", "personalIdType": "A", "type": "BTHD" }, "account": { "fundsSource": "01", "number": "1234567890" } }, "aggregatorInformation": { "aggregatorId": "123456", "name": "abc", "subMerchant": { "address1": "Paseo Padre Boulevard", "administrativeArea": "840", "country": "US", "email": "abc@abc", "id": "1234", "locality": "Foster City", "name": "John", "phoneNumber": "123 123-1234", "postalCode": "94440" } }, "merchantDefinedInformation": { "key": "123", "value": "abc" }, "merchantInformation": { "categoryCode": "1234", "submitLocalDateTime": "2021-08-19T10:07:57Z", "vatRegistrationNumber": "PQRS123423456", "merchantDescriptor": { "administrativeArea": "840", "contact": "Example", "country": "US", "locality": "Foster City", "name": "John", "postalCode": "94440" } } } } }, { "name": "Content-Type", "in": "header", "type": "string", "required": true }, { "name": "x-requestid", "in": "header", "type": "string", "required": true }, { "name": "v-c-merchant-id", "in": "header", "type": "string", "required": true }, { "name": "v-c-permissions", "in": "header", "type": "string", "required": true }, { "name": "v-c-correlation-id", "in": "header", "type": "string", "required": true }, { "name": "v-c-organization-id", "in": "header", "type": "string", "required": true } ], "responses": { "201": { "description": "Successful response.", "schema": { "title": "pushFunds201Response", "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "A unique identification number to identify the submitted request. It is also appended to the endpoint of the resource.\n" }, "submitTimeUtc": { "type": "string", "maxLength": 20, "minLength": 20, "description": "Time of request in UTC.\nFormat: `YYYY-MM-DDThh:mm:ssZ`\n\n**Example**\n`2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time.\nThe `Z` indicates UTC.\n" }, "status": { "type": "string", "maxLength": 18, "description": "The status of the submitted transaction.\n\nPossible values:\n- AUTHORIZED\n- DECLINED\n- SERVER_ERROR\n- INVALID_REQUEST\n- PARTIAL_AUTHORIZED\n" }, "reconciliationId": { "type": "string", "maxLength": 25, "description": "Cybersource or merchant generated transaction reference number. This is sent to the processor and is echoed back in the response to the merchant. This is This value is used for reconciliation purposes.\n" }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each transaction so that you can perform meaningful searches for the transaction.\n" }, "submitLocalDateTime": { "type": "string", "maxLength": 14, "description": "Date and time at your physical location.\n\nFormat: YYYYMMDDhhmmss, where YYYY = year, MM = month, DD = day, hh = hour, mm = minutes ss = seconds\n" } } }, "recipientInformation": { "type": "object", "properties": { "card": { "type": "object", "properties": { "balance": { "type": "string", "maxLength": 12, "description": "This field shows the available balance in the prepaid account. Acquirers always receive the available balance in the transaction currency.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "This is a multicurrency-only field. It contains a 3-digit numeric code that identifies the currency used by the issuer.\n" } } } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 23, "description": "Your merchant name.\n\nNote For Chase Paymentech, the maximum data length is 22.\n" }, "locality": { "type": "string", "maxLength": 13, "description": "Merchant's City.\n" }, "country": { "type": "string", "maxLength": 2, "description": "Merchant's country.\nCountry code for your business location.\n\nISO Standard Alpha Country Code.\n\nhttps://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf\n" } } } } }, "errorInformation": { "type": "object", "properties": { "reason": { "type": "string", "maxLength": 31, "description": "The reason of the status.\n\nPossible values:\n\n- CONTACT_PROCESSOR\n- INVALID_MERCHANT_CONFIGURATION\n- STOLEN_LOST_CARD\n- PROCESSOR_DECLINED\n- PARTIAL_APPROVAL\n- PAYMENT_REFUSED\n- INVALID_ACCOUNT\n- ISSUER_UNAVAILABLE\n- INSUFFICIENT_FUND\n- EXPIRED_CARD\n- INVALID_PIN\n- UNAUTHORIZED_CARD\n- EXCEEDS_CREDIT_LIMIT\n- DEBIT_CARD_USAGE_LIMIT_EXCEEDED\n- CVN_NOT_MATCH\n- DUPLICATE_REQUEST\n- GENERAL_DECLINE\n- BLACKLISTED_CUSTOMER\n- GATEWAY_TIMEOUT\n- INVALID_DATA\n- SYSTEM_ERROR\n- SERVICE_UNAVAILABLE\n- GATEWAY_TIMEOUT\n" }, "message": { "type": "string", "maxLength": 256, "description": "The detail message related to the status and reason listed above.\n" }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string", "maxLength": 256, "description": "This is the flattened JSON object field name/path that is either missing or invalid.\n" }, "reason": { "type": "string", "maxLength": 31, "description": "Possible reasons for the status\n\nPossible values:\n\n- MISSING_FIELD\n- INVALID_DATA\n" } } } } } }, "processorInformation": { "type": "object", "properties": { "transactionId": { "type": "integer", "maxLength": 32, "description": "Network transaction identifier (TID). This value can be used to identify a specific transaction when you are discussing the transaction with your processor.\n" }, "responseCode": { "type": "string", "maxLength": 15, "description": "Transaction status from the processor.\n" }, "approvalCode": { "type": "string", "maxLength": 6, "description": "Issuer-generated approval code for the transaction.\n" }, "systemTraceAuditNumber": { "type": "string", "maxLength": 6, "description": "System audit number. Returned by authorization and incremental authorization services.\n\nVisa Platform Connect\n\nSystem trace number that must be printed on the customer's receipt.\n" }, "responseCodeSource": { "type": "string", "maxLength": 1, "description": "Used by Visa only and contains the response source/reason code that identifies the source of the response decision.\n" }, "retrievalReferenceNumber": { "type": "string", "maxLength": 24, "description": "Unique reference number returned by the processor that identifies the transaction at the network.\n\nSupported by Mastercard Send\n" } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "required": [ "currency" ], "properties": { "totalAmount": { "type": "string", "minLength": 1, "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters. CyberSource truncates the amount to the correct number of decimal places.\n\nNote For Visa Platform Conenct, FDC Compass, and Chase Paymentech processors, the maximum length for this field is 12 numbers.\n\nProcessor Amount Ranges:\nVisa Platform Connect: .01-9999999999.99\n\nMastercard Send: 1-9999999999.99\n\nFDC Compass: .01- 9999999999.994\n\nChase Paymentech: .01-9999999999.99\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character ISO Standard Currency Codes\n" }, "settlementAmount": { "type": "string", "maxLength": 12, "description": "This is a multicurrency field. It contains the transaction amount (field 4), converted to the Currency used to bill the cardholder's account. This field is returned for OCT transactions.\n" }, "settlementCurrency": { "type": "string", "maxLength": 3, "description": "This is a multicurrency-only field. It contains a 3-digit numeric code that identifies the currency used by the issuer to bill the cardholder's account. This field is returned for OCT transactions.\n" } } } } }, "_links": { "type": "object", "properties": { "self": { "description": "A GET link to the OCT", "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." } } }, "customer": { "description": "A GET link to the customer supplied in the OCT", "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." } } }, "paymentInstrument": { "description": "A GET link to the payment instrument supplied in the OCT", "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." } } }, "instrumentIdentifier": { "description": "A GET link to the instrument identifier used in the OCT", "type": "object", "properties": { "href": { "type": "string", "description": "This is the endpoint of the resource that was created by the successful request." }, "method": { "type": "string", "description": "`method` refers to the HTTP method that you can send to the `self` endpoint to retrieve details of the resource." } } } } } }, "example": { "id": "4963015122056179201545", "submitTimeUtc": "2021-08-19T10:07:57Z", "status": "AUTHORIZED", "errorInformation": { "reason": "string", "message": "string", "details": [ { "field": "string", "reason": "string" } ] }, "_links": { "self": { "href": "https://A GET link to the OCT", "method": "GET" } }, "processorInformation": { "transactionId": "1234567890", "responseCode": "1234567890", "approvalCode": "123456", "systemTraceAuditNumber": "123456", "responseCodeSource": "A", "retrievalReferenceNumber": "1234567890" }, "orderInformation": { "amountDetails": { "totalAmount": "53.00", "currency": "AED", "settlementAmount": "123", "settlementCurrency": "USD" } }, "reconciliationId": "1234567890", "clientReferenceInformation": { "code": "33557799", "submitLocalDateTime": "2021-08-19T10:07:57Z" }, "recipientInformation": { "card": { "balance": "123", "currency": "USD" } }, "merchantInformation": { "merchantDescriptor": { "name": "John", "locality": "Austin", "country": "US" } } } } }, "400": { "description": "Invalid request.", "schema": { "title": "pushFunds400Response", "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "A unique identification number to identify the submitted request. It is also appended to the endpoint of the resource.\n" }, "submitTimeUtc": { "type": "string", "maxLength": 20, "minLength": 20, "description": "Time of request in UTC.\nFormat: `YYYY-MM-DDThh:mm:ssZ`\n\n**Example**\n`2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time.\nThe `Z` indicates UTC.\n" }, "status": { "type": "string", "description": "Possible values:\n- INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n- INVALID_DATA\n- MISSING_FIELD\n- INVALID_MERCHANT_CONFIGURATION\n- INVALID_REQUEST\n- INVALID_PAYMENT_ID\n" }, "message": { "type": "string", "description": "The detail message related to the status and reason listed above.\n\nPossible values:\n- Declined - One or more fields in the request contains invalid data\n- Declined - The request is missing one or more fields\n- Declined - There is a problem with your CyberSource merchant configuration.\n" }, "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.\n" }, "reason": { "type": "string", "description": "Possible reasons for the error.\n\nPossible values:\n- MISSING_FIELD\n- INVALID_DATA\n" } } } } } } }, "401": { "description": "Unauthorized.", "schema": { "title": "pushFunds401Response", "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "A unique identification number to identify the submitted request. It is also appended to the endpoint of the resource.\n" }, "submitTimeUtc": { "type": "string", "maxLength": 20, "minLength": 20, "description": "Time of request in UTC.\nFormat: `YYYY-MM-DDThh:mm:ssZ`\n\n**Example**\n`2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time.\nThe `Z` indicates UTC.\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n- UNAUTHORIZED\n" }, "message": { "type": "string", "description": "The detail message related to the status and reason listed above.\n\nPossible values:\n- Authentication Failed\n" } } } }, "404": { "description": "Not Found.", "schema": { "title": "pushFunds404Response", "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "A unique identification number to identify the submitted request. It is also appended to the endpoint of the resource.\n" }, "submitTimeUtc": { "type": "string", "maxLength": 20, "minLength": 20, "description": "Time of request in UTC.\nFormat: `YYYY-MM-DDThh:mm:ssZ`\n\n**Example**\n`2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time.\nThe `Z` indicates UTC.\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n- NOT_FOUND\n" }, "message": { "type": "string", "description": "The detail message related to the status and reason listed above.\n\nPossible values:\n- The requested resource does not exist\n" } } } }, "502": { "description": "Unexpected system error or system timeout.", "schema": { "title": "pushFunds502Response", "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "A unique identification number to identify the submitted request. It is also appended to the endpoint of the resource.\n" }, "submitTimeUtc": { "type": "string", "maxLength": 20, "minLength": 20, "description": "Time of request in UTC.\nFormat: `YYYY-MM-DDThh:mm:ssZ`\n\n**Example**\n`2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time.\nThe `Z` indicates UTC.\n" }, "status": { "type": "string", "description": "Possible values:\n- SERVER_ERROR\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n- SYSTEM_ERROR\n" }, "message": { "type": "string", "description": "The detail message related to the status and reason listed above.\n\nPossible values:\n- Error - General system failure.\n" } } } } }, "x-example": { "example0": { "summary": "Payout (Card not Token)", "sample-name": "Process Payout Card", "value": { "clientReferenceInformation": { "code": "33557799", "applicationName": "EXAMPLE API", "applicationVersion": "V1", "applicationUser": "example_user" }, "orderInformation": { "isCryptocurrencyPurchase": "true", "amountDetails": { "totalAmount": "53.00", "currency": "AED" }, "surcharge": { "amount": "54.00" } }, "processingInformation": { "commerceIndicator": "INTERNET", "businessApplicationId": "WT", "networkRoutingOrder": "test", "purposeOfPayment": "test", "reconciliationId": "1234", "transactionReason": "test", "payoutsOptions": { "accountFundingReferenceId": "1234", "retrievalReferenceNumber": "1234" }, "recurringOptions": { "loanPayment": true } }, "processingOptions": { "fundingOptions": { "initiator": { "type": "S" } } }, "pointOfServiceInformation": { "entryMode": "contact", "pinEntryCapability": "1", "terminalCapability": "1", "catLevel": "1", "terminalId": "123" }, "recipientInformation": { "paymentInformation": { "card": { "type": "001", "securityCode": "123", "number": "4111111111111111", "expirationMonth": "12", "expirationYear": "2025", "customer": { "id": "40195947" }, "paymentInstrument": { "id": "1234567783" }, "instrumentIdentifier": { "id": "38792480110" } } }, "address1": "8310 Capital of Texas Highwas North", "address2": "Bluffstone Drive", "locality": "Austin", "postalCode": "78731", "administrativeArea": "CA", "country": "USA", "firstName": "Jennifer", "lastName": "Doe", "middleName": "A", "middleInitial": "M", "phoneNumber": "123 123-1234", "dateOfBirth": "2000-12-12", "personalIdentification": { "id": "!23132456", "type": "CUID" } }, "senderInformation": { "name": "Tom", "firstName": "John", "lastName": "Doe", "middleName": "A", "postalCode": "94440", "address1": "Paseo Padre Boulevard", "address2": "Bluffstone Drive", "locality": "Foster City", "administrativeArea": "CA", "vatRegistrationNumber": "PQRS123423456", "phoneNumber": "123 123-1234", "dateOfBirth": "20001212", "country": "US", "referenceNumber": "1234567890", "paymentInformation": { "card": { "sourceAccountType": "SA", "type": "001", "securityCode": "932", "number": "4111111111111111", "expirationMonth": "12", "expirationYear": "2025" } }, "personalIdentification": { "id": "123132456", "personalIdType": "A", "type": "BTHD" }, "account": { "fundsSource": "01", "number": "1234567890" } }, "aggregatorInformation": { "aggregatorId": "123456", "name": "abc", "subMerchant": { "address1": "Paseo Padre Boulevard", "administrativeArea": "840", "country": "US", "email": "abc@abc", "id": "1234", "locality": "Foster City", "name": "John", "phoneNumber": "123 123-1234", "postalCode": "94440" } }, "merchantDefinedInformation": { "key": "123", "value": "abc" }, "merchantInformation": { "categoryCode": "1234", "submitLocalDateTime": "2021-08-19T10:07:57Z", "vatRegistrationNumber": "PQRS123423456", "merchantDescriptor": { "administrativeArea": "840", "contact": "Example", "country": "US", "locality": "Foster City", "name": "John", "postalCode": "94440" } } } } } } }, "/rbs/v1/plans": { "post": { "summary": "Create a Plan", "description": "The recurring billing service enables you to manage payment plans and subscriptions for recurring payment schedules. It securely stores your customer's payment information and personal data within secure Visa data centers, reducing storage risks and PCI DSS scope through the use of\u00a0*Token Management*\u00a0(*TMS*).\n\nThe three key elements of\u00a0*Cybersource*\u00a0Recurring Billing are:\n\n-\u00a0\u00a0**Token**: stores customer billing, shipping, and payment details.\n\n-\u00a0\u00a0**Plan**: stores the billing schedule.\n\n-\u00a0\u00a0**Subscription**: combines the token and plan, and defines the subscription start date, name, and description.\n\nThe APIs in this section demonstrate the management of the Plans and Subscriptions. For Tokens please refer to [Token Management](#token-management)\n", "tags": [ "Plans" ], "operationId": "createPlan", "x-devcenter-metaData": { "categoryTag": "Recurring_Billing_Subscriptions", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/recurring-billing/developer/all/rest/recurring-billing/recur-bill-dev-intro.html", "disableProcessorDropDown": true }, "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/json", "application/hal+json", "application/json;charset=utf-8", "application/hal+json;charset=utf-8" ], "parameters": [ { "name": "createPlanRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "comments": { "type": "string", "maxLength": 255, "description": "Brief description of the order or any comment you wish to add to the order.\n" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } }, "applicationName": { "type": "string", "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" }, "applicationVersion": { "type": "string", "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "applicationUser": { "type": "string", "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" } } }, "planInformation": { "type": "object", "required": [ "name", "billingPeriod" ], "properties": { "code": { "type": "string", "maxLength": 10, "description": "Plan code is an optional field, If not provided system generates and assign one\n" }, "name": { "type": "string", "maxLength": 100, "description": "Plan name\n" }, "description": { "type": "string", "maxLength": 255, "description": "Plan description\n" }, "status": { "type": "string", "description": "Plan Status:\n - `DRAFT`\n - `ACTIVE` (default)\n" }, "billingPeriod": { "type": "object", "description": "Billing Frequency\n", "properties": { "length": { "type": "string", "description": "Example:\n- If length=1 & unit=month then charge every month\n- If length=7 & unit=day then charge every 7th day\n" }, "unit": { "type": "string", "description": "Calendar unit values.\n possible values:\n - `D` - day\n - `M` - month\n - `W` - week\n - `Y` - year\n" } } }, "billingCycles": { "type": "object", "description": "Number of times customer is going to be billed\n", "properties": { "total": { "type": "string", "description": "Describe total number of billing cycles\n" } } } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "required": [ "currency", "billingAmount" ], "properties": { "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "billingAmount": { "type": "string", "maxLength": 19, "description": "Billing amount for the billing period.\n" }, "setupFee": { "type": "string", "maxLength": 19, "description": "Subscription setup fee\n" } } } } } }, "example": { "planInformation": { "name": "Gold Plan", "description": "New Gold Plan", "billingPeriod": { "length": "1", "unit": "M" }, "billingCycles": { "total": "12" } }, "orderInformation": { "amountDetails": { "currency": "USD", "billingAmount": "10", "setupFee": "2" } } } } } ], "responses": { "201": { "description": "Successful response.", "schema": { "title": "createPlanResponse", "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.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - COMPLETED\n" }, "planInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 10, "description": "Plan code\n" }, "status": { "type": "string", "description": "Plan Status:\n - `DRAFT`\n - `ACTIVE`\n" } } } }, "example": { "_links": { "self": { "href": "rbs/v1/plans/4963015972176007901546", "method": "GET" } }, "id": "4963015972176007901546", "submitTimeUtc": "2020-06-28T19:48:06Z", "status": "COMPLETED", "planInformation": { "code": "PLN1", "status": "DRAFT" } } } }, "400": { "description": "Invalid request.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_MERCHANT_CONFIGURATION\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" } } } } } } }, "502": { "description": "Unexpected system error or system timeout.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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": "Create Plan", "sample-name": "Create Plan", "value": { "planInformation": { "name": "Gold Plan", "description": "New Gold Plan", "billingPeriod": { "length": "1", "unit": "M" }, "billingCycles": { "total": "12" } }, "orderInformation": { "amountDetails": { "currency": "USD", "billingAmount": "10", "setupFee": "2" } } } } } }, "get": { "summary": "Get a List of Plans", "description": "Retrieve Plans by Plan Code & Plan Status.\n", "tags": [ "Plans" ], "operationId": "getPlans", "x-devcenter-metaData": { "categoryTag": "Recurring_Billing_Subscriptions", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/recurring-billing/developer/all/rest/recurring-billing/recur-bill-dev-intro.html", "disableProcessorDropDown": true }, "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/json", "application/hal+json", "application/json;charset=utf-8", "application/hal+json;charset=utf-8" ], "parameters": [ { "name": "offset", "in": "query", "type": "integer", "required": false, "description": "Page offset number." }, { "name": "limit", "in": "query", "type": "integer", "required": false, "description": "Number of items to be returned. Default - `20`, Max - `100`\n" }, { "name": "code", "in": "query", "type": "string", "required": false, "description": "Filter by Plan Code" }, { "name": "status", "in": "query", "type": "string", "required": false, "description": "Filter by Plan Status" }, { "name": "name", "in": "query", "type": "string", "required": false, "description": "Filter by Plan Name. (First sub string or full string) **[Not Recommended]**\n" } ], "responses": { "200": { "description": "Successful response.", "schema": { "title": "getAllPlansResponse", "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." } } }, "next": { "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." } } }, "previous": { "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." } } } } }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "totalCount": { "type": "integer", "description": "total number of plans created" }, "plans": { "type": "array", "items": { "type": "object", "description": "Plan list.", "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.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "planInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 10, "description": "Plan code\n" }, "status": { "type": "string", "description": "Plan Status:\n - `DRAFT`\n - `ACTIVE`\n - `INACTIVE`\n" }, "name": { "type": "string", "maxLength": 100, "description": "Plan name\n" }, "description": { "type": "string", "maxLength": 255, "description": "Plan description\n" }, "billingPeriod": { "type": "object", "description": "Billing Frequency\n", "properties": { "length": { "type": "string", "description": "Example:\n- If length=1 & unit=month then charge every month\n- If length=7 & unit=day then charge every 7th day\n" }, "unit": { "type": "string", "description": "Calendar unit values.\n possible values:\n - `D` - day\n - `M` - month\n - `W` - week\n - `Y` - year\n" } } }, "billingCycles": { "type": "object", "properties": { "total": { "type": "string", "description": "Describe total number of billing cycles\n" } } } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "billingAmount": { "type": "string", "maxLength": 19, "description": "Billing amount for the billing period.\n" }, "setupFee": { "type": "string", "maxLength": 19, "description": "Subscription setup fee\n" } } } } } } } } } } }, "400": { "description": "Invalid request.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_MERCHANT_CONFIGURATION\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" } } } } } } }, "502": { "description": "Unexpected system error or system timeout.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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." } } } } } } }, "/rbs/v1/plans/{id}": { "get": { "summary": "Get a Plan", "description": "Retrieve a Plan details by Plan Id.", "tags": [ "Plans" ], "operationId": "getPlan", "x-devcenter-metaData": { "categoryTag": "Recurring_Billing_Subscriptions", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/recurring-billing/developer/all/rest/recurring-billing/recur-bill-dev-intro.html", "disableProcessorDropDown": true }, "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/json", "application/hal+json", "application/json;charset=utf-8", "application/hal+json;charset=utf-8" ], "parameters": [ { "name": "id", "in": "path", "required": true, "type": "string", "description": "Plan Id" } ], "responses": { "200": { "description": "Successful response.", "schema": { "title": "getPlanResponse", "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.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "planInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 10, "description": "Plan code\n" }, "status": { "type": "string", "description": "Plan Status:\n - `DRAFT`\n - `ACTIVE`\n - `INACTIVE`\n" }, "name": { "type": "string", "maxLength": 100, "description": "Plan name\n" }, "description": { "type": "string", "maxLength": 255, "description": "Plan description\n" }, "billingPeriod": { "type": "object", "description": "Billing Frequency\n", "properties": { "length": { "type": "string", "description": "Example:\n- If length=1 & unit=month then charge every month\n- If length=7 & unit=day then charge every 7th day\n" }, "unit": { "type": "string", "description": "Calendar unit values.\n possible values:\n - `D` - day\n - `M` - month\n - `W` - week\n - `Y` - year\n" } } }, "billingCycles": { "type": "object", "properties": { "total": { "type": "string", "description": "Describe total number of billing cycles\n" } } } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "billingAmount": { "type": "string", "maxLength": 19, "description": "Billing amount for the billing period.\n" }, "setupFee": { "type": "string", "maxLength": 19, "description": "Subscription setup fee\n" } } } } } } } }, "400": { "description": "Invalid request.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_MERCHANT_CONFIGURATION\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" } } } } } } }, "404": { "description": "Not found.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - NOT_FOUND\n" } } } }, "502": { "description": "Unexpected system error or system timeout.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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." } } } } } }, "patch": { "summary": "Update a Plan", "description": "Update a Plan\n\nPlan in `DRAFT` status\n- All updates are allowed on Plan with `DRAFT` status\n\nPlan in `ACTIVE` status [Following fields are **Not Updatable**]\n- `planInformation.billingPeriod`\n- `planInformation.billingCycles` [Update is only allowed to **increase** billingCycles]\n- `orderInformation.amountDetails.currency`\n", "tags": [ "Plans" ], "operationId": "updatePlan", "x-devcenter-metaData": { "categoryTag": "Recurring_Billing_Subscriptions", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/recurring-billing/developer/all/rest/recurring-billing/recur-bill-dev-intro.html", "disableProcessorDropDown": true }, "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/json", "application/hal+json", "application/json;charset=utf-8", "application/hal+json;charset=utf-8" ], "parameters": [ { "name": "id", "in": "path", "type": "string", "required": true, "description": "Plan Id" }, { "name": "updatePlanRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "planInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 10, "description": "Plan code is an optional field, If not provided system generates and assign one\n" }, "name": { "type": "string", "maxLength": 100, "description": "Plan name\n" }, "description": { "type": "string", "maxLength": 255, "description": "Plan description\n" }, "status": { "type": "string", "description": "Updating to `DRAFT` is not allowed from `ACTIVE` and `INACTIVE` status.\n\nPlan Status:\n - `DRAFT`\n - `ACTIVE`\n - `INACTIVE`\n" }, "billingPeriod": { "type": "object", "description": "Billing Frequency\n", "properties": { "length": { "type": "string", "description": "Example:\n- If length=1 & unit=month then charge every month\n- If length=7 & unit=day then charge every 7th day\n" }, "unit": { "type": "string", "description": "Calendar unit values.\n possible values:\n - `D` - day\n - `M` - month\n - `W` - week\n - `Y` - year\n" } } }, "billingCycles": { "type": "object", "description": "Number of times customer is going to be billed\n", "properties": { "total": { "type": "string", "description": "Describe total number of billing cycles\n" } } } } }, "processingInformation": { "type": "object", "properties": { "subscriptionBillingOptions": { "type": "object", "properties": { "applyTo": { "type": "string", "description": "Valid Values:\n- `ALL` - Change applied to all Subscriptions (Existing + New)\n- `NEW` - Change applied to New Subsciptions only\n" } } } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "billingAmount": { "type": "string", "maxLength": 19, "description": "Billing amount for the billing period.\n" }, "setupFee": { "type": "string", "maxLength": 19, "description": "Subscription setup fee\n" } } } } } }, "example": { "planInformation": { "name": "Gold Plan NA", "description": "Updated Gold Plan", "billingPeriod": { "length": "2", "unit": "W" }, "billingCycles": { "total": "11" } }, "processingInformation": { "subscriptionBillingOptions": { "applyTo": "ALL" } }, "orderInformation": { "amountDetails": { "currency": "USD", "billingAmount": "11", "setupFee": "2" } } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "title": "updatePlanResponse", "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.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - COMPLETED\n" }, "planInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 10, "description": "Plan code\n" }, "status": { "type": "string", "description": "Plan Status:\n - `DRAFT`\n - `ACTIVE`\n - `INACTIVE`\n" } } } }, "example": { "_links": { "self": { "href": "rbs/v1/plans/4963015972176007901546", "method": "GET" } }, "id": "4963015972176007901546", "submitTimeUtc": "2020-06-30T19:48:06Z", "status": "COMPLETED", "planInformation": { "code": "PLAN1", "status": "ACTIVE" } } } }, "400": { "description": "Invalid request.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_MERCHANT_CONFIGURATION\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" } } } } } } }, "502": { "description": "Unexpected system error or system timeout.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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": "Update Plan", "sample-name": "Update Plan", "value": { "planInformation": { "name": "Gold Plan NA", "description": "Updated Gold Plan", "billingPeriod": { "length": "2", "unit": "W" }, "billingCycles": { "total": "11" } }, "processingInformation": { "subscriptionBillingOptions": { "applyTo": "ALL" } }, "orderInformation": { "amountDetails": { "currency": "USD", "billingAmount": "11", "setupFee": "2" } } } } } }, "delete": { "summary": "Delete a Plan", "tags": [ "Plans" ], "description": "Delete a Plan is only allowed:\n- plan status is in `DRAFT`\n- plan status is in `ACTIVE`, and `INACTIVE` only allowed when no subscriptions attached to a plan in the lifetime of a plan\n", "operationId": "deletePlan", "x-devcenter-metaData": { "categoryTag": "Recurring_Billing_Subscriptions", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/recurring-billing/developer/all/rest/recurring-billing/recur-bill-dev-intro.html", "disableProcessorDropDown": true }, "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/json", "application/hal+json", "application/json;charset=utf-8", "application/hal+json;charset=utf-8" ], "parameters": [ { "name": "id", "in": "path", "required": true, "type": "string", "description": "Plan Id" } ], "responses": { "200": { "description": "Successful response.", "schema": { "title": "deletePlanResponse", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - COMPLETED\n" } } } }, "400": { "description": "Invalid request.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_MERCHANT_CONFIGURATION\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" } } } } } } }, "404": { "description": "Not found.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - NOT_FOUND\n" } } } }, "502": { "description": "Unexpected system error or system timeout.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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." } } } } } } }, "/rbs/v1/plans/{id}/activate": { "post": { "summary": "Activate a Plan", "description": "Activate a Plan", "tags": [ "Plans" ], "operationId": "activatePlan", "x-devcenter-metaData": { "categoryTag": "Recurring_Billing_Subscriptions", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/recurring-billing/developer/all/rest/recurring-billing/recur-bill-dev-intro.html", "disableProcessorDropDown": true }, "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/json", "application/hal+json", "application/json;charset=utf-8", "application/hal+json;charset=utf-8" ], "parameters": [ { "name": "id", "in": "path", "required": true, "type": "string", "description": "Plan Id" } ], "responses": { "200": { "description": "Successful response.", "schema": { "title": "activateDeactivatePlanResponse", "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.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - COMPLETED\n" }, "planInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 10, "description": "Plan code\n" }, "status": { "type": "string", "description": "Plan Status:\n - `DRAFT`\n - `ACTIVE`\n - `INACTIVE`\n" } } } } } }, "400": { "description": "Invalid request.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_MERCHANT_CONFIGURATION\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" } } } } } } }, "404": { "description": "Not found.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - NOT_FOUND\n" } } } }, "502": { "description": "Unexpected system error or system timeout.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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." } } } } } } }, "/rbs/v1/plans/{id}/deactivate": { "post": { "summary": "Deactivate a Plan", "description": "Deactivate a Plan", "tags": [ "Plans" ], "operationId": "deactivatePlan", "x-devcenter-metaData": { "categoryTag": "Recurring_Billing_Subscriptions", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/recurring-billing/developer/all/rest/recurring-billing/recur-bill-dev-intro.html", "disableProcessorDropDown": true }, "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/json", "application/hal+json", "application/json;charset=utf-8", "application/hal+json;charset=utf-8" ], "parameters": [ { "name": "id", "in": "path", "required": true, "type": "string", "description": "Plan Id" } ], "responses": { "200": { "description": "Successful response.", "schema": { "title": "activateDeactivatePlanResponse", "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.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - COMPLETED\n" }, "planInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 10, "description": "Plan code\n" }, "status": { "type": "string", "description": "Plan Status:\n - `DRAFT`\n - `ACTIVE`\n - `INACTIVE`\n" } } } } } }, "400": { "description": "Invalid request.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_MERCHANT_CONFIGURATION\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" } } } } } } }, "404": { "description": "Not found.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - NOT_FOUND\n" } } } }, "502": { "description": "Unexpected system error or system timeout.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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." } } } } } } }, "/rbs/v1/plans/code": { "get": { "summary": "Get a Plan Code", "description": "Get a Unique Plan Code", "tags": [ "Plans" ], "operationId": "getPlanCode", "x-devcenter-metaData": { "categoryTag": "Recurring_Billing_Subscriptions", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/recurring-billing/developer/all/rest/recurring-billing/recur-bill-dev-intro.html", "disableProcessorDropDown": true }, "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/json", "application/hal+json", "application/json;charset=utf-8", "application/hal+json;charset=utf-8" ], "responses": { "200": { "description": "Successful response.", "schema": { "title": "getPlanCodeResponse", "type": "object", "properties": { "code": { "type": "string", "maxLength": 10, "description": "Plan code\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" } } } }, "400": { "description": "Invalid request.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_MERCHANT_CONFIGURATION\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" } } } } } } }, "502": { "description": "Unexpected system error or system timeout.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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." } } } } } } }, "/rbs/v1/subscriptions": { "post": { "summary": "Create a Subscription", "description": "Create a Recurring Billing Subscription", "tags": [ "Subscriptions" ], "x-devcenter-metaData": { "categoryTag": "Recurring_Billing_Subscriptions", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/recurring-billing/developer/all/rest/recurring-billing/recur-bill-dev-intro.html", "disableProcessorDropDown": true }, "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/json", "application/hal+json", "application/json;charset=utf-8", "application/hal+json;charset=utf-8" ], "operationId": "createSubscription", "parameters": [ { "name": "createSubscriptionRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "comments": { "type": "string", "maxLength": 255, "description": "Brief description of the order or any comment you wish to add to the order.\n" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } }, "applicationName": { "type": "string", "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" }, "applicationVersion": { "type": "string", "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "applicationUser": { "type": "string", "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" } } }, "processingInformation": { "type": "object", "properties": { "commerceIndicator": { "description": "Commerce Indicator is a way to identify the type of transaction. Some payment card companies use this information when determining discount rates.\n\nValid values:\n- `MOTO`\n- `RECURRING`\n", "type": "string", "maxLength": 20 }, "authorizationOptions": { "type": "object", "properties": { "initiator": { "type": "object", "properties": { "type": { "type": "string", "description": "This field indicates whether the transaction is a merchant-initiated transaction or customer-initiated transaction.\n\nValid values:\n- **customer**\n- **merchant**\n" } } } } } } }, "planInformation": { "type": "object", "properties": { "billingPeriod": { "type": "object", "description": "Billing Frequency\n", "properties": { "length": { "type": "string", "description": "Example:\n- If length=1 & unit=month then charge every month\n- If length=7 & unit=day then charge every 7th day\n" }, "unit": { "type": "string", "description": "Calendar unit values.\n possible values:\n - `D` - day\n - `M` - month\n - `W` - week\n - `Y` - year\n" } } }, "billingCycles": { "type": "object", "description": "Number of times customer is going to be billed\n", "properties": { "total": { "type": "string", "description": "Describe total number of billing cycles\n" } } } } }, "subscriptionInformation": { "type": "object", "required": [ "name", "startDate" ], "properties": { "code": { "type": "string", "maxLength": 10, "description": "Subscription code is an optional field, If not provided system generates and assign one\n" }, "planId": { "type": "string", "maxLength": 26, "description": "Plan Id. Use Plan Id from Create Plan Service.\n" }, "name": { "type": "string", "maxLength": 100, "description": "Subscription Name\n" }, "startDate": { "type": "string", "description": "Start date of the Subscription\n\nStart date must be in UTC. Format: YYYY-MM-DDThh:mm:ssZ\nThe T separates the date and the time. The Z indicates UTC.\n\nNote: Subscription starts on the day provided in UTC.\n\n**Example** 2022-08-11T22:47:57Z equals August 11, 2022, at 22:47:57 (10:47:57 p.m.).\nSubscription will start on August 11,2022.\n" } } }, "paymentInformation": { "type": "object", "properties": { "customer": { "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string", "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "billingAmount": { "type": "string", "maxLength": 19, "description": "Billing amount for the billing period.\n" }, "setupFee": { "type": "string", "maxLength": 19, "description": "Subscription setup fee\n" } } } } } }, "example": { "clientReferenceInformation": { "code": "TC501713", "partner": { "developerId": "ABCD1234", "solutionId": "GEF1234" }, "applicationName": "CYBS-SDK", "applicationVersion": "v1" }, "processingInformation": { "commerceIndicator": "recurring", "authorizationOptions": { "initiator": { "type": "merchant" } } }, "subscriptionInformation": { "planId": "6868912495476705603955", "name": "Subscription with PlanId", "startDate": "2024-06-11" }, "paymentInformation": { "customer": { "id": "C24F5921EB870D99E053AF598E0A4105" } } } } } ], "responses": { "201": { "description": "Successful response.", "schema": { "title": "createSubscriptionResponse", "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." } } }, "update": { "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." } } }, "cancel": { "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." } } }, "suspend": { "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." } } }, "activate": { "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.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - COMPLETED\n - PENDING_REVIEW\n - DECLINED\n - INVALID_REQUEST\n" }, "subscriptionInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 10, "description": "Subscription code.\n" }, "status": { "type": "string", "description": "Subscription Status:\n - `PENDING`\n - `ACTIVE`\n - `FAILED`\n" } } } }, "example": { "_links": { "self": { "href": "/rbs/v1/subscriptions/4567000000000123456789", "method": "GET" }, "update": { "href": "/rbs/v1/subscriptions/4567000000000123456789", "method": "PATCH" }, "cancel": { "href": "/rbs/v1/subscriptions/4567000000000123456789/cancel", "method": "POST" }, "suspend": { "href": "/rbs/v1/subscriptions/4567000000000123456789/suspend", "method": "POST" }, "activate": { "href": "/rbs/v1/subscriptions/4567000000000123456789/activate", "method": "POST" } }, "id": "4567000000000123456789", "submitTimeUtc": "2020-11-01T071957Z", "status": "COMPLETED", "subscriptionInformation": { "code": "SUB1", "status": "ACTIVE" } } } }, "400": { "description": "Invalid request.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_CARD\n - CARD_TYPE_NOT_ACCEPTED\n - INVALID_MERCHANT_CONFIGURATION\n - PROCESSOR_UNAVAILABLE\n - INVALID_CARD_TYPE\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" } } } } } } }, "502": { "description": "Unexpected system error or system timeout.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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": "Create Subscription", "sample-name": "Create Subscription", "value": { "clientReferenceInformation": { "code": "TC501713", "partner": { "developerId": "ABCD1234", "solutionId": "GEF1234" }, "applicationName": "CYBS-SDK", "applicationVersion": "v1" }, "processingInformation": { "commerceIndicator": "recurring", "authorizationOptions": { "initiator": { "type": "merchant" } } }, "subscriptionInformation": { "planId": "6868912495476705603955", "name": "Subscription with PlanId", "startDate": "2024-06-11" }, "paymentInformation": { "customer": { "id": "C24F5921EB870D99E053AF598E0A4105" } } } } } }, "get": { "summary": "Get a List of Subscriptions", "description": "Retrieve Subscriptions by Subscription Code & Subscription Status.\n", "tags": [ "Subscriptions" ], "x-devcenter-metaData": { "categoryTag": "Recurring_Billing_Subscriptions", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/recurring-billing/developer/all/rest/recurring-billing/recur-bill-dev-intro.html", "disableProcessorDropDown": true }, "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/json", "application/hal+json", "application/json;charset=utf-8", "application/hal+json;charset=utf-8" ], "operationId": "getAllSubscriptions", "parameters": [ { "name": "offset", "in": "query", "type": "integer", "required": false, "description": "Page offset number." }, { "name": "limit", "in": "query", "type": "integer", "required": false, "description": "Number of items to be returned. Default - `20`, Max - `100`\n" }, { "name": "code", "in": "query", "type": "string", "required": false, "description": "Filter by Subscription Code" }, { "name": "status", "in": "query", "type": "string", "required": false, "description": "Filter by Subscription Status" } ], "responses": { "200": { "description": "Successful response.", "schema": { "title": "getAllSubscriptionsResponse", "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." } } }, "next": { "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." } } }, "previous": { "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." } } } } }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "totalCount": { "type": "integer", "description": "total number of subscriptions created" }, "subscriptions": { "type": "array", "items": { "type": "object", "description": "Subscription list", "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." } } }, "cancel": { "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." } } }, "suspend": { "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." } } }, "activate": { "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.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "planInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 10, "description": "Plan code\n" }, "name": { "type": "string", "maxLength": 100, "description": "Plan name\n" }, "billingPeriod": { "type": "object", "description": "Billing Frequency\n", "properties": { "length": { "type": "string", "description": "Example:\n- If length=1 & unit=month then charge every month\n- If length=7 & unit=day then charge every 7th day\n" }, "unit": { "type": "string", "description": "Calendar unit values.\n possible values:\n - `D` - day\n - `M` - month\n - `W` - week\n - `Y` - year\n" } } }, "billingCycles": { "type": "object", "properties": { "total": { "type": "string", "description": "Describe total number of billing cycles\n" }, "current": { "type": "string", "description": "Current billing cycle\n" } } } } }, "subscriptionInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 10, "description": "Subscription code.\n" }, "planId": { "type": "string", "maxLength": 26, "description": "Plan Id.\n" }, "name": { "type": "string", "maxLength": 100, "description": "Subscription Name\n" }, "startDate": { "type": "string", "description": "Start date of the Subscription\n\nStart date will be in UTC. Format: YYYY-MM-DDThh:mm:ssZ\nThe T separates the date and the time. The Z indicates UTC.\n\n**Example** 2022-08-11T22:47:57Z equals August 11, 2022, at 22:47:57 (10:47:57 p.m.).\n" }, "status": { "type": "string", "description": "Subscription Status:\n- `PENDING`\n- `ACTIVE`\n- `FAILED`\n- `COMPLETED`\n- `DELINQUENT`\n- `SUSPENDED`\n- `CANCELLED`\n" } } }, "paymentInformation": { "type": "object", "properties": { "customer": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "billingAmount": { "type": "string", "maxLength": 19, "description": "Billing amount for the billing period.\n" }, "setupFee": { "type": "string", "maxLength": 19, "description": "Subscription setup fee\n" } } }, "billTo": { "type": "object", "properties": { "firstName": { "description": "Customer's first name.\n", "type": "string", "maxLength": 60 }, "lastName": { "description": "Customer's last name.\n", "type": "string", "maxLength": 60 } } } } } } } } } } }, "400": { "description": "Invalid request.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_MERCHANT_CONFIGURATION\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" } } } } } } }, "502": { "description": "Unexpected system error or system timeout.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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." } } } } } } }, "/rbs/v1/subscriptions/{id}": { "get": { "summary": "Get a Subscription", "description": "Get a Subscription by Subscription Id", "tags": [ "Subscriptions" ], "x-devcenter-metaData": { "categoryTag": "Recurring_Billing_Subscriptions", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/recurring-billing/developer/all/rest/recurring-billing/recur-bill-dev-intro.html", "disableProcessorDropDown": true }, "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/json", "application/hal+json", "application/json;charset=utf-8", "application/hal+json;charset=utf-8" ], "operationId": "getSubscription", "parameters": [ { "name": "id", "in": "path", "type": "string", "required": true, "description": "Subscription Id" } ], "responses": { "200": { "description": "Successful response.", "schema": { "title": "getSubscriptionResponse", "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." } } }, "cancel": { "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." } } }, "suspend": { "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." } } }, "activate": { "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.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "planInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 10, "description": "Plan code\n" }, "name": { "type": "string", "maxLength": 100, "description": "Plan name\n" }, "billingPeriod": { "type": "object", "description": "Billing Frequency\n", "properties": { "length": { "type": "string", "description": "Example:\n- If length=1 & unit=month then charge every month\n- If length=7 & unit=day then charge every 7th day\n" }, "unit": { "type": "string", "description": "Calendar unit values.\n possible values:\n - `D` - day\n - `M` - month\n - `W` - week\n - `Y` - year\n" } } }, "billingCycles": { "type": "object", "properties": { "total": { "type": "string", "description": "Describe total number of billing cycles\n" }, "current": { "type": "string", "description": "Current billing cycle\n" } } } } }, "subscriptionInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 10, "description": "Subscription code.\n" }, "planId": { "type": "string", "maxLength": 26, "description": "Plan Id.\n" }, "name": { "type": "string", "maxLength": 100, "description": "Subscription Name\n" }, "startDate": { "type": "string", "description": "Start date of the Subscription\n\nStart date will be in UTC. Format: YYYY-MM-DDThh:mm:ssZ\nThe T separates the date and the time. The Z indicates UTC.\n\n**Example** 2022-08-11T22:47:57Z equals August 11, 2022, at 22:47:57 (10:47:57 p.m.).\n" }, "status": { "type": "string", "description": "Subscription Status:\n- `PENDING`\n- `ACTIVE`\n- `FAILED`\n- `COMPLETED`\n- `DELINQUENT`\n- `SUSPENDED`\n- `CANCELLED`\n" } } }, "paymentInformation": { "type": "object", "properties": { "customer": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Customer token used in the transaction.\nWhen you include this value in your request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n", "minLength": 1, "maxLength": 32 } } } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "billingAmount": { "type": "string", "maxLength": 19, "description": "Billing amount for the billing period.\n" }, "setupFee": { "type": "string", "maxLength": 19, "description": "Subscription setup fee\n" } } }, "billTo": { "type": "object", "properties": { "firstName": { "description": "Customer's first name.\n", "type": "string", "maxLength": 60 }, "lastName": { "description": "Customer's last name.\n", "type": "string", "maxLength": 60 } } } } } } } }, "400": { "description": "Invalid request.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_MERCHANT_CONFIGURATION\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" } } } } } } }, "404": { "description": "Not found.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - NOT_FOUND\n" } } } }, "502": { "description": "Unexpected system error or system timeout.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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." } } } } } }, "patch": { "summary": "Update a Subscription", "description": "Update a Subscription by Subscription Id", "tags": [ "Subscriptions" ], "x-devcenter-metaData": { "categoryTag": "Recurring_Billing_Subscriptions", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/recurring-billing/developer/all/rest/recurring-billing/recur-bill-dev-intro.html", "disableProcessorDropDown": true }, "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/json", "application/hal+json", "application/json;charset=utf-8", "application/hal+json;charset=utf-8" ], "operationId": "updateSubscription", "parameters": [ { "name": "id", "in": "path", "type": "string", "required": true, "description": "Subscription Id" }, { "name": "UpdateSubscription", "in": "body", "description": "Update Subscription", "required": true, "schema": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "comments": { "type": "string", "maxLength": 255, "description": "Brief description of the order or any comment you wish to add to the order.\n" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } }, "applicationName": { "type": "string", "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" }, "applicationVersion": { "type": "string", "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "applicationUser": { "type": "string", "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" } } }, "processingInformation": { "type": "object", "properties": { "commerceIndicator": { "description": "Commerce Indicator is a way to identify the type of transaction. Some payment card companies use this information when determining discount rates.\n\nValid values:\n- `MOTO`\n- `RECURRING`\n", "type": "string", "maxLength": 20 }, "authorizationOptions": { "type": "object", "properties": { "initiator": { "type": "object", "properties": { "type": { "type": "string", "description": "This field indicates whether the transaction is a merchant-initiated transaction or customer-initiated transaction.\n\nValid values:\n- **customer**\n- **merchant**\n" } } } } } } }, "planInformation": { "type": "object", "properties": { "billingCycles": { "type": "object", "description": "Number of times customer is going to be billed\n", "properties": { "total": { "type": "string", "description": "Describe total number of billing cycles\n" } } } } }, "subscriptionInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 10, "description": "Subscription code is an optional field, If not provided system generates and assign one\n" }, "planId": { "type": "string", "maxLength": 26, "description": "Plan Id. Use Plan Id from Create Plan Service.\n" }, "name": { "type": "string", "maxLength": 100, "description": "Subscription Name\n" }, "startDate": { "type": "string", "description": "Start date of the Subscription\n\nStart date must be in UTC. Format: YYYY-MM-DDThh:mm:ssZ\nThe T separates the date and the time. The Z indicates UTC.\n\nNote: Subscription starts on the day provided in UTC.\n\n**Example** 2022-08-11T22:47:57Z equals August 11, 2022, at 22:47:57 (10:47:57 p.m.).\nSubscription will start on August 11,2022.\n" } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "billingAmount": { "type": "string", "maxLength": 19, "description": "Billing amount for the billing period.\n" }, "setupFee": { "type": "string", "maxLength": 19, "description": "Subscription setup fee\n" } } } } } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "title": "updateSubscriptionResponse", "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." } } }, "cancel": { "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." } } }, "suspend": { "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." } } }, "activate": { "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.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - COMPLETED\n - PENDING_REVIEW\n - DECLINED\n - INVALID_REQUEST\n" }, "subscriptionInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 10, "description": "Subscription code.\n" }, "status": { "type": "string", "description": "Subscription Status:\n - `PENDING`\n - `ACTIVE`\n - `FAILED`\n" } } } } } }, "400": { "description": "Invalid request.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_CARD\n - CARD_TYPE_NOT_ACCEPTED\n - INVALID_MERCHANT_CONFIGURATION\n - PROCESSOR_UNAVAILABLE\n - INVALID_CARD_TYPE\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" } } } } } } }, "404": { "description": "Not found.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - NOT_FOUND\n" } } } }, "502": { "description": "Unexpected system error or system timeout.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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": "Update Subscription", "sample-name": "Update Subscription", "value": { "clientReferenceInformation": { "code": "APGHU", "partner": { "developerId": "ABCD1234", "solutionId": "GEF1234" } }, "processingInformation": { "authorizationOptions": { "initiator": { "type": "merchant" } } }, "subscriptionInformation": { "planId": 424242442, "name": "Gold subs", "startDate": "2024-06-15" }, "orderInformation": { "amountDetails": { "billingAmount": 10, "setupFee": 5 } } } } } } }, "/rbs/v1/subscriptions/{id}/cancel": { "post": { "summary": "Cancel a Subscription", "description": "Cancel a Subscription", "tags": [ "Subscriptions" ], "x-devcenter-metaData": { "categoryTag": "Recurring_Billing_Subscriptions", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/recurring-billing/developer/all/rest/recurring-billing/recur-bill-dev-intro.html", "disableProcessorDropDown": true }, "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/json", "application/hal+json", "application/json;charset=utf-8", "application/hal+json;charset=utf-8" ], "operationId": "cancelSubscription", "parameters": [ { "name": "id", "in": "path", "type": "string", "required": true, "description": "Subscription Id" } ], "responses": { "202": { "description": "Successful response.", "schema": { "title": "cancelSubscriptionResponse", "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.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - ACCEPTED\n" }, "subscriptionInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 10, "description": "Subscription code.\n" }, "status": { "type": "string", "description": "Subscription Status:\n- `CANCELLED`\n" } } } } } }, "400": { "description": "Invalid request.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_MERCHANT_CONFIGURATION\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" } } } } } } }, "404": { "description": "Not found.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - NOT_FOUND\n" } } } }, "502": { "description": "Unexpected system error or system timeout.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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." } } } } } } }, "/rbs/v1/subscriptions/{id}/suspend": { "post": { "summary": "Suspend a Subscription", "description": "Suspend a Subscription", "tags": [ "Subscriptions" ], "x-devcenter-metaData": { "categoryTag": "Recurring_Billing_Subscriptions", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/recurring-billing/developer/all/rest/recurring-billing/recur-bill-dev-intro.html", "disableProcessorDropDown": true }, "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/json", "application/hal+json", "application/json;charset=utf-8", "application/hal+json;charset=utf-8" ], "operationId": "suspendSubscription", "parameters": [ { "name": "id", "in": "path", "type": "string", "required": true, "description": "Subscription Id" } ], "responses": { "202": { "description": "Successful response.", "schema": { "title": "suspendSubscriptionResponse", "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.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - ACCEPTED\n" }, "subscriptionInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 10, "description": "Subscription code.\n" }, "status": { "type": "string", "description": "Subscription Status:\n- `SUSPENDED`\n" } } } } } }, "400": { "description": "Invalid request.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_MERCHANT_CONFIGURATION\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" } } } } } } }, "404": { "description": "Not found.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - NOT_FOUND\n" } } } }, "502": { "description": "Unexpected system error or system timeout.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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." } } } } } } }, "/rbs/v1/subscriptions/{id}/activate": { "post": { "summary": "Activate a Subscription", "description": "Activate a `CANCELLED` Or `SUSPENDED` Subscription\n", "tags": [ "Subscriptions" ], "x-devcenter-metaData": { "categoryTag": "Recurring_Billing_Subscriptions", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/recurring-billing/developer/all/rest/recurring-billing/recur-bill-dev-intro.html", "disableProcessorDropDown": true }, "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/json", "application/hal+json", "application/json;charset=utf-8", "application/hal+json;charset=utf-8" ], "operationId": "activateSubscription", "parameters": [ { "name": "id", "in": "path", "type": "string", "required": true, "description": "Subscription Id" } ], "responses": { "200": { "description": "Successful response.", "schema": { "title": "activateSubscriptionResponse", "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.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - COMPLETED\n" }, "subscriptionInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 10, "description": "Subscription code.\n" }, "status": { "type": "string", "description": "Subscription Status:\n- `ACTIVE`\n" } } } } } }, "400": { "description": "Invalid request.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_MERCHANT_CONFIGURATION\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" } } } } } } }, "404": { "description": "Not found.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - NOT_FOUND\n" } } } }, "502": { "description": "Unexpected system error or system timeout.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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." } } } } } } }, "/rbs/v1/subscriptions/code": { "get": { "summary": "Get a Subscription Code", "description": "Get a Unique Subscription Code", "tags": [ "Subscriptions" ], "operationId": "getSubscriptionCode", "x-devcenter-metaData": { "categoryTag": "Recurring_Billing_Subscriptions", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/recurring-billing/developer/all/rest/recurring-billing/recur-bill-dev-intro.html", "disableProcessorDropDown": true }, "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/json", "application/hal+json", "application/json;charset=utf-8", "application/hal+json;charset=utf-8" ], "responses": { "200": { "description": "Successful response.", "schema": { "title": "getSubscriptionCodeResponse", "type": "object", "properties": { "code": { "type": "string", "maxLength": 10, "description": "Subscription code.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" } } } }, "400": { "description": "Invalid request.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_MERCHANT_CONFIGURATION\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" } } } } } } }, "502": { "description": "Unexpected system error or system timeout.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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." } } } } } } }, "/tss/v2/transactions/{id}": { "get": { "summary": "Retrieve a Transaction", "description": "Include the Request ID in the GET request to retrieve the transaction details.", "tags": [ "TransactionDetails" ], "produces": [ "application/hal+json;charset=utf-8" ], "operationId": "getTransaction", "x-devcenter-metaData": { "categoryTag": "Transaction_Details", "developerGuides": "https://developer.cybersource.com/api/developer-guides/dita-txn-search-details-rest-api-dev-guide-102718/txn_details_api.html" }, "parameters": [ { "name": "id", "in": "path", "description": "Request ID.\n", "required": true, "type": "string" } ], "x-depends": { "example": { "path": "/pts/v2/payments", "verb": "post", "exampleId": "example0" }, "fieldMapping": [ { "sourceField": "id", "destinationField": "id", "fieldTypeInDestination": "path" } ] }, "responses": { "200": { "description": "Successful response.", "schema": { "title": "tssV2TransactionsGet200Response", "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "An unique identification number generated by Cybersource to identify the submitted request. Returned by all services.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "rootId": { "type": "string", "maxLength": 26, "description": "Contains the transaction identifier for the first transaction in the series of transactions. For example, you might send an authorization request for a payment, followed by a capture request for that payment, and then a refund request for that captured payment. Each of those requests, if successful, creates a resource that is assigned an identifier, which is returned in the response. The rootId identifies the first ID in the series, which in this case would be the ID of the original authorization." }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" }, "merchantId": { "type": "string", "description": "Your CyberSource merchant ID." }, "submitTimeUTC": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction." }, "applicationInformation": { "type": "object", "properties": { "status": { "type": "string", "description": "The status of the submitted transaction." }, "reasonCode": { "type": "string", "description": "Indicates the reason why a request succeeded or failed and possible action to take if a request fails.\n\nFor details, see the appendix of reason codes in the documentation for the relevant payment method.\n" }, "rCode": { "type": "string", "description": "Indicates whether the service request was successful.\nPossible values:\n\n- `-1`: An error occurred.\n- `0`: The request was declined.\n- `1`: The request was successful.\n" }, "rFlag": { "type": "string", "description": "One-word description of the result of the application.\n" }, "applications": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the CyberSource transaction type (such as CC settlement or CC authorization) that the merchant wants to process in a transaction request. More than one transaction type can included in a transaction request. Each transaction type separately returns their own status, reasonCode, rCode, and rFlag messages.\n" }, "status": { "type": "string", "description": "The description for this field is not available." }, "reasonCode": { "type": "string", "description": "3-digit reason code that indicates why the customer profile payment succeeded or failed." }, "rCode": { "type": "string", "description": "Indicates whether the service request was successful.\nPossible values:\n\n- `-1`: An error occurred.\n- `0`: The request was declined.\n- `1`: The request was successful.\n" }, "rFlag": { "type": "string", "description": "One-word description of the result of the application.\n" }, "reconciliationId": { "type": "string", "description": "Reference number that you use to reconcile your CyberSource reports with your processor reports.\n" }, "rMessage": { "type": "string", "description": "Message that explains the reply flag for the application.\n" }, "returnCode": { "type": "integer", "description": "The description for this field is not available." } } } } } }, "buyerInformation": { "type": "object", "properties": { "merchantCustomerId": { "type": "string", "maxLength": 100, "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n\nFor processor-specific information, see the `customer_account_id` field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "hashedPassword": { "type": "string", "maxLength": 100, "description": "The merchant's password that CyberSource hashes and stores as a hashed password.\n\nFor details about this field, see the `customer_password` field description in _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" } } }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "applicationVersion": { "type": "string", "description": "Version of the CyberSource application or integration used for a transaction.\n" }, "applicationName": { "type": "string", "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" }, "applicationUser": { "type": "string", "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" }, "partner": { "type": "object", "properties": { "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" }, "thirdPartyCertificationNumber": { "type": "string", "maxLength": 12, "description": "Value that identifies the application vendor and application version for a third party gateway.\nCyberSource provides you with this value during testing and validation.\nThis field is supported only on CyberSource through VisaNet.\n\n#### Used by\n**Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**\nOptional field.\n\n#### PIN debit\nRequired field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.\n" } } }, "comments": { "type": "string", "maxLength": 255, "description": "Brief description of the order or any comment you wish to add to the order.\n" } } }, "consumerAuthenticationInformation": { "type": "object", "properties": { "eciRaw": { "type": "string", "maxLength": 2, "description": "Raw electronic commerce indicator (ECI).\n\nFor details, see `eci_raw` request field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "cavv": { "type": "string", "maxLength": 40, "description": "Cardholder authentication verification value (CAVV)." }, "xid": { "type": "string", "maxLength": 40, "description": "Transaction identifier.\n\nFor details, see `xid` request field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "transactionId": { "type": "string", "description": "Payer auth Transaction identifier." }, "strongAuthentication": { "type": "object", "properties": { "lowValueExemptionIndicator": { "type": "string", "maxLength": 1, "description": "This field will contain the low value exemption indicator with one of the following values:\nPossible values:\n- `0` ( low value exemption does not apply to the transaction)\n- `1` (Transaction exempt from SCA as the merchant/acquirer has determined it to be a low value payment)\n" }, "riskAnalysisExemptionIndicator": { "type": "string", "maxLength": 1, "description": "This field will contain the transaction risk analysis exemption indicator with one of the following values:\nPossible values:\n- `0` (TRA exemption does not apply to the transaction)\n- `1` (Transaction exempt from SCA as the merchant/acquirer has determined it to be low risk in accordance with the criteria defined by PSD2/RTS)\n" }, "trustedMerchantExemptionIndicator": { "type": "string", "maxLength": 1, "description": "Possible values:\n- `0` (Trusted merchant exemption does not apply to the transaction)\n- `1` (Transaction exempt from SCA as it originated at a merchant trusted by the cardholder)\n" }, "secureCorporatePaymentIndicator": { "type": "string", "maxLength": 1, "description": "This field will contain the secure corporate payment exemption indicator with one of the following values:\nPossible values:\n- `0` (SCA exemption does not apply to the transaction)\n- `1` (Transaction exempt from SCA as the merchant/acquirer has determined it as a secure corporate payment)\n" }, "delegatedAuthenticationExemptionIndicator": { "type": "string", "maxLength": 1, "description": "This field will contain the delegated authentication exemption indicator with one of the following values:\nPossible values:\n- `0` (delegated Authentication exemption does not apply to the transaction)\n- `1` (Transaction exempt from SCA as authentication has been delegated to other provider (PSP,Acquirer))\n" } } } } }, "deviceInformation": { "type": "object", "properties": { "ipAddress": { "type": "string", "maxLength": 45, "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" }, "hostName": { "type": "string", "maxLength": 60, "description": "DNS resolved hostname from `ipAddress`." }, "cookiesAccepted": { "type": "string", "description": "Whether the customer's browser accepts cookies. This field can contain one of the following values:\n- `yes`: The customer's browser accepts cookies.\n- `no`: The customer's browser does not accept cookies.\n" } } }, "errorInformation": { "type": "object", "properties": { "reason": { "type": "string", "description": "1-word description of why a request succeeded or failed.\n" }, "message": { "type": "string", "description": "The user-facing description for why a request succeeded or failed.\n" }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string", "description": "This is the flattened JSON object field name/path that is either missing or invalid." }, "reason": { "type": "string", "description": "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n" } } } } } }, "installmentInformation": { "type": "object", "properties": { "numberOfInstallments": { "type": "string", "description": "Number of Installments." }, "identifier": { "type": "string", "maximum": 60, "description": "Standing Instruction/Installment identifier.\n" } } }, "fraudMarkingInformation": { "type": "object", "properties": { "reason": { "type": "string", "description": "Reason for adding the transaction to the negative list. This field can contain one of the following values:\n- fraud_chargeback: You have received a fraudrelated chargeback for the transaction.\n- non_fraud_chargeback: You have received a non-fraudulent chargeback for the transaction.\n- suspected: You believe that you will probably receive a chargeback for the transaction.\n- creditback: You issued a refund to the customer to avoid a chargeback for the transaction.\n" } } }, "healthCareInformation": { "type": "object", "properties": { "amountDetails": { "type": "array", "description": "array for Healthcare fields", "items": { "type": "object", "properties": { "amountType": { "type": "string", "maxLength": 35, "description": "Total amount that has been spent on healthcare in a transaction.\nValid Values for **Visa**:\n- `healthcare` - Total Amount Healthcare\n- `healthcare-transit` - Amount Transit\n- `vision` - Amount Vision/Optical\n- `prescription` - Amount Prescription/RX\n- `clinic` - Amount Clinic/Other Qualified Medical\n- `dental` - Amount Dental\n\n\n`Note:` - Prescription, Clinic and dental amounts must be preceded with the total healthcare amount and cannot occur individually. Vision and Transit must be sent individually and cannot be combined with total healthcare amount or any other amounts. Total Healthcare amount can be sent individually.\n\nValid Values for **MasterCard**:\n- `prescription` - Amount Prescription/RX\n- `eligible-total` - Total Amount Healthcare\n\n\n`Note:` - Prescription must be preceded with the total healthcare amount and cannot occur individually. Total Healthcare amount can be sent individually.\n" }, "amount": { "type": "string", "maxLength": 13, "description": "Total Amount that has been spent on the corresponding amountType. This is 13 byte field including sign.\nIf the amount is positive, then it is a debit for the customer.\nIf the amount is negative, then it is a credit for the customer.\n" } } } } } }, "merchantDefinedInformation": { "type": "array", "description": "The object containing the custom data that the merchant defines.\n", "items": { "type": "object", "properties": { "key": { "type": "string", "maxLength": 50, "description": "The number you assign for as the key for your merchant-defined data field. Valid values are 0 to 100.\n\nFor example, to set or access the key for the 2nd merchant-defined data field in the array, you would reference `merchantDefinedInformation[1].key`.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].key` and\n`merchantDefinedInformation[1].key` for data that you want to provide to the issuer to identify the\ntransaction.\n\nFor details, see the `merchant_defined_data1` request-level field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "value": { "type": "string", "maxLength": 255, "description": "The value you assign for your merchant-defined data field.\n\nFor details, see `merchant_defined_data1` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event CyberSource discovers that a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, CyberSource will immediately suspend the merchant's account, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].value` and\n`merchantDefinedInformation[1].value` for data that you want to provide to the issuer to identify the\ntransaction. For details, see \"Installment Payments on CyberSource through VisaNet\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nFor installment payments with Mastercard in Brazil:\n- The value for merchantDefinedInformation[0].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 25-44\n - Field: Reference Field 2\n- The value for merchantDefinedInformation[1].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 45-64\n - Field: Reference Field 3\n" } } } }, "merchantInformation": { "type": "object", "properties": { "merchantDescriptor": { "type": "object", "properties": { "name": { "type": "string", "description": "Your merchant name.\n\n**Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.\n\n#### PIN debit\nYour business name. This name is displayed on the cardholder's statement. When you\ninclude more than one consecutive space, extra spaces are removed.\n\nWhen you do not include this value in your PIN debit request, the merchant name from your account is used.\n**Important** This value must consist of English characters.\n\nOptional field for PIN debit credit or PIN debit purchase requests.\n\n#### Airline processing\nYour merchant name. This name is displayed on the cardholder's statement. When you include more than one consecutive space, extra spaces are removed.\n\n**Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.\n\n**Important** This value must consist of English characters.\n\nRequired for captures and credits.\n" } } } } }, "orderInformation": { "type": "object", "properties": { "billTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called _CyberSource Latin American Processing_. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### RBS WorldPay Atlanta\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "middleName": { "type": "string", "maxLength": 60, "description": "Customer's middle name.\n" }, "nameSuffix": { "type": "string", "maxLength": 60, "description": "Customer's name suffix.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions\nThis value is used for AVS.\n\n#### FDMS Nashville\n`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.\nString (20)\n\n#### All Other Processors\nString (60)\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Payment card billing city.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n\n**CyberSource through VisaNet**\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\nFor processor-specific information, see the `company_name` field in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\nFor processor-specific information, see the `customer_email` request-level field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### SEPA/BACS\nRequired for Create Mandate and Import Mandate\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "title": { "type": "string", "maxLength": 60, "description": "Title.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n\nIt is recommended that you include the country code when the order is from outside the U.S.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nOptional field.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" } } }, "shipTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "First name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Last name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Second line of the shipping address.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "City of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S. or\nCanada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nFor Payouts: This field may be sent only for FDC Compass.\n\n##### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "company": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n\nFor processor-specific information, see the company_name field in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", "maxLength": 2 }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Phone number associated with the shipping address." } } }, "lineItems": { "type": "array", "description": "Transaction Line Item data.", "items": { "type": "object", "properties": { "productCode": { "type": "string", "maxLength": 255, "description": "Type of product. This value is used to determine the category that the product is in: electronic, handling,\nphysical, service, or shipping. The default value is **default**.\n\nFor a payment, when you set this field to a value other than default or any of the values related to\nshipping and handling, below fields _quantity_, _productName_, and _productSKU_ are required.\n" }, "productName": { "type": "string", "maxLength": 255, "description": "For PAYMENT and CAPTURE API, this field is required when above _productCode_ is not **default** or one of the\nvalues related to shipping and handling.\n" }, "productSku": { "type": "string", "maxLength": 255, "description": "Identification code for the product. For Payment and Capture APIs, this field is required when above\n`productCode` is not **default** or one of the values related to shipping and/or handling.\n" }, "taxAmount": { "type": "string", "maxLength": 15, "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n1. You include each line item in your request.\n - 1st line item has `amount=10.00`, `quantity=1`, and `taxAmount=0.80`\n - 2nd line item has `amount=20.00`, `quantity=1`, and `taxAmount=1.60`\n2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nThis field is frequently used for Level II and Level III transactions.\n\nFor details, see `tax_amount` field description in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "quantity": { "type": "integer", "minimum": 1, "maximum": 999999999, "description": "For a payment or capture, this field is required when _productCode_ is not **default** or one of the values\nrelated to shipping and handling.\n", "default": 1 }, "unitPrice": { "type": "string", "maxLength": 15, "description": "Per-item price of the product. This value cannot be negative. You can include a decimal point (.), but you\ncannot include any other special characters. CyberSource truncates the amount to the correct number of decimal\nplaces.\n\nFor processor-specific information, see the amount field in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "fulfillmentType": { "type": "string", "description": "The description for this field is not available." } } } }, "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. For details, see:\n- \"Authorization Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Capture Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Credit Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\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. For details, see \"Zero Amount Authorizations,\" \"Credit Information for Specific Processors\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\nRequired for creating a new invoice.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. For details, see `grand_total_amount` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in \"Authorization Information for Specific Processors\" of the [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "taxAmount": { "type": "string", "maxLength": 12, "description": "Total tax amount for all the items in the order.\n" }, "authorizedAmount": { "type": "string", "maxLength": 15, "description": "Amount that was authorized.\n\nReturned by authorization service.\n\n#### PIN debit\nAmount of the purchase.\n\nReturned by PIN debit purchase.\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in Merchant Descriptors Using the SCMP API.\n" }, "settlementAmount": { "type": "string", "maxLength": 12, "description": "This is a multicurrency field. It contains the transaction amount (field 4), converted to the Currency used to bill the cardholder's account.\nThis field is returned for OCT transactions.\n" }, "settlementCurrency": { "type": "string", "maxLength": 3, "description": "This is a multicurrency-only field. It contains a 3-digit numeric code that identifies the currency used by the issuer to bill the cardholder's account.\nThis field is returned for OCT transactions.\n" }, "surcharge": { "type": "object", "properties": { "amount": { "type": "string", "maxLength": 15, "description": "The surcharge amount is included in the total transaction amount but is passed in a separate field to the issuer and acquirer for tracking. The issuer can provide information about the surcharge amount to the customer.\n\nIf the amount is positive, then it is a debit for the customer.\nIf the amount is negative, then it is a credit for the customer.\n\n**NOTE**: This field is supported only for CyberSource through VisaNet (CtV) for Payouts. For CtV, the maximum string length is 8.\n\n#### PIN debit\nSurcharge amount that you are charging the customer for this transaction. If you include a surcharge amount\nin the request, you must also include the surcharge amount in the value for `orderInformation.amountDetails.totalAmount`.\n\nOptional field for transactions that use PIN debit credit or PIN debit purchase.\n" } } } } }, "shippingDetails": { "type": "object", "properties": { "giftWrap": { "type": "boolean", "description": "Boolean that indicates whether the customer requested gift wrapping for this\npurchase. This field can contain one of the following\nvalues:\n- true: The customer requested gift wrapping.\n- false: The customer did not request gift wrapping.\n" }, "shippingMethod": { "type": "string", "maxLength": 10, "description": "Shipping method for the product. Possible values:\n\n - `lowcost`: Lowest-cost service\n - `sameday`: Courier or same-day service\n - `oneday`: Next-day or overnight service\n - `twoday`: Two-day service\n - `threeday`: Three-day service\n - `pickup`: Store pick-up\n - `other`: Other shipping method\n - `none`: No shipping method because product is a service or subscription\n" } } }, "invoiceDetails": { "type": "object", "properties": { "salesSlipNumber": { "type": "integer", "maximum": 99999, "description": "Transaction identifier that is generated. You have the option of printing the sales slip number on the receipt.\nThis field is supported only on Cybersource through Visanet and JCN gateway.\n\nOptional field.\n\n#### Card Present processing message\nIf you included this field in the request, the returned value is the value that you sent in the request.\nIf you did not include this field in the request, the system generated this value for you.\n\nThe difference between this reply field and the `processorInformation.systemTraceAuditNumber` field is that the\nsystem generates the system trace audit number (STAN), and you must print the receipt number on the receipt;\nwhereas you can generate the sales slip number, and you can choose to print the sales slip number on the receipt.\n" } } } } }, "paymentInformation": { "type": "object", "properties": { "paymentType": { "type": "object", "properties": { "name": { "type": "string", "description": "A Payment Type is an agreed means for a payee to receive legal tender from a payer. The way one pays for a commercial financial transaction. Examples: Card, Bank Transfer, Digital, Direct Debit.\nPossible values:\n- `CARD` (use this for a PIN debit transaction)\n- `CHECK` (use this for all eCheck payment transactions - ECP Debit, ECP Follow-on Credit, ECP StandAlone Credit)\n- `bankTransfer` (use for Online Bank Transafer for methods such as P24, iDeal, Estonia Bank, KCP)\n- `localCard` (KCP Local card via Altpay)\n- `carrierBilling` (KCP Carrier Billing via Altpay)\n" }, "type": { "type": "string", "description": "Indicates the payment type used in this payment transaction. Example: credit card, check" }, "method": { "type": "string", "description": "Indicates the payment method used in this payment transaction." } } }, "customer": { "type": "object", "properties": { "customerId": { "type": "string", "description": "Unique identifier for the customer's card and billing information.\n\nWhen you use Payment Tokenization or Recurring Billing and you include this value in\nyour request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n\n**NOTE** When you use Payment Tokenization or Recurring Billing, the value for the Customer ID is actually the Cybersource payment token for a customer. This token stores information such as the consumer's card number so it can be applied towards bill payments, recurring payments, or one-time payments. By using this token in a payment API request, the merchant doesn't need to pass in data such as the card number or expiration date in the request itself.\n\nFor details, see the `subscription_id` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "id": { "type": "string", "description": "Unique identifier for the Customer token that was created as part of a bundled TOKEN_CREATE action.\n", "minLength": 1, "maxLength": 32 } } }, "card": { "type": "object", "properties": { "suffix": { "type": "string", "description": "Last four digits of the cardholder's account number. This field is included in the reply message when the client software\nthat is installed on the POS terminal uses the token management service (TMS) to retrieve tokenized payment details.\n\nYou must contact customer support to have your account enabled to receive these fields in the credit reply message.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### PIN debit\nThis field is returned only for tokenized transactions. You can use this value on the receipt that you give to the cardholder.\n\nReturned by PIN debit credit and PIN debit purchase.\n\nThis field is supported only by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n" }, "prefix": { "type": "string", "maxLength": 6, "description": "Bank Identification Number (BIN). This is the initial four to six numbers on a credit card account number.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "expirationMonth": { "type": "string", "maxLength": 2, "description": "Two-digit month in which the payment card expires.\n\nFormat: `MM`.\n\nValid values: `01` through `12`. Leading 0 is required.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value\n(`01` through `12`) but is not required to be a valid expiration date. In other words, an expiration date that is\nin the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause\nthe issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (_type_=039), if there is no expiration date on the card, use `12`.\n\n#### FDMS Nashville\nRequired field.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "expirationYear": { "type": "string", "maxLength": 4, "description": "Four-digit year in which the payment card expires.\n\nFormat: `YYYY`.\n\n#### Barclays and Streamline\nFor Maestro (UK Domestic) and Maestro (International) cards on Barclays and Streamline, this must be a valid value (`1900` through `3000`) but is not required to be a valid expiration date. In other words, an expiration date that is in the past does not cause CyberSource to reject your request. However, an invalid expiration date might cause the issuer to reject your request.\n\n#### Encoded Account Numbers\nFor encoded account numbers (**_type_**`=039`), if there is no expiration date on the card, use `2021`.\n\n#### FDMS Nashville\nRequired field.\n\n#### FDC Nashville Global and FDMS South\nYou can send in 2 digits or 4 digits. If you send in 2 digits, they must be the last 2 digits of the year.\n\n#### All other processors\nRequired if `pointOfSaleInformation.entryMode=keyed`. However, this field is optional if your account is configured\nfor relaxed requirements for address data and expiration date. **Important** It is your responsibility to determine\nwhether a field is required for the transaction you are requesting.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "startMonth": { "type": "string", "maxLength": 2, "description": "Month of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: MM`. Possible values: 01 through 12.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "startYear": { "type": "string", "maxLength": 4, "description": "Year of the start of the Maestro (UK Domestic) card validity period. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card. `Format: YYYY`.\n\n**Note** The start date is not required for Maestro (UK Domestic) transactions.\n" }, "issueNumber": { "type": "string", "maxLength": 5, "description": "Number of times a Maestro (UK Domestic) card has been issued to the account holder. The card might or might not have an issue number. The number can consist of one or two digits, and the first digit might be a zero. When you include this value in your request, include exactly what is printed on the card. A value of 2 is different than a value of 02. Do not include the field, even with a blank value, if the card is not a Maestro (UK Domestic) card.\n\n**Note** The issue number is not required for Maestro (UK Domestic) transactions.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `014`: Enroute[^1]\n- `021`: JAL[^1]\n- `024`: Maestro (UK Domestic)[^1]\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `042`: Maestro (International)[^1]\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `054`: Elo[^3]\n- `062`: China UnionPay\n- '070': EFTPOS\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "brandName": { "type": "string", "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n" }, "currency": { "type": "string", "maxLength": 3, "description": "This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.\n" }, "accountEncoderId": { "type": "string", "maxLength": 3, "description": "Identifier for the issuing bank that provided the customer's encoded account number. Contact your processor for the bank's ID.\n" }, "useAs": { "type": "string", "maxLength": 20, "description": "Flag that specifies the type of account associated with the card.\nThis field is available only for China UnionPay, Cielo, Comercio Latino and Visa Platform Connect.\nThe cardholder provides this information during the payment process.\n\nThis field is required for:\n - Debit transactions on Cielo and Comercio Latino.\n - Transactions with Brazilian-issued cards on CyberSource through VisaNet.\n\n**China UnionPayCard Transactions on China UnionPay:**\nPossible values:\n - C: Domestic credit card\n - D: Domestic debit card\n - F: International credit card\n - I: International debit card\n\nWhen the value is D, the e-commerce indicator and CAVV fields must be included in the authorization request.\nWhen the value is C, F or I the card verification number, expiration month and expiration year fields must in included in the authorization request.\n\n**Cielo and Comercio Latino Credit Card Transactions:**\nOn these processors, this field is supported only for authorizations.\nPossible values:\n - CR: Credit card\n - DB: Debit card \n\n**Visa Platform Connect Credit Card Transactions:**\nThis field is supported only for all card Types on Visa Platform Connect.\n\nA value of CR or DB in the useAs field takes precedence over any value in the Source Account Type field.\n" } } }, "brands": { "type": "array", "description": "This array contains the supported brands.\n", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `014`: Enroute[^1]\n- `021`: JAL[^1]\n- `024`: Maestro (UK Domestic)[^1]\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `042`: Maestro (International)[^1]\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `054`: Elo[^3]\n- `062`: China UnionPay\n- '070': EFTPOS\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" }, "brandName": { "type": "string", "description": "This field contains the card brand name. \n\nSome of the possible values (not an exhaustive list) are -\n\n - VISA\n - MASTERCARD\n - AMERICAN EXPRESS\n - DISCOVER\n - DINERS CLUB\n - CARTE BLANCHE\n - JCB\n - OPTIMA\n - TWINPAY CREDIT CARD\n - TWINPAY DEBIT CARD\n - WALMART\n - ENROUTE\n - LOWES CONSUMER\n - HOME DEPOT CONSUMER\n - MBNA\n - DICKS SPORTWEAR\n - CASUAL CORNER\n - SEARS\n - JAL\n - DISNEY CARD\n - SWITCH/SOLO\n - SAMS CLUB CONSUMER\n - SAMS CLUB BUSINESS\n - NICOS HOUSE CARD\n - BEBE\n - RESTORATION HARDWARE\n - DELTA ONLINE\n - SOLO\n - VISA ELECTRON\n - DANKORT\n - LASER\n - CARTE BANCAIRE\n - CARTA SI\n - ENCODED ACCOUNT\n - UATP\n - HOUSEHOLD\n - MAESTRO\n - GE CAPITAL\n - KOREAN CARDS\n - STYLE CARDS\n - JCREW\n - MEIJER\n - HIPERCARD\n - AURA\n - REDECARD\n - ORICO HOUSE CARD\n - ELO\n - CAPITAL ONE PRIVATE LABEL\n - CARNET\n - RUPAY\n - CHINA UNION PAY\n - FALABELLA PRIVATE LABEL\n - PROMPTCARD\n - KOREAN DOMESTIC\n - BANRICOMPRAS\n" } } } }, "features": { "type": "object", "properties": { "accountFundingSource": { "type": "string", "maxLength": 20, "description": "This field contains the account funding source.\nPossible values:\n - `CREDIT`\n - `DEBIT`\n - `PREPAID`\n - `DEFERRED DEBIT`\n - `CHARGE`\n" }, "accountFundingSourceSubType": { "type": "string", "maxLength": 20, "description": "This field contains the type of prepaid card.\nPossible values:\n - `Reloadable`\n - `Non-reloadable`\n" }, "cardProduct": { "type": "string", "maxLength": 50, "description": "This field contains the type of issuer product.\nExample values:\n - Visa Classic\n - Visa Signature\n - Visa Infinite\n" }, "messageType": { "type": "string", "maxLength": 1, "description": "This field contains the type of BIN based authentication.\nPossible values:\n - `S`: Single Message\n - `D`: Dual Message\n" }, "acceptanceLevel": { "type": "string", "maxLength": 2, "description": "This field contains the acceptance level of the PAN.\nPossible values:\n - `0` : Normal\n - `1` : Monitor\n - `2` : Refuse\n - `3` : Not Allowed\n - `4` : Private\n - `5` : Test\n" }, "cardPlatform": { "type": "string", "maxLength": 20, "description": "This field contains the type of card platform.\nPossible values:\n - `BUSINESS`\n - `CONSUMER`\n - `COMMERCIAL`\n - `GOVERNMENT`\n" }, "comboCard": { "type": "string", "maxLength": 1, "description": "This field indicates the type of combo card.\nPossible values:\n - 0 (Not a combo card)\n - 1 (Credit and Prepaid Combo card)\n - 2 (Credit and Debit Combo card)\n" } } }, "invoice": { "type": "object", "properties": { "number": { "type": "string", "description": "Invoice Number." }, "barcodeNumber": { "type": "string", "description": "Barcode Number." }, "expirationDate": { "type": "string", "description": "Expiration Date." } } }, "network": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 5, "description": "This field contains a code that identifies the network.\nPlease refer [Network ID and Sharing Group Code](https://developer.visa.com/request_response_codes#network_id_and_sharing_group_code)\n" } } }, "issuerInformation": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 200, "description": "This field contains the issuer name.\n" }, "country": { "type": "string", "maxLength": 2, "description": "This field contains [2-character ISO Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf) for the issuer.\n" }, "binLength": { "type": "string", "maxLength": 2, "description": "This field contains the length of the BIN.\n" }, "phoneNumber": { "type": "string", "maxLength": 50, "description": "This field contains the customer service phone number for the issuer.\n" } } }, "bank": { "type": "object", "properties": { "routingNumber": { "type": "string", "description": "Bank routing number. This is also called the transit number.\n\nFor details, see `ecp_rdfi` field description in the [Electronic Check Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/)\n" }, "branchCode": { "type": "string", "description": "Code used to identify the branch of the customer's bank.\nRequired for some countries if you do not or are not\nallowed to provide the IBAN. Use this field only when\nscoring a direct debit transaction.\n\nFor all possible values, see the `branch_code` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "swiftCode": { "type": "string", "description": "Bank's SWIFT code. You can use this field only when scoring a direct debit transaction.\nRequired only for crossborder transactions.\n\nFor all possible values, see the `bank_swiftcode` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "bankCode": { "type": "string", "description": "Country-specific code used to identify the customer's\nbank. Required for some countries if you do not or are not\nallowed to provide the IBAN instead. You can use this field\nonly when scoring a direct debit transaction.\n\nFor all possible values, see the `bank_code` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "iban": { "type": "string", "maxLength": 50, "description": "International Bank Account Number (IBAN) for the bank account. For some countries you can provide this number instead of the traditional bank account information. You can use this field only when scoring a direct debit transaction.\n\nFor all possible values, see the `bank_iban` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "account": { "type": "object", "properties": { "suffix": { "type": "string", "description": "Last four digits of the customer's payment account number.\n" }, "prefix": { "type": "string", "description": "Bank Identification Number (BIN). This is the initial four to six numbers on a credit card account number.\n" }, "checkNumber": { "type": "string", "maxLength": 8, "description": "Check number.\n\nChase Paymentech Solutions - Optional.\nCyberSource ACH Service - Not used.\nRBS WorldPay Atlanta - Optional on debits. Required on credits.\nTeleCheck - Strongly recommended on debit requests. Optional on credits.\n" }, "type": { "type": "string", "maxLength": 1, "description": "Account type.\n\nPossible values:\n - **C**: Checking.\n - **G**: General ledger. This value is supported only on Wells Fargo ACH.\n - **S**: Savings (U.S. dollars only).\n - **X**: Corporate checking (U.S. dollars only).\n" }, "name": { "type": "string", "description": "Name used on the bank account. You can use this field only when scoring a direct debit transaction\n" }, "checkDigit": { "type": "string", "description": "Code used to validate the customer's account number.\nRequired for some countries if you do not or are not\nallowed to provide the IBAN instead. You may use this\nfield only when scoring a direct debit transaction.\n\nFor all possible values, see the `bank_check_digit` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n" }, "encoderId": { "type": "string", "maxLength": 3, "description": "Identifier for the bank that provided the customer's encoded account number.\n\nTo obtain the bank identifier, contact your processor.\n\nFor details, see `account_encoder_id` request-level field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" } } }, "mandate": { "type": "object", "properties": { "referenceNumber": { "type": "string", "description": "Unique value generated by CyberSource that identifies the transaction. Use this value to identify transactions in the Collections Report, which provides settlement\ninformation.\n\nFor details, see the `direct_debit_reconciliation_reference_number` reply field description in [Ingenico ePayments Developer Guide For Direct Debits.](https://apps.cybersource.com/library/documentation/dev_guides/Ingenico_ePayments_Dev/html/)\n" }, "recurringType": { "type": "string", "description": "Whether the direct debit is the first or last direct debit associated with the mandate, or one in between.\nRequired only for the United Kingdom.\nPossible values:\n- `001`: First direct debit associated with this mandate. Use this value if a one-time direct debit).\n- `002`: Subsequent direct debits associated with this mandate.\n- `003`: Last direct debit associated with this mandate.\n\nFor details, see the `direct_debit_recurring_type` request field description in [Ingenico ePayments Developer Guide For Direct Debits.](https://apps.cybersource.com/library/documentation/dev_guides/Ingenico_ePayments_Dev/html/)\n" }, "id": { "type": "string", "description": "The mandate ID. Required only for the United Kingdom.\n\nFor details, see the `mandate_id` request field description in [Ingenico ePayments Developer Guide For Direct Debits.](https://apps.cybersource.com/library/documentation/dev_guides/Ingenico_ePayments_Dev/html/)\n" } } } } }, "accountFeatures": { "type": "object", "properties": { "balanceAmount": { "type": "string", "maxLength": 12, "description": "Remaining balance on the account.\n\nReturned by authorization service.\n\n#### PIN debit\nRemaining balance on the prepaid card.\n\nReturned by PIN debit purchase.\n" }, "previousBalanceAmount": { "type": "string", "maxLength": 12, "description": "Remaining balance on the account.\n\nReturned by authorization service.\n\n#### PIN debit\nRemaining balance on the prepaid card.\n\nReturned by PIN debit purchase.\n" }, "currency": { "type": "string", "maxLength": 5, "description": "Currency of the remaining balance on the account. For the possible values, see the [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\nReturned by authorization service.\n\n#### PIN debit\nCurrency of the remaining balance on the prepaid card.\n\nReturned by PIN debit purchase.\n" } } }, "paymentInstrument": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Payment Instrument token that was created as part of a bundled TOKEN_CREATE action.\n", "minLength": 1, "maxLength": 32 } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Instrument Identifier token that was created as part of a bundled TOKEN_CREATE action.\n", "minLength": 12, "maxLength": 32 } } }, "shippingAddress": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Customers Shipping Address token that was created as part of a bundled TOKEN_CREATE action.\n", "minLength": 1, "maxLength": 32 } } }, "fluidData": { "type": "object", "properties": { "descriptor": { "type": "string", "maxLength": 128, "description": "The identifier for a payment solution, which is sending the encrypted payment data for decryption. Valid values:\nSamsung Pay: RklEPUNPTU1PTi5TQU1TVU5HLklOQVBQLlBBWU1FTlQ=\nNote: For other payment solutions, the value may be specific to the terminal or device initiatinf the payment. For example, the descriptor for a Bluefin payment encryption would be a device-generated descriptor.\nUsed by Authorization and Standalone Credits. Required for authorizations and standalone credits.\n\nCard Present processing:\nFormat of the encrypted payment data.\nThe value for Bluefin PCI P2PE is `Ymx1ZWZpbg==`. paymentInformation.fluidData.encoding must be `Base64`.\nThe value for Cybersource P2PE decryption depends on the encoding method used and identified in encoding field.\nIf paymentInformation.fluidData.encoding is `Base64`, the value is: `RklEPUVNVi5QQVlNRU5ULkFQSQ==`\nIf paymentInformation.fluidData.encoding is `HEX`, the value is: `4649443D454D562E5041594D454E542E41504`\n" } } } } }, "paymentInsightsInformation": { "type": "object", "properties": { "responseInsights": { "type": "object", "properties": { "category": { "type": "string", "maxLength": 60, "description": "Categorization of response message from processor\n\nPossible Values:\n- `APPROVED`\n- `ISSUER_WILL_NEVER_APPROVE`\n- `ISSUER_CANT_APPROVE_AT_THIS_TIME`\n- `ISSUER_CANT_APPROVE_WITH_THESE_DETAILS`\n- `GENERIC_ERROR`\n- `OTHERS`\n- `MATCH_NOT_FOUND`\n" }, "categoryCode": { "type": "string", "maxLength": 2, "description": "Categorization Code of response message from processor\n\nPossible Values:\n- `01` : Issuer Will Never Approve\n- `02` : Issuer Can't Approve at this Time\n- `03` : Issuer Can't Approve with these Details\n- `04` : Generic Error\n- `98` : Others\n- `99` : Payment Insights Response Category Match Not Found\n" }, "processorRawName": { "type": "string", "maxLength": 40, "description": "Raw name of the processor used for the transaction processing, especially useful during acquirer swing to see\nwhich processor transaction settled with\n" } } } } }, "payoutOptions": { "type": "object", "properties": { "payoutInquiry": { "type": "string", "maxLength": 5, "description": "If true then provide attributes related to fund transfer/payouts. If payout information not found then response will have standard account lookup.\nPossible values:\n- `true`\n- `false`\n" } } }, "unscheduledPaymentInformation": { "type": "object", "properties": { "type": { "type": "string", "description": "Indicates the type of unscheduled payment. This field is required for unscheduled payments CIT/MIT Possible values:\n1: First unscheduled transaction.\n2: Subsequent unscheduled transaction.\n" } } }, "processingInformation": { "type": "object", "properties": { "binSource": { "type": "string", "description": "Bin Source File Identifier.\nPossible values:\n- itmx\n- rupay\n" }, "industryDataType": { "type": "string", "maxLength": 20, "description": "Indicates that the transaction includes industry-specific data.\n\nPossible Values:\n- `airline`\n- `restaurant`\n- `lodging`\n- `auto_rental`\n- `transit`\n- `healthcare_medical`\n- `healthcare_transit`\n- `transit`\n\n#### Card Present, Airlines and Auto Rental\nYou must set this field to `airline` in order for airline data to be sent to the processor. For example, if this\nfield is not set to `airline` or is not included in the request, no airline data is sent to the processor.\n\nYou must set this field to `restaurant` in order for restaurant data to be sent to the processor. When this field\nis not set to `restaurant` or is not included in the request, no restaurant data is sent to the processor.\n\nYou must set this field to `auto_rental` in order for auto rental data to be sent to the processor. For example, if this\nfield is not set to `auto_rental` or is not included in the request, no auto rental data is sent to the processor.\n\nRestaurant data is supported only on CyberSource through VisaNet.\n" }, "paymentSolution": { "type": "string", "maxLength": 50, "description": "Type of digital payment solution for the transaction.\n" }, "commerceIndicator": { "type": "string", "maxLength": 20, "description": "Type of transaction. Some payment card companies use this information when determining discount rates.\n\n#### Used by\n**Authorization**\nRequired payer authentication transactions; otherwise, optional.\n**Credit**\nRequired for standalone credits on Chase Paymentech solutions; otherwise, optional.\n\nThe list of valid values in this field depends on your processor.\nSee Appendix I, \"Commerce Indicators,\" on page 441 of the Cybersource Credit Card Guide.\n\n#### Ingenico ePayments\nWhen you omit this field for Ingenico ePayments, the processor uses the default transaction type they have on file for you\ninstead of the default value (listed in Appendix I, \"Commerce Indicators,\" on page 441.)\n\n#### Payer Authentication Transactions\nFor the possible values and requirements, see \"Payer Authentication,\" page 195.\n\n#### Card Present\nYou must set this field to `retail`. This field is required for a card-present transaction. Note that this should ONLY be\nused when the cardholder and card are present at the time of the transaction.\nFor all keyed transactions originated from a POS terminal where the cardholder and card are not present, commerceIndicator\nshould be submitted as \"moto\"\n" }, "commerceIndicatorLabel": { "type": "string", "maxLength": 20, "description": "Type of transaction. Some payment card companies use this information when determining discount rates.\n\n#### Used by\n**Authorization**\nRequired payer authentication transactions; otherwise, optional.\n**Credit**\nRequired for standalone credits on Chase Paymentech solutions; otherwise, optional.\n\nThe list of valid values in this field depends on your processor.\nSee Appendix I, \"Commerce Indicators,\" on page 441 of the Cybersource Credit Card Guide.\n\n#### Ingenico ePayments\nWhen you omit this field for Ingenico ePayments, the processor uses the default transaction type they have on file for you\ninstead of the default value (listed in Appendix I, \"Commerce Indicators,\" on page 441.)\n\n#### Payer Authentication Transactions\nFor the possible values and requirements, see \"Payer Authentication,\" page 195.\n\n#### Card Present\nYou must set this field to `retail`. This field is required for a card-present transaction. Note that this should ONLY be\nused when the cardholder and card are present at the time of the transaction.\nFor all keyed transactions originated from a POS terminal where the cardholder and card are not present, commerceIndicator\nshould be submitted as \"moto\"\n" }, "businessApplicationId": { "type": "string", "description": "Payouts transaction type.\nRequired for OCT transactions.\nThis field is a pass-through, which means that CyberSource does not verify the value or\nmodify it in any way before sending it to the processor.\n**Note** When the request includes this field, this value overrides the information in your CyberSource account.\n\nFor valid values, see the `invoiceHeader_businessApplicationID` field description in [Payouts Using the Simple Order API.](http://apps.cybersource.com/library/documentation/dev_guides/payouts_SO/Payouts_SO_API.pdf)\n" }, "authorizationOptions": { "type": "object", "properties": { "authType": { "type": "string", "maxLength": 15, "description": "Authorization type. Possible values:\n\n - `AUTOCAPTURE`: automatic capture.\n - `STANDARDCAPTURE`: standard capture.\n - `VERBAL`: forced capture. Include it in the payment request for a forced capture. Include it in the capture request for a verbal payment.\n\n#### Asia, Middle East, and Africa Gateway; Cielo; Comercio Latino; and CyberSource Latin American Processing\nSet this field to `AUTOCAPTURE` and include it in a bundled request to indicate that you are requesting an automatic capture. If your account is configured to enable automatic captures, set this field to `STANDARDCAPTURE` and include it in a standard authorization or bundled request to indicate that you are overriding an automatic capture. For more information, see the `auth_type` field description in [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Forced Capture\nSet this field to `VERBAL` and include it in the authorization request to indicate that you are performing a forced capture; therefore, you receive the authorization code outside the CyberSource system.\n\n#### Verbal Authorization\nSet this field to `VERBAL` and include it in the capture request to indicate that the request is for a verbal authorization. For more information, see \"Verbal Authorizations\" in [Credit Card Services Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html).\n" }, "authIndicator": { "type": "string", "maxLength": 1, "description": "Flag that specifies the purpose of the authorization.\n\nPossible values:\n - **0**: Preauthorization\n - **1**: Final authorization\n\nTo set the default for this field, contact CyberSource Customer Support.\n\n#### Barclays and Elavon\nThe default for Barclays and Elavon is 1 (final authorization). To change the default for this field, contact CyberSource Customer Support.\n\n#### CyberSource through VisaNet\nWhen the value for this field is 0, it corresponds to the following data in the TC 33 capture file:\n - Record: CP01 TCR0\n - Position: 164\n - Field: Additional Authorization Indicators\nWhen the value for this field is 1, it does not correspond to any data in the TC 33 capture file.\n" }, "extendAuthIndicator": { "type": "string", "description": "Flag that indicates whether the transaction is an extended authorization.\n" }, "cardVerificationIndicator": { "type": "boolean", "description": "This API field will indicate whether a card verification check is being performed during the transaction\n\nPossible values:\n - `true`\n - `false` (default value)\n" }, "initiator": { "type": "object", "properties": { "type": { "type": "string", "description": "This field indicates whether the transaction is a merchant-initiated transaction or customer-initiated transaction.\n\nValid values:\n- **customer**\n- **merchant**\n" }, "credentialStoredOnFile": { "type": "string", "description": "Indicates to the issuing bank two things:\n- The merchant has received consent from the cardholder to store their card details on file\n- The merchant wants the issuing bank to check out the card details before the merchant initiates their first transaction for this cardholder.\nThe purpose of the merchant-initiated transaction is to ensure that the cardholder's credentials are valid (that the card is not stolen or has restrictions) and that the card details are good to be stored on the merchant's file for future transactions.\n\nValid values:\n- `Y` means merchant will use this transaction to store payment credentials for follow-up merchant-initiated transactions.\n- `N` means merchant will not use this transaction to store payment credentials for follow-up merchant-initiated transactions.\n\nFor details, see `subsequent_auth_first` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n**NOTE:** The value for this field does not correspond to any data in the TC 33 capture file5.\n\nThis field is supported only for Visa transactions on CyberSource through VisaNet.\n" }, "storedCredentialUsed": { "type": "string", "description": "Indicates to an issuing bank whether a merchant-initiated transaction came from a card that was already stored on file.\n\nPossible values:\n- **Y** means the merchant-initiated transaction came from a card that was already stored on file.\n- **N** means the merchant-initiated transaction came from a card that was not stored on file.\n" }, "merchantInitiatedTransaction": { "type": "object", "title": "merchantInitiatedTransactionObject", "properties": { "reason": { "type": "string", "maxLength": 1, "description": "Reason for the merchant-initiated transaction or incremental authorization. Possible values:\n- `1`: Resubmission\n- `2`: Delayed charge\n- `3`: Reauthorization for split shipment\n- `4`: No show\n- `5`: Account top up\nThis field is required only for the five kinds of transactions in the preceding list.\nThis field is supported only for merchant-initiated transactions and incremental authorizations.\n\n#### CyberSource through VisaNet\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n- Record: CP01 TCR0\n- Position: 160-163\n- Field: Message Reason Code\n\n#### All Processors\nFor details, see `subsequent_auth_reason` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "previousTransactionId": { "type": "string", "maxLength": 15, "description": "Network transaction identifier that was returned in the payment response field _processorInformation.transactionID_\nin the reply message for either the original merchant-initiated payment in the series or the previous\nmerchant-initiated payment in the series.\n\nIf the current payment request includes a token instead of an account number, the following time limits apply for the value of this field:\n- For a **resubmission**, the transaction ID must be less than 14 days old.\n- For a **delayed charge** or **reauthorization**, the transaction ID must be less than 30 days old.\n\n**NOTE**: The value for this field does not correspond to any data in the TC 33 capture file5. This field is supported\nonly for Visa transactions on CyberSource through VisaNet.\n" }, "originalAuthorizedAmount": { "type": "string", "maxLength": 61, "description": "Amount of the original authorization.\n\nThis field is supported only for Apple Pay, Google Pay, and Samsung Pay transactions with Discover on FDC Nashville Global and Chase Paymentech.\n\nSee \"Recurring Payments,\" and \"Subsequent Authorizations,\" field description in the [Payment Network Tokenization\nUsing the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/tokenization_SCMP_API/html/wwhelp/wwhimpl/js/html/wwhelp.htm)\n" }, "agreementId": { "type": "string", "description": "This field contains the predetermined agrement id with the merchant\n" } } } } } } }, "bankTransferOptions": { "type": "object", "properties": { "secCode": { "type": "string", "description": "Specifies the authorization method for the transaction.\n\nPossible values:\n- `ARC`: account receivable conversion\n- `CCD`: corporate cash disbursement\n- `POP`: point of purchase conversion\n- `PPD`: prearranged payment and deposit entry\n- `TEL`: telephone-initiated entry\n- `WEB`: internet-initiated entry\n" } } }, "captureOptions": { "type": "object", "properties": { "totalCaptureCount": { "type": "integer", "minimum": 1, "maximum": 99, "description": "Total number of captures when requesting multiple partial captures for one payment.\nUsed along with `captureSequenceNumber` field to track which capture is being processed.\n\nFor example, the second of five captures would be passed to CyberSource as:\n - `captureSequenceNumber = 2`, and\n - `totalCaptureCount = 5`\n" }, "captureSequenceNumber": { "type": "integer", "minimum": 1, "maximum": 99, "description": "Capture number when requesting multiple partial captures for one authorization.\nUsed along with `totalCaptureCount` to track which capture is being processed.\n\nFor example, the second of five captures would be passed to CyberSource as:\n - `captureSequenceNumber_ = 2`, and\n - `totalCaptureCount = 5`\n" } } }, "reconciliationId": { "type": "string", "maxLength": 60, "description": "Reference number for the transaction.\nDepending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.\nThe actual value used in the request to the processor is provided back to you by Cybersource in the response.\n" }, "japanPaymentOptions": { "type": "object", "properties": { "paymentMethod": { "type": "string", "maxLength": 2, "description": "This value is a 2-digit code indicating the payment method.\nUse Payment Method Code value that applies to the tranasction.\n- 10 (One-time payment)\n- 21, 22, 23, 24 (Bonus(one-time)payment)\n- 61 (Installment payment)\n- 31, 32, 33, 34 (Integrated (Bonus + Installment)payment)\n- 80 (Revolving payment)\n" }, "terminalId": { "type": "string", "maxLength": 13, "description": "Unique Japan Credit Card Association (JCCA) terminal identifier.\n\nThe difference between this field and the `pointOfSaleInformation.terminalID` field is that you can define\n`pointOfSaleInformation.terminalID`, but `processingInformation.japanPaymentOptions.terminalId` is\ndefined by the JCCA and is used only in Japan.\n\nThis field is supported only on CyberSource through VisaNet and JCN Gateway.\n\nOptional field.\n" }, "businessName": { "type": "string", "maxLength": 25, "description": "Business name in Japanese characters. This field is supported only on JCN Gateway and for the Sumitomo Mitsui Card Co. acquirer on CyberSource through VisaNet.\n" }, "businessNameKatakana": { "type": "string", "maxLength": 25, "description": "Business name in Katakana characters. This field is supported only on JCN Gateway and for the Sumitomo Mitsui Card Co. acquirer on CyberSource through VisaNet.\n" } } } } }, "processorInformation": { "type": "object", "properties": { "processor": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 30, "description": "Name of the Processor.\n" } } }, "multiProcessorRouting": { "type": "array", "description": "An array of object that contains the list of acquirer response codes & reasons if a transaction is routed to multiple acquirers.", "items": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 30, "description": "Name of the Processor.\n" }, "responseCode": { "type": "string", "maxLength": 10, "description": "For most processors, this is the error message sent directly from the bank. Returned only when the processor\nreturns this value.\n\n**Important** Do not use this field to evaluate the result of the authorization.\n\n#### PIN debit\nResponse value that is returned by the processor or bank.\n**Important** Do not use this field to evaluate the results of the transaction request.\n\nReturned by PIN debit credit, PIN debit purchase, and PIN debit reversal.\n\n#### AIBMS\nIf this value is `08`, you can accept the transaction if the customer provides you with identification.\n\n#### Atos\nThis value is the response code sent from Atos and it might also include the response code from the bank.\nFormat: `aa,bb` with the two values separated by a comma and where:\n- `aa` is the two-digit error message from Atos.\n- `bb` is the optional two-digit error message from the bank.\n\n#### Comercio Latino\nThis value is the status code and the error or response code received from the processor separated by a colon.\nFormat: [status code]:E[error code] or [status code]:R[response code]\nExample `2:R06`\n\n#### JCN Gateway\nProcessor-defined detail error code. The associated response category code is in the `processorInformation.responseCategoryCode` field.\nString (3)\n" }, "reasonCode": { "type": "string", "description": "Indicates the reason why a request succeeded or failed and possible action to take if a request fails.\n\nFor details, see the appendix of reason codes in the documentation for the relevant payment method.\n" }, "sequence": { "type": "string", "description": "The order in which the transaction was routed to the processor\n" } } } }, "transactionId": { "type": "string", "maxLength": 50, "description": "Network transaction identifier (TID). You can use this value to identify a specific transaction when you are\ndiscussing the transaction with your processor. Not all processors provide this value.\n\nReturned by the authorization service.\n\n#### PIN debit\nTransaction identifier generated by the processor.\n\nReturned by PIN debit credit.\n\n#### GPX\nProcessor transaction ID.\n\n#### Cielo\nFor Cielo, this value is the non-sequential unit (NSU) and is supported for all transactions. The value is generated by Cielo or the issuing bank.\n\n#### Comercio Latino\nFor Comercio Latino, this value is the proof of sale or non-sequential unit (NSU) number generated by the acquirers Cielo and Rede, or the issuing bank.\n\n#### CyberSource through VisaNet and GPN\nFor details about this value for CyberSource through VisaNet and GPN, see \"Network Transaction Identifiers\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Moneris\nThis value identifies the transaction on a host system. It contains the following information:\n- Terminal used to process the transaction\n- Shift during which the transaction took place\n- Batch number\n- Transaction number within the batch\nYou must store this value. If you give the customer a receipt, display this value on the receipt.\n\n**Example** For the value\n66012345001069003:\n- Terminal ID = 66012345\n- Shift number = 001\n- Batch number = 069\n- Transaction number = 003\n" }, "networkTransactionId": { "type": "string", "description": "Same value as `processorInformation.transactionId`" }, "retrievalReferenceNumber": { "type": "string", "maxLength": 20, "description": "#### Ingenico ePayments\nUnique number that CyberSource generates to identify the transaction. You can use this value to identify transactions in the Ingenico ePayments Collections Report, which provides settlement information. Contact customer support for information about the report.\n\n### CyberSource through VisaNet\nRetrieval request number.\n" }, "responseId": { "type": "string", "description": "Response ID sent from the processor.\n" }, "approvalCode": { "type": "string", "maxLength": 6, "description": "Authorization code. Returned only when the processor returns this value.\n\nThe length of this value depends on your processor.\n\nReturned by authorization service.\n\n#### PIN debit\nAuthorization code that is returned by the processor.\n\nReturned by PIN debit credit.\n\n#### Elavon Encrypted Account Number Program\nThe returned value is OFFLINE.\n\n#### TSYS Acquiring Solutions\nThe returned value for a successful zero amount authorization is 000000.\n" }, "responseCode": { "type": "string", "maxLength": 10, "description": "For most processors, this is the error message sent directly from the bank. Returned only when the processor\nreturns this value.\n\n**Important** Do not use this field to evaluate the result of the authorization.\n\n#### PIN debit\nResponse value that is returned by the processor or bank.\n**Important** Do not use this field to evaluate the results of the transaction request.\n\nReturned by PIN debit credit, PIN debit purchase, and PIN debit reversal.\n\n#### AIBMS\nIf this value is `08`, you can accept the transaction if the customer provides you with identification.\n\n#### Atos\nThis value is the response code sent from Atos and it might also include the response code from the bank.\nFormat: `aa,bb` with the two values separated by a comma and where:\n- `aa` is the two-digit error message from Atos.\n- `bb` is the optional two-digit error message from the bank.\n\n#### Comercio Latino\nThis value is the status code and the error or response code received from the processor separated by a colon.\nFormat: [status code]:E[error code] or [status code]:R[response code]\nExample `2:R06`\n\n#### JCN Gateway\nProcessor-defined detail error code. The associated response category code is in the `processorInformation.responseCategoryCode` field.\nString (3)\n" }, "avs": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 1, "description": "AVS result code.\n\nReturned by authorization service.\n" }, "codeRaw": { "type": "string", "maxLength": 10, "description": "AVS result code sent directly from the processor. Returned only when the processor returns this value.\n**Important** Do not use this field to evaluate the result of AVS. Use for debugging purposes only.\n\nReturned by authorization service.\n" } } }, "cardVerification": { "type": "object", "properties": { "resultCode": { "type": "string", "maxLength": 1, "description": "CVN result code.\n\nFor details, see the `auth_cv_result` reply field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" } } }, "achVerification": { "type": "object", "properties": { "resultCode": { "type": "string", "maxLength": 2, "description": "Results from the ACH verification service.\nFor details about this service and the possible values for the results, see \"ACH Verification\" and \"Verification Codes\" in the [Electronic Check Services Using the SCMP API](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/).\n" }, "resultCodeRaw": { "type": "string", "maxLength": 10, "description": "Raw results from the ACH verification service.\nFor details about this service and the possible values for the raw results, see \"ACH Verification\" and \"Verification Codes\" in the [Electronic Check Services Using the SCMP API](https://apps.cybersource.com/library/documentation/dev_guides/EChecks_SCMP_API/html/).\n" } } }, "electronicVerificationResults": { "type": "object", "properties": { "email": { "type": "string", "maxLength": 1, "description": "Mapped Electronic Verification response code for the customer's email address.\n\nFor details, see `auth_ev_email` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "emailRaw": { "type": "string", "maxLength": 1, "description": "Raw Electronic Verification response code from the processor for the customer's email address." }, "name": { "type": "string", "maxLength": 30, "description": "#### Visa Platform Connect\nMapped Electronic Verification response code for the customer's name.\n\nValid values :\n\n'Y' Yes, the data Matches\n'N' No Match\n'O' Partial Match\n" }, "nameRaw": { "type": "string", "maxLength": 30, "description": "#### Visa Platform Connect\nRaw Electronic Verification response code from the processor for the customer's name.\n\nValid values :\n\n'01' Match\n'50' Partial Match\n'99' No Match\n" }, "phoneNumber": { "type": "string", "maxLength": 1, "description": "Mapped Electronic Verification response code for the customer's phone number.\n\nFor details, see `auth_ev_phone_number` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "phoneNumberRaw": { "type": "string", "maxLength": 1, "description": "Raw Electronic Verification response code from the processor for the customer's phone number." }, "street": { "type": "string", "maxLength": 1, "description": "Mapped Electronic Verification response code for the customer's street address.\n\nFor details, see `auth_ev_street` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "streetRaw": { "type": "string", "maxLength": 1, "description": "Raw Electronic Verification response code from the processor for the customer's street address." }, "postalCode": { "type": "string", "maxLength": 1, "description": "Mapped Electronic Verification response code for the customer's postal code.\n\nFor details, see `auth_ev_postal_code` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "postalCodeRaw": { "type": "string", "maxLength": 1, "description": "Raw Electronic Verification response code from the processor for the customer's postal code." } } }, "systemTraceAuditNumber": { "type": "string", "maxLength": 6, "description": "This field is returned only for **American Express Direct** and **CyberSource through VisaNet**.\nReturned by authorization and incremental authorization services.\n\n#### American Express Direct\n\nSystem trace audit number (STAN). This value identifies the transaction and is useful when investigating a\nchargeback dispute.\n\n#### CyberSource through VisaNet\n\nSystem trace number that must be printed on the customer's receipt.\n" }, "responseCodeSource": { "type": "string", "maxLength": 1, "description": "Used by Visa only and contains the response source/reason code that identifies the source of the response decision.\n" }, "paymentAccountReferenceNumber": { "type": "string", "maxLength": 32, "description": "Visa-generated reference number that identifies a card-present transaction for which you provided one of the\nfollowing:\n\n - Visa primary account number (PAN)\n - Visa-generated token for a PAN\n\nThis reference number serves as a link to the cardholder account and to all transactions for that account.\nThis reply field is returned only for CyberSource through VisaNet.\n\n**Note** On CyberSource through VisaNet, the value for this field corresponds to the following data in the TC 33 capture file:\n- Record: CP01 TCR8\n- Position: 79-110\n- Field: Payment Account Reference\n\nThe TC 33 Capture file contains information about the purchases and refunds that a merchant submits to CyberSource.\nCyberSource through VisaNet creates the TC 33 Capture file at the end of the day and sends it to the merchant's acquirer,\nwho uses this information to facilitate end-of-day clearing processing with payment networks.\n" } } }, "recurringPaymentInformation": { "type": "object", "properties": { "amountType": { "type": "string", "maxLength": 1, "description": "Indicates recurring amount type agreed by the cardholder\nValid Values :\n1- Fixed amount recurring payment\n2- Recurring payment with maximum amount\n" } } }, "pointOfSaleInformation": { "type": "object", "properties": { "terminalId": { "type": "string", "maxLength": 8, "description": "Identifier for the terminal at your retail location. You can define this value yourself, but consult the processor for requirements.\n\n#### CyberSource through VisaNet\nA list of all possible values is stored in your CyberSource account. If terminal ID validation is enabled for\nyour CyberSource account, the value you send for this field is validated against the list each time you include\nthe field in a request. To enable or disable terminal ID validation, contact CyberSource Customer Support.\n\nWhen you do not include this field in a request, CyberSource uses the default value that is defined in your CyberSource account.\n\n#### FDC Nashville Global\nTo have your account configured to support this field, contact CyberSource Customer Support. This value must be a value that FDC Nashville Global issued to you.\n\n#### For Payouts\nThis field is applicable for CyberSource through VisaNet.\n\n#### GPX\nIdentifier for the terminal at your retail location. A list of all possible values is stored in your account.\nIf terminal ID validation is enabled for your account, the value you send for this field is validated against\nthe list each time you include the field in a request. To enable or disable terminal ID validation, contact\ncustomer support.\n\nWhen you do not include this field in a request, the default value that is defined in your account is used.\n\nOptional for authorizations.\n\n#### Used by\n**Authorization**\nOptional for the following processors. When you do not include this field in a request, the default value that is\ndefined in your account is used.\n - American Express Direct\n - Credit Mutuel-CIC\n - FDC Nashville Global\n - SIX\n- Chase Paymentech Solutions: Optional field. If you include this field in your request, you must also include `pointOfSaleInformation.catLevel`.\n- FDMS Nashville: The default value that is defined in your account is used.\n- GPX\n- OmniPay Direct: Optional field.\n\nFor the following processors, this field is not used.\n- GPN\n- JCN Gateway\n- RBS WorldPay Atlanta\n- TSYS Acquiring Solutions\n- Worldpay VAP\n\n#### Card Present reply\nTerminal identifier assigned by the acquirer. This value must be printed on the receipt.\n" }, "entryMode": { "type": "string", "maxLength": 11, "description": "Method of entering payment card information into the POS terminal. Possible values:\n\n - `contact`: Read from direct contact with chip card.\n - `contactless`: Read from a contactless interface using chip data.\n - `keyed`: Manually keyed into POS terminal. This value is not supported on OmniPay Direct.\n - `msd`: Read from a contactless interface using magnetic stripe data (MSD). This value is not supported on OmniPay Direct.\n - `swiped`: Read from credit card magnetic stripe.\n\nThe `contact`, `contactless`, and `msd` values are supported only for EMV transactions.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### Card Present\nCard present information about EMV applies only to credit card processing and PIN debit processing. All other\ncard present information applies only to credit card processing.\n\n#### PIN debit\nRequired for a PIN debit purchase and a PIN debit credit request.\n" }, "terminalCapability": { "type": "integer", "minimum": 1, "maximum": 5, "description": "POS terminal's capability. Possible values:\n\n - `1`: Terminal has a magnetic stripe reader only.\n - `2`: Terminal has a magnetic stripe reader and manual entry capability.\n - `3`: Terminal has manual entry capability only.\n - `4`: Terminal can read chip cards.\n - `5`: Terminal can read contactless chip cards; cannot use contact to read chip cards.\n\nFor an EMV transaction, the value of this field must be `4` or `5`.\n\n#### PIN debit\nRequired for PIN debit purchase and PIN debit credit request.\n\n#### Used by\n**Authorization**\nRequired for the following processors:\n- American Express Direct\n- Chase Paymentech Solutions\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- FDMS Nashville\n- OmniPay Direct\n- SIX\n- Worldpay VAP\n\nOptional for the following processors:\n- CyberSource through VisaNet\n- GPN\n- GPX\n- JCN Gateway\n- RBS WorldPay Atlanta\n- TSYS Acquiring Solutions\n" }, "cardholderVerificationMethodUsed": { "type": "integer", "description": "Method that was used to verify the cardholder's identity. Possible values:\n\n - `0`: No verification\n - `1`: Signature\n - `2`: PIN\n - `3`: Cardholder device CVM\n" }, "emv": { "type": "object", "properties": { "tags": { "type": "string", "maxLength": 1998, "description": "EMV data that is transmitted from the chip card to the issuer, and from the issuer to the chip card. The EMV\ndata is in the tag-length-value format and includes chip card tags, terminal tags, and transaction detail tags.\n\nFor information about the individual tags, see the \"Application Specification\" section in the EMV 4.3 Specifications: http://emvco.com\n\n**Note** Card present information about EMV applies only to credit card processing and PIN debit processing.\nAll other card present information applies only to credit card processing. PIN debit processing is available only\non FDC Nashville Global.\n\n**Important** The following tags contain sensitive information and **must not** be included in this field:\n\n - `56`: Track 1 equivalent data\n - `57`: Track 2 equivalent data\n - `5A`: Application PAN\n - `5F20`: Cardholder name\n - `5F24`: Application expiration date (This sensitivity has been relaxed for Credit Mutuel-CIC, American Express Direct, FDC Nashville Global, First Data Merchant Solutions, and SIX)\n - `99`: Transaction PIN\n - `9F0B`: Cardholder name (extended)\n - `9F1F`: Track 1 discretionary data\n - `9F20`: Track 2 discretionary data\n\nFor captures, this field is required for contact EMV transactions. Otherwise, it is optional.\n\nFor credits, this field is required for contact EMV stand-alone credits and contactless EMV stand-alone credits.\nOtherwise, it is optional.\n\n**Important** For contact EMV captures, contact EMV stand-alone credits, and contactless EMV stand-alone credits,\nyou must include the following tags in this field. For all other types of EMV transactions, the following tags\nare optional.\n\n - `95`: Terminal verification results\n - `9F10`: Issuer application data\n - `9F26`: Application cryptogram\n\n\n#### CyberSource through VisaNet\n- In Japan: 199 bytes\n- In other countries: String (252)\n\nFor Mastercard Transactions, Optionally Tag 9F60 (Authenticated Application Data) and \nTag 96 (Kernel Identifier - Terminal) can be included in the Field.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n\n#### JCN Gateway\nThe following tags must be included:\n- `4F`: Application identifier\n- `84`: Dedicated file name\n\nData length: 199 bytes\n\n#### All other processors:\nString (999)\n\n#### Used by\nAuthorization: Optional\nAuthorization Reversal: Optional\nCredit: Optional\nPIN Debit processing (purchase, credit and reversal): Optional\n" } } } } }, "riskInformation": { "type": "object", "properties": { "profile": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the profile.\n" }, "decision": { "type": "string", "description": "Decision returned by the profile; this field contains one of these values:\n- ACCEPT\n- REJECT\n- REVIEW\n" } } }, "rules": { "type": "array", "items": { "type": "object", "description": "Names of one or more rules that were processed, and the decisions made by the rules.", "properties": { "name": { "type": "string", "maxLength": 255, "description": "Description of the rule as it appears in the Profile Editor." }, "decision": { "type": "string", "maxLength": 255, "description": "Summarizes the result for the rule according to the setting that you chose in the Profile Editor.\nThis field can contain one of the following values:\n- `IGNORE`\n- `REVIEW`\n- `REJECT`\n- `ACCEPT`\n" } } } }, "passiveProfile": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the profile.\n" }, "decision": { "type": "string", "description": "Decision returned by the profile; this field contains one of these values:\n- ACCEPT\n- REJECT\n- REVIEW\n" } } }, "passiveRules": { "type": "array", "items": { "type": "object", "description": "Names of one or more rules that were processed, and the decisions made by the rules.", "properties": { "name": { "type": "string", "maxLength": 255, "description": "Description of the rule as it appears in the Profile Editor." }, "decision": { "type": "string", "maxLength": 255, "description": "Summarizes the result for the rule according to the setting that you chose in the Profile Editor.\nThis field can contain one of the following values:\n- `IGNORE`\n- `REVIEW`\n- `REJECT`\n- `ACCEPT`\n" } } } }, "score": { "type": "object", "properties": { "factorCodes": { "type": "array", "description": "Array of factor codes.", "items": { "type": "string", "description": "Represents a factor code." } }, "result": { "type": "integer", "description": "The description for this field is not available.\n" } } }, "localTime": { "type": "string", "description": "Time that the transaction was submitted in local time. Generated by Cybersource." } } }, "senderInformation": { "type": "object", "properties": { "referenceNumber": { "type": "string", "maxLength": 19, "description": "Reference number generated by you that uniquely identifies the sender." } } }, "tokenInformation": { "type": "object", "properties": { "customer": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Customer token that was created as part of a bundled TOKEN_CREATE action.\n", "minLength": 1, "maxLength": 32 } } }, "paymentInstrument": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Payment Instrument token that was created as part of a bundled TOKEN_CREATE action.\n", "minLength": 1, "maxLength": 32 } } }, "shippingAddress": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Customers Shipping Address token that was created as part of a bundled TOKEN_CREATE action.\n", "minLength": 1, "maxLength": 32 } } }, "instrumentIdentifier": { "type": "object", "properties": { "id": { "type": "string", "description": "Unique identifier for the Instrument Identifier token that was created as part of a bundled TOKEN_CREATE action.\n", "minLength": 12, "maxLength": 32 } } }, "jti": { "type": "string", "description": "TMS Transient Token, 64 hexadecimal id value representing captured payment credentials (including Sensitive Authentication Data, e.g. CVV).\n" }, "transientTokenJwt": { "type": "string", "description": "Flex API Transient Token encoded as JWT (JSON Web Token), e.g. Flex microform or Unified Payment checkout result.\n" } } }, "_links": { "type": "object", "properties": { "self": { "type": "object", "properties": { "href": { "type": "string", "description": "This is the endpoint of the resource that was created by the successful request." }, "method": { "type": "string", "description": "`method` refers to the HTTP method that you can send to the `self` endpoint to retrieve details of the resource." } } }, "relatedTransactions": { "type": "array", "items": { "type": "object", "properties": { "href": { "type": "string", "description": "This is the endpoint of the resource that was created by the successful request." }, "method": { "type": "string", "description": "`method` refers to the HTTP method that you can send to the `self` endpoint to retrieve details of the resource." } } } } } } }, "example": { "id": "5330579740206278601009", "rootId": "5330571038726320201013", "reconciliationId": "53703847LK9LPPXY", "merchantId": "pa_rbsworldpay", "submitTimeUtc": "2018-07-31T17:26:14Z", "status": "PENDING", "applicationInformation": { "status": "PENDING", "reasonCode": "100", "rCode": "1", "rFlag": "SOK", "applications": [ { "name": "ics_bill", "status": "PENDING", "reasonCode": "100", "rCode": "1", "rFlag": "SOK", "reconciliationId": "53703847LK9LPPXY", "rMessage": "Request was processed successfully.", "returnCode": 1260000 } ] }, "buyerInformation": { "merchantCustomerId": "123456", "hashedPassword": "fhjfhj" }, "clientReferenceInformation": { "code": "ECERT001", "applicationVersion": "1.0", "applicationName": "SCMP API", "applicationUser": "ng_paymentech", "partner": { "solutionId": "89012345", "thirdPartyCertificationNumber": "123456789012" }, "comments": "test comment" }, "consumerAuthenticationInformation": { "eciRaw": "02", "cavv": "12345", "xid": "12345678", "transactionId": "00152259513040478521", "strongAuthentication": { "lowValueExemptionIndicator": "1", "riskAnalysisExemptionIndicator": "1", "trustedMerchantExemptionIndicator": "1", "secureCorporatePaymentIndicator": "1", "delegatedAuthenticationExemptionIndicator": "1" } }, "deviceInformation": { "ipAddress": "1.10.10.10", "hostName": "cybs test", "cookiesAccepted": "no" }, "errorInformation": { "reason": "MISSING_FIELD", "message": "abc", "details": [ { "field": "xyz", "reason": "MISSING_FIELD" } ] }, "installmentInformation": { "numberOfInstallments": 0, "identifier": "1234567" }, "fraudMarkingInformation": { "reason": "suspected" }, "healthCareInformation": { "amountDetails": { "amountType": "healthcare-transit", "amount": "100.00" } }, "merchantDefinedInformation": [ { "key": "abc", "value": "xyz" } ], "merchantInformation": { "merchantDescriptor": { "name": "ng_paymentech" } }, "orderInformation": { "billTo": { "firstName": "JAMES", "lastName": "DOUGH", "middleName": "ROY", "nameSuffix": "Mr", "address1": "600 Morgan Falls Road", "address2": "Room 2-2123", "locality": "Atlanta", "administrativeArea": "GA", "postalCode": "30350", "company": "cybersource", "email": "jdough@cybersource.com", "country": "US", "title": "Manager", "phoneNumber": "6509656111" }, "shipTo": { "firstName": "Test", "lastName": "TSS", "address1": "201S.DivisionSt._1", "address2": "Suite500", "locality": "Austin", "administrativeArea": "TX", "postalCode": "78750", "company": "cybs", "country": "US", "phoneNumber": "5120000000" }, "lineItems": [ { "productCode": "code2", "productName": "name2", "productSku": "KKY", "taxAmount": "3.00", "quantity": 2, "unitPrice": "5.00", "fulfillmentType": "abc" } ], "amountDetails": { "totalAmount": "100.00", "currency": "USD", "taxAmount": "5", "authorizedAmount": "100.00", "settlementAmount": "97.50", "settlementCurrency": "USD", "surcharge": "1.11" }, "shippingDetails": { "giftWrap": "none", "shippingMethod": "xyz" }, "invoiceDetails": { "salesSlipNumber": "12345" } }, "paymentInformation": { "paymentType": { "name": "paymentProcessor1234", "type": "Credit", "method": "method name" }, "customer": { "customerId": "123" }, "id": "1C56E3115482033FEA539399130A4BC2", "paymentAccountInformation": { "card": { "suffix": "1111", "prefix": "123", "expirationMonth": "10", "expirationYear": "2017", "startMonth": "11", "startYear": "2011", "issueNumber": "1234", "type": "001", "brandName": "VISA", "currency": "USD", "credentialType": "PAN", "accountEncoderId": "12", "useAs": "overidepaymentmethod" }, "brands": [ { "type": "001", "brandName": "VISA" } ], "features": { "accountFundingSource": "CREDIT", "accountFundingSourceSubType": "Non-reloadable", "cardProduct": "Visa Classic", "messageType": "D", "acceptanceLevel": "0", "cardPlatform": "CONSUMER", "comboCard": "0" }, "network": { "id": "0002" } }, "issuerInformation": { "name": "BC CARD COMPANY, LIMITED", "country": "US", "binLength": "6", "accountPrefix": "123456", "phoneNumber": "6509656111" }, "payoutInformation": { "pushFunds": { "moneyTransferFastFundsCrossBorder": "Y", "moneyTransferFastFundsDomestic": "Y", "moneyTransferCrossBorder": "Y", "moneyTransferDomestic": "Y", "nonMoneyTransferFastFundsCrossBorder": "Y", "nonMoneyTransferFastFundsDomestic": "Y", "nonMoneyTransferCrossBorder": "Y", "nonMoneyTransferDomestic": "Y", "onlineGamblingFastFundsCrossBorder": "N", "onlineGamblingFastFundsDomestic": "N", "onlineGamblingCrossBorder": "N", "onlineGamblingDomestic": "N", "domesticParticipant": "true" }, "pullFunds": { "domesticParticipant": "false", "crossBorderParticipant": "false" }, "geoRestrictionIndicator": "Y" }, "payoutOptions": { "payoutInquiry": "true", "networkId": "0002", "acquirerBin": "123456" }, "invoice": { "number": "BOLETONUM34567890123barcode12345678901231234567890", "barcodeNumber": "barcode1234567890123barcode12345678901231234567890", "expirationDate": "2018-01-07T07:59:59.999Z" }, "bank": { "routingNumber": "routing123", "branchCode": "branchcode1234567", "swiftCode": "bankswift1", "bankCode": "bankcode1212345", "iban": "SUFF", "account": { "suffix": "1111", "prefix": "123456", "checkNumber": "123456", "type": "check", "name": "BankAccountName123456789012345", "checkDigit": "CD", "encoderId": "AID" }, "mandate": { "referenceNumber": "mandaterefnum1234567", "recurringType": "direct1234", "id": "mandateId1" } }, "accountFeatures": { "balanceAmount": "3.00", "previousBalanceAmount": "2.00", "currency": "usd" }, "paymentInstrument": { "id": "1C56E3115482033FEA539399130A4BC2" }, "instrumentIdentifier": { "id": "1C56E3115482033FEA539399130A4BC2" }, "shippingAddress": { "id": "1C56E3115482033FEA539399130A4BC2" }, "fluidData": { "descriptor": "bluefin" } }, "paymentInsightsInformation": { "responseInsights": { "category": "ISSUER_CANNOT_APPROVE_WITH_THESE_DETAILS", "categoryCode": "03", "processorRawName": "processorRawName123" } }, "unscheduledPaymentInformation": { "type": "1" }, "processingInformation": { "binSource": "itmx", "industryDataType": "healthcare_transit", "paymentSolution": "Visa", "commerceIndicator": "7", "commerceIndicatorLabel": "Motto", "businessApplicationId": "12345", "authorizationOptions": { "authType": "O", "authIndicator": "0", "extendAuthIndicator": "1", "cardVerificationIndicator": "0", "initiator": { "type": "Y", "credentialStoredOnFile": "Y", "storedCredentialUsed": "Y", "merchantInitiatedTransaction": { "reason": "1", "previousTransactionId": "networktransactionid67890", "originalAuthorizedAmount": "100.00", "agreementId": "agreementId123" } } }, "bankTransferOptions": { "secCode": "web" }, "captureOptions": { "totalCaptureCount": "2", "captureSequenceNumber": "1" }, "reconciliationId": "abc123", "japanPaymentOptions": { "paymentMethod": "1", "terminalId": "1234567890123", "businessName": "shop_local", "businessNameKatakana": "shop_katakana" } }, "processorInformation": { "processor": { "name": "paymentProcessor1234" }, "multiProcessorRouting": [ { "name": "paymentProcessor0123", "responseCode": "responsecode01234567", "reasonCode": "233", "sequence": "1" }, { "name": "paymentProcessor1234", "responseCode": "responsecode12345678", "reason": "100", "sequence": "2" } ], "transactionId": "processortransactionid123", "networkTransactionId": "networktransactionid67890", "responseId": "1212", "approvalCode": "authcode1234567", "retrievalReferenceNumber": "122908889379", "responseCode": "responsecode12345678", "avs": { "code": "ARM", "codeRaw": "avsResults" }, "cardVerification": { "resultCode": "Y" }, "achVerification": { "resultCode": "rspcodmap", "resultCodeRaw": "responsecode12345678" }, "electronicVerificationResults": { "email": "email@email.com", "emailRaw": "emailRaw12", "name": "ename", "nameRaw": "enameRaw12", "phoneNumber": "01179", "phoneNumberRaw": "9925551608", "street": "123 street", "streetRaw": "SteertRaw12", "postalCode": "78717", "postalCodeRaw": "1166678717" }, "systemTraceAuditNumber": "123456", "responseCodeSource": "0", "paymentAccountReferenceNumber": "abc4545345dfsf2342342wfa" }, "recurringPaymentInformation": { "amountType": "1" }, "pointOfSaleInformation": { "terminalId": "1", "entryMode": "posentrymode1234512", "terminalCapability": "integer", "cardholderVerificationMethodUsed": 2, "emv": { "tags": "5F25" } }, "riskInformation": { "profile": { "name": "abc", "decision": "xyz" }, "rules": [ { "name": "abc2", "decision": "xyz2" } ], "passiveProfile": { "name": "abc3", "decision": "xyz3" }, "passiveRules": [ { "name": "abc4", "decision": "xyz4" } ], "localTime": "2018-07-31T17:26:14Z", "score": { "factorCodes": [ "AB" ], "result": 10 } }, "senderInformation": { "referenceNumber": "senderRefNumber1" }, "tokenInformation": { "customer": { "id": "1C56E3115482033FEA539399130A4BC2" }, "paymentInstrument": { "id": "1C56E3115482033FEA539399130A4BC2" }, "instrumentIdentifier": { "id": "1C56E3115482033FEA539399130A4BC2" }, "shippingAddress": { "id": "1C56E3115482033FEA539399130A4BC2" }, "jti": "1E0WC1GO87JG1BDP0CQ8SCR1TTK86U9N98H3WH8IFM9MVEWTIYFI62F4941E7A92", "transientTokenJwt": "eyJraWQiOiIwODd0bk1DNU04bXJHR3JHMVJQTkwzZ2VyRUh5VWV1ciIsImFsZyI6IlJTMjU2In0.eyJpc3MiOiJGbGV4LzA4IiwiZXhwIjoxNjYwMTk1ODcwLCJ0eXBlIjoiYXBpLTAuMS4wIiwiaWF0IjoxNjYwMTk0OTcwLCJqdGkiOiIxRTBXQzFHTzg3SkcxQkRQMENROFNDUjFUVEs4NlU5Tjk4SDNXSDhJRk05TVZFV1RJWUZJNjJGNDk0MUU3QTkyIiwiY29udGVudCI6eyJwYXltZW50SW5mb3JtYXRpb24iOnsiY2FyZCI6eyJudW1iZXIiOnsibWFza2VkVmFsdWUiOiJYWFhYWFhYWFhYWFgxMTExIiwiYmluIjoiNDExMTExIn0sInR5cGUiOnsidmFsdWUiOiIwMDEifX19fX0.MkCLbyvufN4prGRvHJcqCu1WceDVlgubZVpShNWQVjpuFQUuqwrKg284sC7ucVKuIsOU0DTN8_OoxDLduvZhS7X_5TnO0QjyA_aFxbRBvU_bEz1l9V99VPADG89T-fox_L6sLUaoTJ8T4PyD7rkPHEA0nmXbqQCVqw4Czc5TqlKCwmL-Fe0NBR2HlOFI1PrSXT-7_wI-JTgXI0dQzb8Ub20erHwOLwu3oni4_ZmS3rGI_gxq2MHi8pO-ZOgA597be4WfVFAx1wnMbareqR72a0QM4DefeoltrpNqXSaASVyb5G0zuqg-BOjWJbawmg2QgcZ_vE3rJ6PDgWROvp9Tbw" }, "_links": { "self": { "href": "https://api.visa.com/payment/tss/v2/transactions/5330579740206278601009", "method": "GET" }, "relatedTransactions": [ { "href": "https://api.visa.com/payment/tss/v2/transactions/5330579740206278601010", "method": "GET" }, { "href": "https://api.visa.com/payment/tss/v2/transactions/5330579740206278601011", "method": "GET" } ] } } } }, "404": { "description": "The specified resource not found in the system." }, "500": { "description": "Unexpected server error" } } } }, "/tss/v2/transactions/emvTagDetails": { "get": { "summary": "Retrieve the EMV Dictionary", "description": "Returns the entire EMV tag dictionary", "tags": [ "EMVTagDetails" ], "produces": [ "application/json;charset=utf-8" ], "operationId": "getEmvTags", "x-devcenter-metaData": { "categoryTag": "Transaction_Details", "noAuth": true, "firstLevelApiLifeCycle": "hidden", "secondLevelApiLifeCycle": "hidden", "apiLifeCycle": "hidden" }, "responses": { "200": { "description": "Successful response.", "schema": { "title": "tssV2GetEmvTags200Response", "type": "object", "properties": { "emvTagBreakdownList": { "type": "array", "description": "An array of objects with each object containing a single EMV tag from the dictionary.\n", "items": { "type": "object", "properties": { "tag": { "type": "string", "pattern": "^[0-9A-F]*$", "description": "Hexadecimal code of tag.\n" }, "name": { "type": "string", "maxLength": 70, "description": "Name of tag.\n" } } } } } } }, "404": { "description": "The specified resource not found in the system." }, "500": { "description": "Unexpected server error" } } }, "post": { "summary": "Parse an EMV String", "description": "Pass an EMV Tag-Length-Value (TLV) string for parsing.", "tags": [ "EMVTagDetails" ], "produces": [ "application/hal+json;charset=utf-8" ], "operationId": "parseEmvTags", "x-devcenter-metaData": { "categoryTag": "Transaction_Details", "noAuth": true, "firstLevelApiLifeCycle": "hidden", "secondLevelApiLifeCycle": "hidden", "apiLifeCycle": "hidden" }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "type": "object", "required": [ "requestor", "emvDetailsList" ], "properties": { "requestor": { "type": "string", "description": "Identifies the service requesting parsing\n" }, "parsedTagLimit": { "type": "integer", "description": "Number of tags to parse for each EMV tag string provided.\n" }, "emvDetailsList": { "type": "array", "description": "An array of objects, each containing a requestId and the corresponding emvRequestCombinedTags\n", "items": { "type": "object", "required": [ "requestId", "emvRequestCombinedTags" ], "properties": { "requestId": { "type": "string", "maxLength": 26, "description": "An unique identification number generated by Cybersource to identify the submitted request. Returned by all services.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "emvRequestCombinedTags": { "type": "string", "maxLength": 1998, "description": "EMV data that is transmitted from the chip card to the issuer, and from the issuer to the chip card. The EMV\ndata is in the tag-length-value format and includes chip card tags, terminal tags, and transaction detail tags.\n\nFor information about the individual tags, see the \"Application Specification\" section in the EMV 4.3 Specifications: http://emvco.com\n\n**Note** Card present information about EMV applies only to credit card processing and PIN debit processing.\nAll other card present information applies only to credit card processing. PIN debit processing is available only\non FDC Nashville Global.\n\n**Important** The following tags contain sensitive information and **must not** be included in this field:\n\n - `56`: Track 1 equivalent data\n - `57`: Track 2 equivalent data\n - `5A`: Application PAN\n - `5F20`: Cardholder name\n - `5F24`: Application expiration date (This sensitivity has been relaxed for Credit Mutuel-CIC, American Express Direct, FDC Nashville Global, First Data Merchant Solutions, and SIX)\n - `99`: Transaction PIN\n - `9F0B`: Cardholder name (extended)\n - `9F1F`: Track 1 discretionary data\n - `9F20`: Track 2 discretionary data\n\nFor captures, this field is required for contact EMV transactions. Otherwise, it is optional.\n\nFor credits, this field is required for contact EMV stand-alone credits and contactless EMV stand-alone credits.\nOtherwise, it is optional.\n\n**Important** For contact EMV captures, contact EMV stand-alone credits, and contactless EMV stand-alone credits,\nyou must include the following tags in this field. For all other types of EMV transactions, the following tags\nare optional.\n\n - `95`: Terminal verification results\n - `9F10`: Issuer application data\n - `9F26`: Application cryptogram\n\n\n#### CyberSource through VisaNet\n- In Japan: 199 bytes\n- In other countries: String (252)\n\nFor Mastercard Transactions, Optionally Tag 9F60 (Authenticated Application Data) and \nTag 96 (Kernel Identifier - Terminal) can be included in the Field.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n\n#### JCN Gateway\nThe following tags must be included:\n- `4F`: Application identifier\n- `84`: Dedicated file name\n\nData length: 199 bytes\n\n#### All other processors:\nString (999)\n\n#### Used by\nAuthorization: Optional\nAuthorization Reversal: Optional\nCredit: Optional\nPIN Debit processing (purchase, credit and reversal): Optional\n" } } } } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "title": "tssV2PostEmvTags200Response", "type": "object", "properties": { "parsedEMVTagsList": { "type": "array", "description": "An array of objects (one per object in the passed emvDetailsList), each of which contains a fully parsed EMV string\n", "items": { "type": "object", "properties": { "requestId": { "type": "string", "maxLength": 26, "description": "An unique identification number generated by Cybersource to identify the submitted request. Returned by all services.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "totalTags": { "type": "integer", "description": "Number of tags parsed\n" }, "emvTagBreakdownList": { "type": "array", "description": "An array of objects, where each object contains one parsed tag from the relevant EMV string.\n", "items": { "type": "object", "properties": { "tag": { "type": "string", "pattern": "^[0-9A-F]*$", "description": "Hexadecimal code of tag.\n" }, "name": { "type": "string", "maxLength": 100, "description": "Name of tag.\n" }, "length": { "type": "integer", "description": "Tag length in bytes.\n" }, "value": { "type": "string", "maxLength": 1998, "pattern": "^[0-9A-F|X]*$", "description": "Hexadecimal value contained in the tag, masked data is represented by an 'X'.\n" }, "description": { "type": "string", "maxLength": 400, "description": "Description of tag.\n" } } } } } } } } } }, "404": { "description": "The specified resource not found in the system." }, "500": { "description": "Unexpected server error" } } } }, "/tss/v2/searches": { "post": { "summary": "Create a Search Request", "description": "Create a search request.\n", "tags": [ "SearchTransactions" ], "produces": [ "application/json;charset=utf-8" ], "operationId": "createSearch", "x-devcenter-metaData": { "categoryTag": "Transaction_Search", "developerGuides": "https://developer.cybersource.com/api/developer-guides/dita-txn-search-details-rest-api-dev-guide-102718/txn_search_api.html" }, "parameters": [ { "name": "createSearchRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "save": { "type": "boolean", "description": "Indicates whether or not you want to save this search request for future use. The options are:\n\n* `true`\n* `false` (default value)\n\nIf set to `true`, this field returns\n`searchID` in the response. You can use this value to retrieve the details of the saved search.\n" }, "name": { "type": "string", "description": "Name of this search. When `save` is set to `true`, this search is saved with this name.\n" }, "timezone": { "type": "string", "description": "Merchant's time zone in ISO standard, using the TZ database format. For example: `America/Chicago`\n" }, "query": { "type": "string", "description": "String that contains the filters and variables for which you want to search. For information about supported field-filters and operators, see the [Query Filters]( https://developer.cybersource.com/api/developer-guides/dita-txn-search-details-rest-api-dev-guide-102718/txn-search-intro/txn-filtering.html) section of the Transaction Search Developer Guide.\n" }, "offset": { "type": "integer", "description": "Controls the starting point within the collection of results, which defaults to 0. The first item in the collection is retrieved by setting a zero offset.\n\nFor example, if you have a collection of 15 items to be retrieved from a resource and you specify limit=5, you can retrieve the entire set of results in 3 successive requests by varying the offset value like this:\n\n`offset=0`\n`offset=5`\n`offset=10`\n\n**Note:** If an offset larger than the number of results is provided, this will result in no embedded object being returned.\n" }, "limit": { "type": "integer", "description": "Controls the maximum number of items that may be returned for a single request. The default is 20, the maximum is 2500.\n" }, "sort": { "type": "string", "description": "A comma separated list of the following form:\n\n`submitTimeUtc:desc`\n" } }, "example": { "save": "false", "name": "Search By Code", "timezone": "America/Chicago", "query": "clientReferenceInformation.code:123456 AND submitTimeUtc:[NOW/DAY-7DAYS TO NOW/DAY+1DAY}", "offset": 0, "limit": 100, "sort": "id:asc, submitTimeUtc:asc" } } } ], "responses": { "201": { "description": "Successful response.", "schema": { "type": "object", "title": "tssV2TransactionsPost201Response", "properties": { "searchId": { "type": "string", "maxLength": 60, "description": "An unique identification number assigned by CyberSource to identify each Search request." }, "save": { "type": "boolean", "description": "Indicates whether or not you want to save this search request for future use. The options are:\n\n* `true`\n* `false` (default value)\n\nIf set to `true`, this field returns\n`searchID` in the response. You can use this value to retrieve the details of the saved search.\n" }, "name": { "type": "string", "description": "Name of this search. When `save` is set to `true`, this search is saved with this name.\n" }, "timezone": { "type": "string", "description": "Merchant's time zone in ISO standard, using the TZ database format. For example: `America/Chicago`\n" }, "query": { "type": "string", "description": "String that contains the filters and variables for which you want to search. For information about supported field-filters and operators, see the [Query Filters]( https://developer.cybersource.com/api/developer-guides/dita-txn-search-details-rest-api-dev-guide-102718/txn-search-intro/txn-filtering.html) section of the Transaction Search Developer Guide.\n" }, "offset": { "type": "integer", "description": "Controls the starting point within the collection of results, which defaults to 0. The first item in the collection is retrieved by setting a zero offset.\n\nFor example, if you have a collection of 15 items to be retrieved from a resource and you specify limit=5, you can retrieve the entire set of results in 3 successive requests by varying the offset value like this:\n\n`offset=0`\n`offset=5`\n`offset=10`\n\n**Note:** If an offset larger than the number of results is provided, this will result in no embedded object being returned.\n" }, "limit": { "type": "integer", "description": "Controls the maximum number of items that may be returned for a single request. The default is 20, the maximum is 2500.\n" }, "sort": { "type": "string", "description": "A comma separated list of the following form:\n\n`submitTimeUtc:desc`\n" }, "count": { "type": "integer", "description": "Results for this page, this could be below the limit." }, "totalCount": { "type": "integer", "description": "Total number of results." }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "_embedded": { "type": "object", "properties": { "transactionSummaries": { "type": "array", "description": "transaction search summary", "items": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "An unique identification number generated by Cybersource to identify the submitted request. Returned by all services.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "merchantId": { "type": "string", "description": "Your CyberSource merchant ID." }, "status": { "type": "string", "description": "The status of the submitted transaction.\nNote: This field may not be returned for all transactions.\n" }, "applicationInformation": { "type": "object", "properties": { "reasonCode": { "type": "string", "description": "Indicates the reason why a request succeeded or failed and possible action to take if a request fails.\n\nFor details, see the appendix of reason codes in the documentation for the relevant payment method.\n" }, "rCode": { "type": "string", "description": "Indicates whether the service request was successful.\nPossible values:\n\n- `-1`: An error occurred.\n- `0`: The request was declined.\n- `1`: The request was successful.\n" }, "rFlag": { "type": "string", "description": "One-word description of the result of the application.\n" }, "applications": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the CyberSource transaction type (such as CC settlement or CC authorization) that the merchant wants to process in a transaction request. More than one transaction type can included in a transaction request. Each transaction type separately returns their own status, reasonCode, rCode, and rFlag messages.\n" }, "reasonCode": { "type": "string", "description": "3-digit reason code that indicates why the customer profile payment succeeded or failed." }, "status": { "type": "string", "description": "The status of the submitted transaction.\nNote: This field may not be returned for all transactions.\n" }, "reason": { "type": "string", "description": "Description of why a request failed.\nNote: This field may not be returned for all transactions.\n" }, "rCode": { "type": "string", "description": "Indicates whether the service request was successful.\nPossible values:\n\n- `-1`: An error occurred.\n- `0`: The request was declined.\n- `1`: The request was successful.\n" }, "rFlag": { "type": "string", "description": "One-word description of the result of the application.\n" }, "reconciliationId": { "type": "string", "description": "Reference number that you use to reconcile your CyberSource reports with your processor reports.\n" }, "rMessage": { "type": "string", "description": "Message that explains the reply flag for the application.\n" }, "returnCode": { "type": "integer", "description": "The description for this field is not available." } } } }, "returnCode": { "type": "integer", "description": "The description for this field is not available." } } }, "buyerInformation": { "type": "object", "properties": { "merchantCustomerId": { "type": "string", "maxLength": 100, "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n\nFor processor-specific information, see the `customer_account_id` field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" } } }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "applicationName": { "type": "string", "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" }, "applicationUser": { "type": "string", "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" }, "partner": { "type": "object", "properties": { "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } } } }, "consumerAuthenticationInformation": { "type": "object", "properties": { "xid": { "type": "string", "maxLength": 40, "description": "Transaction identifier.\n\nFor details, see `xid` request field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "transactionId": { "type": "string", "description": "Payer auth Transaction identifier." }, "eciRaw": { "type": "string", "maxLength": 2, "description": "Raw electronic commerce indicator (ECI).\n\nFor details, see `eci_raw` request field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" } } }, "deviceInformation": { "type": "object", "properties": { "ipAddress": { "type": "string", "maxLength": 45, "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" } } }, "errorInformation": { "type": "object", "properties": { "reason": { "type": "string", "description": "Description of why a request failed.\nNote: This field may not be returned for all transactions.\n" } } }, "fraudMarkingInformation": { "type": "object", "properties": { "reason": { "type": "string", "description": "Reason for adding the transaction to the negative list. This field can contain one of the following values:\n- fraud_chargeback: You have received a fraudrelated chargeback for the transaction.\n- non_fraud_chargeback: You have received a non-fraudulent chargeback for the transaction.\n- suspected: You believe that you will probably receive a chargeback for the transaction.\n- creditback: You issued a refund to the customer to avoid a chargeback for the transaction.\n" } } }, "merchantDefinedInformation": { "type": "array", "description": "The object containing the custom data that the merchant defines.\n", "items": { "type": "object", "properties": { "key": { "type": "string", "maxLength": 50, "description": "The number you assign for as the key for your merchant-defined data field. Valid values are 0 to 100.\n\nFor example, to set or access the key for the 2nd merchant-defined data field in the array, you would reference `merchantDefinedInformation[1].key`.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].key` and\n`merchantDefinedInformation[1].key` for data that you want to provide to the issuer to identify the\ntransaction.\n\nFor details, see the `merchant_defined_data1` request-level field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "value": { "type": "string", "maxLength": 255, "description": "The value you assign for your merchant-defined data field.\n\nFor details, see `merchant_defined_data1` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event CyberSource discovers that a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, CyberSource will immediately suspend the merchant's account, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].value` and\n`merchantDefinedInformation[1].value` for data that you want to provide to the issuer to identify the\ntransaction. For details, see \"Installment Payments on CyberSource through VisaNet\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nFor installment payments with Mastercard in Brazil:\n- The value for merchantDefinedInformation[0].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 25-44\n - Field: Reference Field 2\n- The value for merchantDefinedInformation[1].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 45-64\n - Field: Reference Field 3\n" } } } }, "merchantInformation": { "type": "object", "properties": { "resellerId": { "type": "string", "maxLength": 26, "description": "An unique identification number generated by Cybersource to identify the submitted request. Returned by all services.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" } } }, "orderInformation": { "type": "object", "properties": { "billTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called _CyberSource Latin American Processing_. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### RBS WorldPay Atlanta\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\nFor processor-specific information, see the `customer_email` request-level field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### SEPA/BACS\nRequired for Create Mandate and Import Mandate\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n\nIt is recommended that you include the country code when the order is from outside the U.S.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nOptional field.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" } } }, "shipTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "First name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Last name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", "maxLength": 2 }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Phone number associated with the shipping address." } } }, "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. For details, see:\n- \"Authorization Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Capture Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Credit Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\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. For details, see \"Zero Amount Authorizations,\" \"Credit Information for Specific Processors\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\nRequired for creating a new invoice.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. For details, see `grand_total_amount` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in \"Authorization Information for Specific Processors\" of the [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" } } } } }, "paymentInformation": { "type": "object", "properties": { "paymentType": { "type": "object", "properties": { "type": { "type": "string", "description": "Indicates the payment type used in this payment transaction. Example: credit card, check" }, "method": { "type": "string", "description": "Indicates the payment method used in this payment transaction." } } }, "customer": { "type": "object", "properties": { "customerId": { "type": "string", "description": "Unique identifier for the customer's card and billing information.\n\nWhen you use Payment Tokenization or Recurring Billing and you include this value in\nyour request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n\n**NOTE** When you use Payment Tokenization or Recurring Billing, the value for the Customer ID is actually the Cybersource payment token for a customer. This token stores information such as the consumer's card number so it can be applied towards bill payments, recurring payments, or one-time payments. By using this token in a payment API request, the merchant doesn't need to pass in data such as the card number or expiration date in the request itself.\n\nFor details, see the `subscription_id` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" } } }, "card": { "type": "object", "properties": { "suffix": { "type": "string", "description": "Last four digits of the cardholder's account number. This field is included in the reply message when the client software\nthat is installed on the POS terminal uses the token management service (TMS) to retrieve tokenized payment details.\n\nYou must contact customer support to have your account enabled to receive these fields in the credit reply message.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### PIN debit\nThis field is returned only for tokenized transactions. You can use this value on the receipt that you give to the cardholder.\n\nReturned by PIN debit credit and PIN debit purchase.\n\nThis field is supported only by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n" }, "prefix": { "type": "string", "maxLength": 6, "description": "Bank Identification Number (BIN). This is the initial four to six numbers on a credit card account number.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `014`: Enroute[^1]\n- `021`: JAL[^1]\n- `024`: Maestro (UK Domestic)[^1]\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `042`: Maestro (International)[^1]\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `054`: Elo[^3]\n- `062`: China UnionPay\n- '070': EFTPOS\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" } } }, "bank": { "type": "object", "properties": { "account": { "type": "object", "properties": { "suffix": { "type": "string", "description": "Last four digits of the customer's payment account number.\n" }, "prefix": { "type": "string", "description": "Bank Identification Number (BIN). This is the initial four to six numbers on a credit card account number.\n" } } } } } } }, "processingInformation": { "type": "object", "properties": { "paymentSolution": { "type": "string", "maxLength": 12, "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/VCO_SCMP_API/html/)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. For details, see \"Masterpass\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\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" }, "businessApplicationId": { "type": "string", "description": "Payouts transaction type.\nRequired for OCT transactions.\nThis field is a pass-through, which means that CyberSource does not verify the value or\nmodify it in any way before sending it to the processor.\n**Note** When the request includes this field, this value overrides the information in your CyberSource account.\n\nFor valid values, see the `invoiceHeader_businessApplicationID` field description in [Payouts Using the Simple Order API.](http://apps.cybersource.com/library/documentation/dev_guides/payouts_SO/Payouts_SO_API.pdf)\n" }, "commerceIndicator": { "type": "string", "maxLength": 20, "description": "Type of transaction. Some payment card companies use this information when determining discount rates.\n\n#### Used by\n**Authorization**\nRequired payer authentication transactions; otherwise, optional.\n**Credit**\nRequired for standalone credits on Chase Paymentech solutions; otherwise, optional.\n\nThe list of valid values in this field depends on your processor.\nSee Appendix I, \"Commerce Indicators,\" on page 441 of the Cybersource Credit Card Guide.\n\n#### Ingenico ePayments\nWhen you omit this field for Ingenico ePayments, the processor uses the default transaction type they have on file for you\ninstead of the default value (listed in Appendix I, \"Commerce Indicators,\" on page 441.)\n\n#### Payer Authentication Transactions\nFor the possible values and requirements, see \"Payer Authentication,\" page 195.\n\n#### Card Present\nYou must set this field to `retail`. This field is required for a card-present transaction. Note that this should ONLY be\nused when the cardholder and card are present at the time of the transaction.\nFor all keyed transactions originated from a POS terminal where the cardholder and card are not present, commerceIndicator\nshould be submitted as \"moto\"\n" }, "commerceIndicatorLabel": { "type": "string", "maxLength": 20, "description": "Type of transaction. Some payment card companies use this information when determining discount rates.\n\n#### Used by\n**Authorization**\nRequired payer authentication transactions; otherwise, optional.\n**Credit**\nRequired for standalone credits on Chase Paymentech solutions; otherwise, optional.\n\nThe list of valid values in this field depends on your processor.\nSee Appendix I, \"Commerce Indicators,\" on page 441 of the Cybersource Credit Card Guide.\n\n#### Ingenico ePayments\nWhen you omit this field for Ingenico ePayments, the processor uses the default transaction type they have on file for you\ninstead of the default value (listed in Appendix I, \"Commerce Indicators,\" on page 441.)\n\n#### Payer Authentication Transactions\nFor the possible values and requirements, see \"Payer Authentication,\" page 195.\n\n#### Card Present\nYou must set this field to `retail`. This field is required for a card-present transaction. Note that this should ONLY be\nused when the cardholder and card are present at the time of the transaction.\nFor all keyed transactions originated from a POS terminal where the cardholder and card are not present, commerceIndicator\nshould be submitted as \"moto\"\n" } } }, "processorInformation": { "type": "object", "properties": { "processor": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 30, "description": "Name of the Processor.\n" } } }, "approvalCode": { "type": "string", "maxLength": 6, "description": "Authorization code. Returned only when the processor returns this value.\n\nThe length of this value depends on your processor.\n\nReturned by authorization service.\n\n#### PIN debit\nAuthorization code that is returned by the processor.\n\nReturned by PIN debit credit.\n\n#### Elavon Encrypted Account Number Program\nThe returned value is OFFLINE.\n\n#### TSYS Acquiring Solutions\nThe returned value for a successful zero amount authorization is 000000.\n" } } }, "pointOfSaleInformation": { "type": "object", "properties": { "terminalId": { "type": "string", "maxLength": 8, "description": "Identifier for the terminal at your retail location. You can define this value yourself, but consult the processor for requirements.\n\n#### CyberSource through VisaNet\nA list of all possible values is stored in your CyberSource account. If terminal ID validation is enabled for\nyour CyberSource account, the value you send for this field is validated against the list each time you include\nthe field in a request. To enable or disable terminal ID validation, contact CyberSource Customer Support.\n\nWhen you do not include this field in a request, CyberSource uses the default value that is defined in your CyberSource account.\n\n#### FDC Nashville Global\nTo have your account configured to support this field, contact CyberSource Customer Support. This value must be a value that FDC Nashville Global issued to you.\n\n#### For Payouts\nThis field is applicable for CyberSource through VisaNet.\n\n#### GPX\nIdentifier for the terminal at your retail location. A list of all possible values is stored in your account.\nIf terminal ID validation is enabled for your account, the value you send for this field is validated against\nthe list each time you include the field in a request. To enable or disable terminal ID validation, contact\ncustomer support.\n\nWhen you do not include this field in a request, the default value that is defined in your account is used.\n\nOptional for authorizations.\n\n#### Used by\n**Authorization**\nOptional for the following processors. When you do not include this field in a request, the default value that is\ndefined in your account is used.\n - American Express Direct\n - Credit Mutuel-CIC\n - FDC Nashville Global\n - SIX\n- Chase Paymentech Solutions: Optional field. If you include this field in your request, you must also include `pointOfSaleInformation.catLevel`.\n- FDMS Nashville: The default value that is defined in your account is used.\n- GPX\n- OmniPay Direct: Optional field.\n\nFor the following processors, this field is not used.\n- GPN\n- JCN Gateway\n- RBS WorldPay Atlanta\n- TSYS Acquiring Solutions\n- Worldpay VAP\n\n#### Card Present reply\nTerminal identifier assigned by the acquirer. This value must be printed on the receipt.\n" }, "terminalSerialNumber": { "type": "string", "maxLength": 32, "description": "Terminal serial number assigned by the hardware manufacturer. This value is provided by the client software that\nis installed on the POS terminal.\n\nThis value is not forwarded to the processor. Instead, the value is forwarded to the reporting functionality.\n\n#### Used by\n**Authorization and Credit**\nOptional. This field is supported only by client software that is installed on your POS terminals for the\nfollowing processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n" }, "deviceId": { "type": "string", "description": "Value created by the client software that uniquely identifies the POS device.\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to\nthe CyberSource reporting functionality.\n\nThis field is supported only for authorizations and credits on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\nString (32)\n" }, "partner": { "type": "object", "properties": { "originalTransactionId": { "type": "string", "maxLength": 32, "description": "Value that links the previous transaction to the current follow-on request. This value is assigned by the client\nsoftware that is installed on the POS terminal, which makes it available to the terminal's software and to\nCyberSource. Therefore, you can use this value to reconcile transactions between CyberSource and the terminal's\nsoftware.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on American Express Direct, FDC Nashville Global, and SIX.\n" } } }, "emv": { "type": "object", "properties": { "tags": { "type": "string", "maxLength": 1998, "description": "EMV data that is transmitted from the chip card to the issuer, and from the issuer to the chip card. The EMV\ndata is in the tag-length-value format and includes chip card tags, terminal tags, and transaction detail tags.\n\nFor information about the individual tags, see the \"Application Specification\" section in the EMV 4.3 Specifications: http://emvco.com\n\n**Note** Card present information about EMV applies only to credit card processing and PIN debit processing.\nAll other card present information applies only to credit card processing. PIN debit processing is available only\non FDC Nashville Global.\n\n**Important** The following tags contain sensitive information and **must not** be included in this field:\n\n - `56`: Track 1 equivalent data\n - `57`: Track 2 equivalent data\n - `5A`: Application PAN\n - `5F20`: Cardholder name\n - `5F24`: Application expiration date (This sensitivity has been relaxed for Credit Mutuel-CIC, American Express Direct, FDC Nashville Global, First Data Merchant Solutions, and SIX)\n - `99`: Transaction PIN\n - `9F0B`: Cardholder name (extended)\n - `9F1F`: Track 1 discretionary data\n - `9F20`: Track 2 discretionary data\n\nFor captures, this field is required for contact EMV transactions. Otherwise, it is optional.\n\nFor credits, this field is required for contact EMV stand-alone credits and contactless EMV stand-alone credits.\nOtherwise, it is optional.\n\n**Important** For contact EMV captures, contact EMV stand-alone credits, and contactless EMV stand-alone credits,\nyou must include the following tags in this field. For all other types of EMV transactions, the following tags\nare optional.\n\n - `95`: Terminal verification results\n - `9F10`: Issuer application data\n - `9F26`: Application cryptogram\n\n\n#### CyberSource through VisaNet\n- In Japan: 199 bytes\n- In other countries: String (252)\n\nFor Mastercard Transactions, Optionally Tag 9F60 (Authenticated Application Data) and \nTag 96 (Kernel Identifier - Terminal) can be included in the Field.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n\n#### JCN Gateway\nThe following tags must be included:\n- `4F`: Application identifier\n- `84`: Dedicated file name\n\nData length: 199 bytes\n\n#### All other processors:\nString (999)\n\n#### Used by\nAuthorization: Optional\nAuthorization Reversal: Optional\nCredit: Optional\nPIN Debit processing (purchase, credit and reversal): Optional\n" } } } } }, "riskInformation": { "type": "object", "properties": { "providers": { "type": "object", "properties": { "fingerprint": { "type": "object", "properties": { "true_ipaddress": { "type": "string", "maxLength": 255, "description": "Customer's true IP address detected by the application.\n\nFor details, see the `true_ipaddress` field description in _Device Fingerprinting Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Device Fingerprinting Guide_ (PDF link).\n" }, "hash": { "type": "string", "maxLength": 255, "description": "The unique identifier of the device that is returned in the `riskInformation.providers.fingerprint.device_fingerprint_hash` API reply field.\n\nNOTE: For details about the value of this field, see the `decision_provider_#_field_#_value` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n\nFor more details about this field, see the `device_fingerprint_hash` field description in the _Device Fingerprinting Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Device Fingerprinting Guide_ (PDF link).\n" }, "smartId": { "type": "string", "maxLength": 255, "description": "The device identifier generated from attributes collected during profiling. Returned by a 3rd party when you use device fingerprinting.\n\nFor details, see the `device_fingerprint_smart_id` field description in [CyberSource Decision Manager Device Fingerprinting Guide.](https://www.cybersource.com/developers/documentation/fraud_management)\n" } } } } } } }, "_links": { "type": "object", "properties": { "transactionDetail": { "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." } } } } } } } } } }, "_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." } } } } } }, "example": { "searchId": "87e1e4bd-cac2-49b1-919a-4d5e29a2e55d", "save": "false", "name": "Search By Code", "timezone": "America/Chicago", "query": "clientReferenceInformation.code:12345 AND submitTimeUtc:[NOW/DAY-7DAYS TO NOW/DAY+1DAY}", "offset": 0, "limit": 2000, "sort": "id:asc, submitTimeUtc:asc", "count": 22, "totalCount": 22, "submitTimeUtc": "2018-09-18T16:59:28Z", "_embedded": { "transactionSummaries": [ { "id": "5217848115816817001541", "submitTimeUtc": "2018-03-23T06:00:11Z", "merchantId": "sandeep_wf", "status": "TRANSMITTED", "applicationInformation": { "reasonCode": "123", "rCode": "1", "rFlag": "SOK", "returnCode": 1040000, "applications": [ { "name": "ics_service_fee_calculate", "status": "TRANSMITTED", "reason": "MISSING_FIELD", "reasonCode": "123", "rCode": "1", "rFlag": "SOK", "reconciliationId": "55557", "rMessage": "Request was processed successfully", "returnCode": 1040000 } ] }, "buyerInformation": { "merchantCustomerId": "123456" }, "clientReferenceInformation": { "code": "12345", "applicationName": "Service Fee Request", "applicationUser": "sandeep_wf", "partner": { "solutionId": "89012345" } }, "consumerAuthenticationInformation": { "eciRaw": "02", "xid": "12345678", "transactionId": "00152259513040478521" }, "deviceInformation": { "ipAddress": "1.10.10.10" }, "errorInformation": { "reason": "MISSING_FIELD" }, "fraudMarkingInformation": { "reason": "fraud txn" }, "merchantDefinedInformation": [ { "key": "abc", "value": "xyz" } ], "merchantInformation": { "resellerId": "wfbmcp" }, "orderInformation": { "billTo": { "firstName": "Test", "lastName": "TSS", "address1": "201S.DivisionSt._1", "email": "null@cybersource.com", "country": "US", "phoneNumber": "5120000000" }, "shipTo": { "firstName": "Test", "lastName": "TSS", "address1": "201S.DivisionSt._1", "country": "US", "phoneNumber": "5120000000" }, "amountDetails": { "totalAmount": "100.00", "currency": "USD" } }, "paymentInformation": { "paymentType": { "name": "CARD", "method": { "name": "method name" } }, "customer": { "customerId": "12345" }, "card": { "suffix": "1111", "prefix": "123456", "type": "001" }, "bank": { "account": { "suffix": "1111", "prefix": "123456" } } }, "processingInformation": { "commerceIndicator": "7", "paymentSolution": "xyz", "businessApplicationId": "12345" }, "processorInformation": { "processor": { "name": "FirstData" }, "approvalCode": "authcode1234567" }, "pointOfSaleInformation": { "terminalId": "1", "terminalSerialNumber": "123111123", "deviceId": "asfaf12312313", "partner": { "originalTransactionId": "131231414414" }, "emv": { "tags": "5F25" } }, "riskInformation": { "providers": { "fingerprint": { "true_ipaddress": "1.101.102.112", "hash": "tuWmt8Ubw0EAybBF3wrZcEqIcZsLr8YPldTQDUxAg2k=", "smart_id": "23442fdadfa" } } }, "_links": { "transactionDetail": { "href": "https://sl73paysvapq002.visa.com:2031/payment/tss/v2/transactions/5217848115816817001541", "method": "GET" } } } ] }, "_links": { "self": { "href": "https://sl73paysvapq002.visa.com:2031/payment/tss/v2/searches/87e1e4bd-cac2-49b1-919a-4d5e29a2e55d", "method": "GET" } } } } }, "400": { "description": "Invalid request.", "schema": { "type": "object", "title": "tssV2TransactionsPost400Response", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\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" } } } } } } }, "502": { "description": "Unexpected system error or system timeout.", "schema": { "title": "tssV2TransactionsPost502Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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": "Create a search request", "value": { "save": "false", "name": "MRN", "timezone": "America/Chicago", "query": "clientReferenceInformation.code:TC50171_3 AND submitTimeUtc:[NOW/DAY-7DAYS TO NOW/DAY+1DAY}", "offset": 0, "limit": 100, "sort": "id:asc,submitTimeUtc:asc" } } } } }, "/tss/v2/searches/{searchId}": { "get": { "summary": "Get Search Results", "description": "Include the Search ID in the GET request to retrieve the search results.", "tags": [ "SearchTransactions" ], "produces": [ "*/*" ], "operationId": "getSearch", "x-devcenter-metaData": { "categoryTag": "Transaction_Search", "developerGuides": "https://developer.cybersource.com/api/developer-guides/dita-txn-search-details-rest-api-dev-guide-102718/txn_search_api.html" }, "parameters": [ { "name": "searchId", "in": "path", "description": "Search ID.", "required": true, "type": "string" } ], "x-depends": { "example": { "path": "/tss/v2/searches", "verb": "post", "exampleId": "example0" }, "fieldMapping": [ { "sourceField": "searchId", "destinationField": "searchId", "fieldTypeInDestination": "path" } ] }, "responses": { "200": { "description": "Successful response.", "schema": { "type": "object", "title": "tssV2TransactionsPost201Response", "properties": { "searchId": { "type": "string", "maxLength": 60, "description": "An unique identification number assigned by CyberSource to identify each Search request." }, "save": { "type": "boolean", "description": "Indicates whether or not you want to save this search request for future use. The options are:\n\n* `true`\n* `false` (default value)\n\nIf set to `true`, this field returns\n`searchID` in the response. You can use this value to retrieve the details of the saved search.\n" }, "name": { "type": "string", "description": "Name of this search. When `save` is set to `true`, this search is saved with this name.\n" }, "timezone": { "type": "string", "description": "Merchant's time zone in ISO standard, using the TZ database format. For example: `America/Chicago`\n" }, "query": { "type": "string", "description": "String that contains the filters and variables for which you want to search. For information about supported field-filters and operators, see the [Query Filters]( https://developer.cybersource.com/api/developer-guides/dita-txn-search-details-rest-api-dev-guide-102718/txn-search-intro/txn-filtering.html) section of the Transaction Search Developer Guide.\n" }, "offset": { "type": "integer", "description": "Controls the starting point within the collection of results, which defaults to 0. The first item in the collection is retrieved by setting a zero offset.\n\nFor example, if you have a collection of 15 items to be retrieved from a resource and you specify limit=5, you can retrieve the entire set of results in 3 successive requests by varying the offset value like this:\n\n`offset=0`\n`offset=5`\n`offset=10`\n\n**Note:** If an offset larger than the number of results is provided, this will result in no embedded object being returned.\n" }, "limit": { "type": "integer", "description": "Controls the maximum number of items that may be returned for a single request. The default is 20, the maximum is 2500.\n" }, "sort": { "type": "string", "description": "A comma separated list of the following form:\n\n`submitTimeUtc:desc`\n" }, "count": { "type": "integer", "description": "Results for this page, this could be below the limit." }, "totalCount": { "type": "integer", "description": "Total number of results." }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "_embedded": { "type": "object", "properties": { "transactionSummaries": { "type": "array", "description": "transaction search summary", "items": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "An unique identification number generated by Cybersource to identify the submitted request. Returned by all services.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "merchantId": { "type": "string", "description": "Your CyberSource merchant ID." }, "status": { "type": "string", "description": "The status of the submitted transaction.\nNote: This field may not be returned for all transactions.\n" }, "applicationInformation": { "type": "object", "properties": { "reasonCode": { "type": "string", "description": "Indicates the reason why a request succeeded or failed and possible action to take if a request fails.\n\nFor details, see the appendix of reason codes in the documentation for the relevant payment method.\n" }, "rCode": { "type": "string", "description": "Indicates whether the service request was successful.\nPossible values:\n\n- `-1`: An error occurred.\n- `0`: The request was declined.\n- `1`: The request was successful.\n" }, "rFlag": { "type": "string", "description": "One-word description of the result of the application.\n" }, "applications": { "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string", "description": "The name of the CyberSource transaction type (such as CC settlement or CC authorization) that the merchant wants to process in a transaction request. More than one transaction type can included in a transaction request. Each transaction type separately returns their own status, reasonCode, rCode, and rFlag messages.\n" }, "reasonCode": { "type": "string", "description": "3-digit reason code that indicates why the customer profile payment succeeded or failed." }, "status": { "type": "string", "description": "The status of the submitted transaction.\nNote: This field may not be returned for all transactions.\n" }, "reason": { "type": "string", "description": "Description of why a request failed.\nNote: This field may not be returned for all transactions.\n" }, "rCode": { "type": "string", "description": "Indicates whether the service request was successful.\nPossible values:\n\n- `-1`: An error occurred.\n- `0`: The request was declined.\n- `1`: The request was successful.\n" }, "rFlag": { "type": "string", "description": "One-word description of the result of the application.\n" }, "reconciliationId": { "type": "string", "description": "Reference number that you use to reconcile your CyberSource reports with your processor reports.\n" }, "rMessage": { "type": "string", "description": "Message that explains the reply flag for the application.\n" }, "returnCode": { "type": "integer", "description": "The description for this field is not available." } } } }, "returnCode": { "type": "integer", "description": "The description for this field is not available." } } }, "buyerInformation": { "type": "object", "properties": { "merchantCustomerId": { "type": "string", "maxLength": 100, "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n\nFor processor-specific information, see the `customer_account_id` field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" } } }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "applicationName": { "type": "string", "description": "The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.\n" }, "applicationUser": { "type": "string", "description": "The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.\n" }, "partner": { "type": "object", "properties": { "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } } } }, "consumerAuthenticationInformation": { "type": "object", "properties": { "xid": { "type": "string", "maxLength": 40, "description": "Transaction identifier.\n\nFor details, see `xid` request field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "transactionId": { "type": "string", "description": "Payer auth Transaction identifier." }, "eciRaw": { "type": "string", "maxLength": 2, "description": "Raw electronic commerce indicator (ECI).\n\nFor details, see `eci_raw` request field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" } } }, "deviceInformation": { "type": "object", "properties": { "ipAddress": { "type": "string", "maxLength": 45, "description": "IP address of the customer.\n\n#### Used by\n**Authorization, Capture, and Credit**\nOptional field.\n" } } }, "errorInformation": { "type": "object", "properties": { "reason": { "type": "string", "description": "Description of why a request failed.\nNote: This field may not be returned for all transactions.\n" } } }, "fraudMarkingInformation": { "type": "object", "properties": { "reason": { "type": "string", "description": "Reason for adding the transaction to the negative list. This field can contain one of the following values:\n- fraud_chargeback: You have received a fraudrelated chargeback for the transaction.\n- non_fraud_chargeback: You have received a non-fraudulent chargeback for the transaction.\n- suspected: You believe that you will probably receive a chargeback for the transaction.\n- creditback: You issued a refund to the customer to avoid a chargeback for the transaction.\n" } } }, "merchantDefinedInformation": { "type": "array", "description": "The object containing the custom data that the merchant defines.\n", "items": { "type": "object", "properties": { "key": { "type": "string", "maxLength": 50, "description": "The number you assign for as the key for your merchant-defined data field. Valid values are 0 to 100.\n\nFor example, to set or access the key for the 2nd merchant-defined data field in the array, you would reference `merchantDefinedInformation[1].key`.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].key` and\n`merchantDefinedInformation[1].key` for data that you want to provide to the issuer to identify the\ntransaction.\n\nFor details, see the `merchant_defined_data1` request-level field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" }, "value": { "type": "string", "maxLength": 255, "description": "The value you assign for your merchant-defined data field.\n\nFor details, see `merchant_defined_data1` field description in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n**Warning** Merchant-defined data fields are not intended to and must not be used to capture personally identifying information. Accordingly, merchants are prohibited from capturing, obtaining, and/or transmitting any personally identifying information in or via the merchant-defined data fields. Personally identifying information includes, but is not\nlimited to, address, credit card number, social security number, driver's license number, state-issued identification number, passport number, and card verification numbers (CVV,\nCVC2, CVV2, CID, CVN). In the event CyberSource discovers that a merchant is capturing and/or transmitting personally identifying information via the merchant-defined data fields, whether or not intentionally, CyberSource will immediately suspend the merchant's account, which will result in a rejection of any and all transaction requests submitted by the merchant after the point of suspension.\n\n#### CyberSource through VisaNet\nFor installment payments with Mastercard in Brazil, use `merchantDefinedInformation[0].value` and\n`merchantDefinedInformation[1].value` for data that you want to provide to the issuer to identify the\ntransaction. For details, see \"Installment Payments on CyberSource through VisaNet\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nFor details, see \"Installment Payments on CyberSource through VisaNet\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\nFor installment payments with Mastercard in Brazil:\n- The value for merchantDefinedInformation[0].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 25-44\n - Field: Reference Field 2\n- The value for merchantDefinedInformation[1].value corresponds to the following data in the TC 33 capture file5:\n - Record: CP07 TCR5\n - Position: 45-64\n - Field: Reference Field 3\n" } } } }, "merchantInformation": { "type": "object", "properties": { "resellerId": { "type": "string", "maxLength": 26, "description": "An unique identification number generated by Cybersource to identify the submitted request. Returned by all services.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" } } }, "orderInformation": { "type": "object", "properties": { "billTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called _CyberSource Latin American Processing_. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n#### BACS\nRequired for Import Mandate\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource Latin American Processing\n**Important** For an authorization request, CyberSource Latin American Processing concatenates `orderInformation.billTo.firstName` and `orderInformation.billTo.lastName`. If the concatenated value exceeds 30 characters, CyberSource Latin American Processing declines the authorization request.\\\n**Note** CyberSource Latin American Processing is the name of a specific processing connection that CyberSource supports. In the CyberSource API documentation, CyberSource Latin American Processing does not refer to the general topic of processing in Latin America. The information in this field description is for the specific processing connection called CyberSource Latin American Processing. It is not for any other Latin American processors that CyberSource supports.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### RBS WorldPay Atlanta\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\n**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,\nCyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,\nCyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.\nTruncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless\nASCII characters for transmission to the credit card networks.\n\n#### FDMS Nashville\nWhen the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,\nit must be sent as _1 1st Street_.\n\nRequired if keyed; not used if swiped.\n\nString (20)\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional.\nString (60)\n\n#### For Payouts\nThis field may be sent only for FDC Compass.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n" }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\nFor processor-specific information, see the `customer_email` request-level field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "country": { "type": "string", "maxLength": 2, "description": "Payment card billing country. Use the two-character [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n#### SEPA/BACS\nRequired for Create Mandate and Import Mandate\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Customer's phone number.\n\nIt is recommended that you include the country code when the order is from outside the U.S.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nOptional field.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" } } }, "shipTo": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 60, "description": "First name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" }, "lastName": { "type": "string", "maxLength": 60, "description": "Last name of the recipient.\n\n#### Litle\nMaximum length: 25\n\n#### All other processors\nMaximum length: 60\n\nOptional field.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "country": { "type": "string", "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", "maxLength": 2 }, "phoneNumber": { "type": "string", "maxLength": 15, "description": "Phone number associated with the shipping address." } } }, "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. For details, see:\n- \"Authorization Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Capture Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Credit Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\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. For details, see \"Zero Amount Authorizations,\" \"Credit Information for Specific Processors\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\nRequired for creating a new invoice.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. For details, see `grand_total_amount` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in \"Authorization Information for Specific Processors\" of the [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" } } } } }, "paymentInformation": { "type": "object", "properties": { "paymentType": { "type": "object", "properties": { "type": { "type": "string", "description": "Indicates the payment type used in this payment transaction. Example: credit card, check" }, "method": { "type": "string", "description": "Indicates the payment method used in this payment transaction." } } }, "customer": { "type": "object", "properties": { "customerId": { "type": "string", "description": "Unique identifier for the customer's card and billing information.\n\nWhen you use Payment Tokenization or Recurring Billing and you include this value in\nyour request, many of the fields that are normally required for an authorization or credit\nbecome optional.\n\n**NOTE** When you use Payment Tokenization or Recurring Billing, the value for the Customer ID is actually the Cybersource payment token for a customer. This token stores information such as the consumer's card number so it can be applied towards bill payments, recurring payments, or one-time payments. By using this token in a payment API request, the merchant doesn't need to pass in data such as the card number or expiration date in the request itself.\n\nFor details, see the `subscription_id` field description in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n" } } }, "card": { "type": "object", "properties": { "suffix": { "type": "string", "description": "Last four digits of the cardholder's account number. This field is included in the reply message when the client software\nthat is installed on the POS terminal uses the token management service (TMS) to retrieve tokenized payment details.\n\nYou must contact customer support to have your account enabled to receive these fields in the credit reply message.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### PIN debit\nThis field is returned only for tokenized transactions. You can use this value on the receipt that you give to the cardholder.\n\nReturned by PIN debit credit and PIN debit purchase.\n\nThis field is supported only by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n" }, "prefix": { "type": "string", "maxLength": 6, "description": "Bank Identification Number (BIN). This is the initial four to six numbers on a credit card account number.\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n" }, "type": { "type": "string", "description": "Three-digit value that indicates the card type.\n\n**IMPORTANT** It is strongly recommended that you include the card type field in request messages even if it is\noptional for your processor and card type. Omitting the card type can cause the transaction to be processed with the wrong card type.\n\nPossible values:\n- `001`: Visa. For card-present transactions on all processors except SIX, the Visa Electron card type is processed the same way that the Visa debit card is processed. Use card type value `001` for Visa Electron.\n- `002`: Mastercard, Eurocard[^1], which is a European regional brand of Mastercard.\n- `003`: American Express\n- `004`: Discover\n- `005`: Diners Club\n- `006`: Carte Blanche[^1]\n- `007`: JCB[^1]\n- `014`: Enroute[^1]\n- `021`: JAL[^1]\n- `024`: Maestro (UK Domestic)[^1]\n- `031`: Delta[^1]: Use this value only for Ingenico ePayments. For other processors, use `001` for all Visa card types.\n- `033`: Visa Electron[^1]. Use this value only for Ingenico ePayments and SIX. For other processors, use `001` for all Visa card types.\n- `034`: Dankort[^1]\n- `036`: Cartes Bancaires[^1,4]\n- `037`: Carta Si[^1]\n- `039`: Encoded account number[^1]\n- `040`: UATP[^1]\n- `042`: Maestro (International)[^1]\n- `050`: Hipercard[^2,3]\n- `051`: Aura\n- `054`: Elo[^3]\n- `062`: China UnionPay\n- '070': EFTPOS\n\n[^1]: For this card type, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in your request for an authorization or a stand-alone credit.\n[^2]: For this card type on Cielo 3.0, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit. This card type is not supported on Cielo 1.5.\n[^3]: For this card type on Getnet and Rede, you must include the `paymentInformation.card.type` or `paymentInformation.tokenizedCard.type` field in a request for an authorization or a stand-alone credit.\n[^4]: For this card type, you must include the `paymentInformation.card.type` in your request for any payer authentication services.\n\n#### Used by\n**Authorization**\nRequired for Carte Blanche and JCB.\nOptional for all other card types.\n\n#### Card Present reply\nThis field is included in the reply message when the client software that is installed on the POS terminal uses\nthe token management service (TMS) to retrieve tokenized payment details. You must contact customer support to\nhave your account enabled to receive these fields in the credit reply message.\n\nReturned by the Credit service.\n\nThis reply field is only supported by the following processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\n#### Google Pay transactions\nFor PAN-based Google Pay transactions, this field is returned in the API response.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n" } } }, "bank": { "type": "object", "properties": { "account": { "type": "object", "properties": { "suffix": { "type": "string", "description": "Last four digits of the customer's payment account number.\n" }, "prefix": { "type": "string", "description": "Bank Identification Number (BIN). This is the initial four to six numbers on a credit card account number.\n" } } } } } } }, "processingInformation": { "type": "object", "properties": { "paymentSolution": { "type": "string", "maxLength": 12, "description": "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/VCO_SCMP_API/html/)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. For details, see \"Masterpass\" in the [Credit Card Services Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\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" }, "businessApplicationId": { "type": "string", "description": "Payouts transaction type.\nRequired for OCT transactions.\nThis field is a pass-through, which means that CyberSource does not verify the value or\nmodify it in any way before sending it to the processor.\n**Note** When the request includes this field, this value overrides the information in your CyberSource account.\n\nFor valid values, see the `invoiceHeader_businessApplicationID` field description in [Payouts Using the Simple Order API.](http://apps.cybersource.com/library/documentation/dev_guides/payouts_SO/Payouts_SO_API.pdf)\n" }, "commerceIndicator": { "type": "string", "maxLength": 20, "description": "Type of transaction. Some payment card companies use this information when determining discount rates.\n\n#### Used by\n**Authorization**\nRequired payer authentication transactions; otherwise, optional.\n**Credit**\nRequired for standalone credits on Chase Paymentech solutions; otherwise, optional.\n\nThe list of valid values in this field depends on your processor.\nSee Appendix I, \"Commerce Indicators,\" on page 441 of the Cybersource Credit Card Guide.\n\n#### Ingenico ePayments\nWhen you omit this field for Ingenico ePayments, the processor uses the default transaction type they have on file for you\ninstead of the default value (listed in Appendix I, \"Commerce Indicators,\" on page 441.)\n\n#### Payer Authentication Transactions\nFor the possible values and requirements, see \"Payer Authentication,\" page 195.\n\n#### Card Present\nYou must set this field to `retail`. This field is required for a card-present transaction. Note that this should ONLY be\nused when the cardholder and card are present at the time of the transaction.\nFor all keyed transactions originated from a POS terminal where the cardholder and card are not present, commerceIndicator\nshould be submitted as \"moto\"\n" }, "commerceIndicatorLabel": { "type": "string", "maxLength": 20, "description": "Type of transaction. Some payment card companies use this information when determining discount rates.\n\n#### Used by\n**Authorization**\nRequired payer authentication transactions; otherwise, optional.\n**Credit**\nRequired for standalone credits on Chase Paymentech solutions; otherwise, optional.\n\nThe list of valid values in this field depends on your processor.\nSee Appendix I, \"Commerce Indicators,\" on page 441 of the Cybersource Credit Card Guide.\n\n#### Ingenico ePayments\nWhen you omit this field for Ingenico ePayments, the processor uses the default transaction type they have on file for you\ninstead of the default value (listed in Appendix I, \"Commerce Indicators,\" on page 441.)\n\n#### Payer Authentication Transactions\nFor the possible values and requirements, see \"Payer Authentication,\" page 195.\n\n#### Card Present\nYou must set this field to `retail`. This field is required for a card-present transaction. Note that this should ONLY be\nused when the cardholder and card are present at the time of the transaction.\nFor all keyed transactions originated from a POS terminal where the cardholder and card are not present, commerceIndicator\nshould be submitted as \"moto\"\n" } } }, "processorInformation": { "type": "object", "properties": { "processor": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 30, "description": "Name of the Processor.\n" } } }, "approvalCode": { "type": "string", "maxLength": 6, "description": "Authorization code. Returned only when the processor returns this value.\n\nThe length of this value depends on your processor.\n\nReturned by authorization service.\n\n#### PIN debit\nAuthorization code that is returned by the processor.\n\nReturned by PIN debit credit.\n\n#### Elavon Encrypted Account Number Program\nThe returned value is OFFLINE.\n\n#### TSYS Acquiring Solutions\nThe returned value for a successful zero amount authorization is 000000.\n" } } }, "pointOfSaleInformation": { "type": "object", "properties": { "terminalId": { "type": "string", "maxLength": 8, "description": "Identifier for the terminal at your retail location. You can define this value yourself, but consult the processor for requirements.\n\n#### CyberSource through VisaNet\nA list of all possible values is stored in your CyberSource account. If terminal ID validation is enabled for\nyour CyberSource account, the value you send for this field is validated against the list each time you include\nthe field in a request. To enable or disable terminal ID validation, contact CyberSource Customer Support.\n\nWhen you do not include this field in a request, CyberSource uses the default value that is defined in your CyberSource account.\n\n#### FDC Nashville Global\nTo have your account configured to support this field, contact CyberSource Customer Support. This value must be a value that FDC Nashville Global issued to you.\n\n#### For Payouts\nThis field is applicable for CyberSource through VisaNet.\n\n#### GPX\nIdentifier for the terminal at your retail location. A list of all possible values is stored in your account.\nIf terminal ID validation is enabled for your account, the value you send for this field is validated against\nthe list each time you include the field in a request. To enable or disable terminal ID validation, contact\ncustomer support.\n\nWhen you do not include this field in a request, the default value that is defined in your account is used.\n\nOptional for authorizations.\n\n#### Used by\n**Authorization**\nOptional for the following processors. When you do not include this field in a request, the default value that is\ndefined in your account is used.\n - American Express Direct\n - Credit Mutuel-CIC\n - FDC Nashville Global\n - SIX\n- Chase Paymentech Solutions: Optional field. If you include this field in your request, you must also include `pointOfSaleInformation.catLevel`.\n- FDMS Nashville: The default value that is defined in your account is used.\n- GPX\n- OmniPay Direct: Optional field.\n\nFor the following processors, this field is not used.\n- GPN\n- JCN Gateway\n- RBS WorldPay Atlanta\n- TSYS Acquiring Solutions\n- Worldpay VAP\n\n#### Card Present reply\nTerminal identifier assigned by the acquirer. This value must be printed on the receipt.\n" }, "terminalSerialNumber": { "type": "string", "maxLength": 32, "description": "Terminal serial number assigned by the hardware manufacturer. This value is provided by the client software that\nis installed on the POS terminal.\n\nThis value is not forwarded to the processor. Instead, the value is forwarded to the reporting functionality.\n\n#### Used by\n**Authorization and Credit**\nOptional. This field is supported only by client software that is installed on your POS terminals for the\nfollowing processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n" }, "deviceId": { "type": "string", "description": "Value created by the client software that uniquely identifies the POS device.\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to\nthe CyberSource reporting functionality.\n\nThis field is supported only for authorizations and credits on these processors:\n- American Express Direct\n- Credit Mutuel-CIC\n- FDC Nashville Global\n- OmniPay Direct\n- SIX\n\nOptional field.\nString (32)\n" }, "partner": { "type": "object", "properties": { "originalTransactionId": { "type": "string", "maxLength": 32, "description": "Value that links the previous transaction to the current follow-on request. This value is assigned by the client\nsoftware that is installed on the POS terminal, which makes it available to the terminal's software and to\nCyberSource. Therefore, you can use this value to reconcile transactions between CyberSource and the terminal's\nsoftware.\n\nCyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource\nreporting functionality.\n\nThis field is supported only on American Express Direct, FDC Nashville Global, and SIX.\n" } } }, "emv": { "type": "object", "properties": { "tags": { "type": "string", "maxLength": 1998, "description": "EMV data that is transmitted from the chip card to the issuer, and from the issuer to the chip card. The EMV\ndata is in the tag-length-value format and includes chip card tags, terminal tags, and transaction detail tags.\n\nFor information about the individual tags, see the \"Application Specification\" section in the EMV 4.3 Specifications: http://emvco.com\n\n**Note** Card present information about EMV applies only to credit card processing and PIN debit processing.\nAll other card present information applies only to credit card processing. PIN debit processing is available only\non FDC Nashville Global.\n\n**Important** The following tags contain sensitive information and **must not** be included in this field:\n\n - `56`: Track 1 equivalent data\n - `57`: Track 2 equivalent data\n - `5A`: Application PAN\n - `5F20`: Cardholder name\n - `5F24`: Application expiration date (This sensitivity has been relaxed for Credit Mutuel-CIC, American Express Direct, FDC Nashville Global, First Data Merchant Solutions, and SIX)\n - `99`: Transaction PIN\n - `9F0B`: Cardholder name (extended)\n - `9F1F`: Track 1 discretionary data\n - `9F20`: Track 2 discretionary data\n\nFor captures, this field is required for contact EMV transactions. Otherwise, it is optional.\n\nFor credits, this field is required for contact EMV stand-alone credits and contactless EMV stand-alone credits.\nOtherwise, it is optional.\n\n**Important** For contact EMV captures, contact EMV stand-alone credits, and contactless EMV stand-alone credits,\nyou must include the following tags in this field. For all other types of EMV transactions, the following tags\nare optional.\n\n - `95`: Terminal verification results\n - `9F10`: Issuer application data\n - `9F26`: Application cryptogram\n\n\n#### CyberSource through VisaNet\n- In Japan: 199 bytes\n- In other countries: String (252)\n\nFor Mastercard Transactions, Optionally Tag 9F60 (Authenticated Application Data) and \nTag 96 (Kernel Identifier - Terminal) can be included in the Field.\n\n#### GPX\nThis field only supports transactions from the following card types:\n- Visa\n- Mastercard\n- AMEX\n- Discover\n- Diners\n- JCB\n- Union Pay International\n\n#### JCN Gateway\nThe following tags must be included:\n- `4F`: Application identifier\n- `84`: Dedicated file name\n\nData length: 199 bytes\n\n#### All other processors:\nString (999)\n\n#### Used by\nAuthorization: Optional\nAuthorization Reversal: Optional\nCredit: Optional\nPIN Debit processing (purchase, credit and reversal): Optional\n" } } } } }, "riskInformation": { "type": "object", "properties": { "providers": { "type": "object", "properties": { "fingerprint": { "type": "object", "properties": { "true_ipaddress": { "type": "string", "maxLength": 255, "description": "Customer's true IP address detected by the application.\n\nFor details, see the `true_ipaddress` field description in _Device Fingerprinting Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Device Fingerprinting Guide_ (PDF link).\n" }, "hash": { "type": "string", "maxLength": 255, "description": "The unique identifier of the device that is returned in the `riskInformation.providers.fingerprint.device_fingerprint_hash` API reply field.\n\nNOTE: For details about the value of this field, see the `decision_provider_#_field_#_value` field description in the _Decision Manager Using the SCMP API Developer Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Decision Manager Using the SCMP API Developer Guide_ (PDF link).\n\nFor more details about this field, see the `device_fingerprint_hash` field description in the _Device Fingerprinting Guide_ on the [CyberSource Business Center.](https://ebc2.cybersource.com/ebc2/) Click **Decision Manager** > **Documentation** > **Guides** > _Device Fingerprinting Guide_ (PDF link).\n" }, "smartId": { "type": "string", "maxLength": 255, "description": "The device identifier generated from attributes collected during profiling. Returned by a 3rd party when you use device fingerprinting.\n\nFor details, see the `device_fingerprint_smart_id` field description in [CyberSource Decision Manager Device Fingerprinting Guide.](https://www.cybersource.com/developers/documentation/fraud_management)\n" } } } } } } }, "_links": { "type": "object", "properties": { "transactionDetail": { "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." } } } } } } } } } }, "_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." } } } } } }, "example": { "searchId": "87e1e4bd-cac2-49b1-919a-4d5e29a2e55d", "save": "false", "name": "Search By Code", "timezone": "America/Chicago", "query": "clientReferenceInformation.code:12345 AND submitTimeUtc:[NOW/DAY-7DAYS TO NOW/DAY+1DAY}", "offset": 0, "limit": 2000, "sort": "id:asc, submitTimeUtc:asc", "count": 22, "totalCount": 22, "submitTimeUtc": "2018-09-18T16:59:28Z", "_embedded": { "transactionSummaries": [ { "id": "5217848115816817001541", "submitTimeUtc": "2018-03-23T06:00:11Z", "merchantId": "sandeep_wf", "status": "TRANSMITTED", "applicationInformation": { "reasonCode": "123", "rCode": "1", "rFlag": "SOK", "returnCode": 1040000, "applications": [ { "name": "ics_service_fee_calculate", "status": "TRANSMITTED", "reason": "MISSING_FIELD", "reasonCode": "123", "rCode": "1", "rFlag": "SOK", "reconciliationId": "55557", "rMessage": "Request was processed successfully", "returnCode": 1040000 } ] }, "buyerInformation": { "merchantCustomerId": "123456" }, "clientReferenceInformation": { "code": "12345", "applicationName": "Service Fee Request", "applicationUser": "sandeep_wf", "partner": { "solutionId": "89012345" } }, "consumerAuthenticationInformation": { "eciRaw": "02", "xid": "12345678", "transactionId": "00152259513040478521" }, "deviceInformation": { "ipAddress": "1.10.10.10" }, "errorInformation": { "reason": "MISSING_FIELD" }, "fraudMarkingInformation": { "reason": "fraud txn" }, "merchantDefinedInformation": [ { "key": "abc", "value": "xyz" } ], "merchantInformation": { "resellerId": "wfbmcp" }, "orderInformation": { "billTo": { "firstName": "Test", "lastName": "TSS", "address1": "201S.DivisionSt._1", "email": "null@cybersource.com", "country": "US", "phoneNumber": "5120000000" }, "shipTo": { "firstName": "Test", "lastName": "TSS", "address1": "201S.DivisionSt._1", "country": "US", "phoneNumber": "5120000000" }, "amountDetails": { "totalAmount": "100.00", "currency": "USD" } }, "paymentInformation": { "paymentType": { "name": "CARD", "method": { "name": "method name" } }, "customer": { "customerId": "12345" }, "card": { "suffix": "1111", "prefix": "123456", "type": "001" }, "bank": { "account": { "suffix": "1111", "prefix": "123456" } } }, "processingInformation": { "commerceIndicator": "7", "paymentSolution": "xyz", "businessApplicationId": "12345" }, "processorInformation": { "processor": { "name": "FirstData" }, "approvalCode": "authcode1234567" }, "pointOfSaleInformation": { "terminalId": "1", "terminalSerialNumber": "123111123", "deviceId": "asfaf12312313", "partner": { "originalTransactionId": "131231414414" }, "emv": { "tags": "5F25" } }, "riskInformation": { "providers": { "fingerprint": { "true_ipaddress": "1.101.102.112", "hash": "tuWmt8Ubw0EAybBF3wrZcEqIcZsLr8YPldTQDUxAg2k=", "smart_id": "23442fdadfa" } } }, "_links": { "transactionDetail": { "href": "https://sl73paysvapq002.visa.com:2031/payment/tss/v2/transactions/5217848115816817001541", "method": "GET" } } } ] }, "_links": { "self": { "href": "https://sl73paysvapq002.visa.com:2031/payment/tss/v2/searches/87e1e4bd-cac2-49b1-919a-4d5e29a2e55d", "method": "GET" } } } } }, "404": { "description": "The specified resource not found in the system." }, "500": { "description": "Unexpected server error." } } } }, "/reporting/v3/report-downloads": { "get": { "tags": [ "Report Downloads" ], "summary": "Download a Report", "description": "Download a report using the unique report name and date.\n", "operationId": "downloadReport", "x-streaming": true, "x-devcenter-metaData": { "categoryTag": "Reporting", "enableDownload": true, "x-custom-headers": { "accept": [ "text/csv", "application/xml" ] } }, "x-queryParameterDefaults": { "organizationId": "testrest", "reportName": "testrest_subcription_v2989", "reportDate": "2018-09-30" }, "produces": [ "application/xml", "text/csv" ], "parameters": [ { "name": "organizationId", "in": "query", "description": "Valid Organization Id", "pattern": "[a-zA-Z0-9-_]+", "required": false, "type": "string", "minLength": 1, "maxLength": 32 }, { "name": "reportDate", "in": "query", "description": "Valid date on which to download the report in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example date format:**\n yyyy-mm-dd\nFor reports that span multiple days, this value would be the end date of the report in the time zone of the report subscription.\nExample 1: If your report start date is 2020-03-06 and the end date is 2020-03-09, the reportDate passed in the query is 2020-03-09.\nExample 2: If your report runs from midnight to midnight on 2020-03-09, the reportDate passed in the query is 2020-03-10\n", "required": true, "type": "string", "format": "date" }, { "name": "reportName", "in": "query", "description": "Name of the report to download", "type": "string", "required": true } ], "responses": { "200": { "description": "OK" }, "400": { "description": "Invalid Request", "schema": { "title": "reportingv3ReportDownloadsGet400Response", "type": "object", "required": [ "submitTimeUtc", "reason", "message", "details" ], "properties": { "submitTimeUtc": { "type": "string", "format": "date-time", "description": "Time of request in UTC. \n", "example": "2016-08-11T22:47:57Z" }, "reason": { "type": "string", "description": "Documented reason code\n", "example": "INVALID_DATA" }, "message": { "type": "string", "description": "Short descriptive message to the user.\n", "example": "One or more fields contains invalid data" }, "details": { "type": "array", "description": "Error field list\n", "items": { "type": "object", "properties": { "field": { "type": "string", "description": "Field in request that caused an error\n" }, "reason": { "type": "string", "description": "Documented reason code\n" } }, "description": "Provides failed validation input field detail\n" } } }, "description": "HTTP status code for client application" } }, "404": { "description": "No Reports Found" } } } }, "/reporting/v3/reports": { "get": { "tags": [ "Reports" ], "summary": "Retrieve Available Reports", "description": "Retrieve a list of the available reports to which you are subscribed. This will also give you the reportId value, which you can also use to download a report.\n", "operationId": "searchReports", "x-devcenter-metaData": { "categoryTag": "Reporting" }, "x-queryParameterDefaults": { "startTime": "2019-10-01T00:00:00Z", "endTime": "2019-10-30T23:59:59Z", "timeQueryType": "executedTime", "reportMimeType": "application/xml" }, "produces": [ "application/hal+json" ], "parameters": [ { "name": "organizationId", "in": "query", "description": "Valid Organization Id", "pattern": "[a-zA-Z0-9-_]+", "required": false, "type": "string", "minLength": 1, "maxLength": 32 }, { "name": "startTime", "in": "query", "description": "Valid report Start Time in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example date format:**\n - yyyy-MM-dd'T'HH:mm:ss.SSSZ (e.g. 2018-01-01T00:00:00.000Z)\n", "required": true, "type": "string", "format": "date-time" }, { "name": "endTime", "in": "query", "description": "Valid report End Time in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example date format:**\n - yyyy-MM-dd'T'HH:mm:ss.SSSZ (e.g. 2018-01-01T00:00:00.000Z)\n", "required": true, "type": "string", "format": "date-time" }, { "name": "timeQueryType", "in": "query", "description": "Specify time you would like to search\n\nValid values:\n- reportTimeFrame\n- executedTime\n", "required": true, "type": "string" }, { "name": "reportMimeType", "in": "query", "description": "Valid Report Format\n\nValid values:\n- application/xml\n- text/csv\n", "required": false, "type": "string" }, { "name": "reportFrequency", "in": "query", "description": "Valid Report Frequency\n\nValid values:\n- DAILY\n- WEEKLY\n- MONTHLY\n- USER_DEFINED\n- ADHOC\n", "required": false, "type": "string" }, { "name": "reportName", "in": "query", "description": "Valid Report Name", "required": false, "type": "string" }, { "name": "reportDefinitionId", "in": "query", "description": "Valid Report Definition Id", "required": false, "type": "integer", "format": "int32" }, { "name": "reportStatus", "in": "query", "description": "Valid Report Status\n\nValid values:\n- COMPLETED\n- PENDING\n- QUEUED\n- RUNNING\n- ERROR\n- NO_DATA\n", "required": false, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "title": "reportingV3ReportsGet200Response", "type": "object", "properties": { "reportSearchResults": { "type": "array", "items": { "type": "object", "properties": { "_link": { "type": "object", "properties": { "reportDownload": { "type": "object", "properties": { "href": { "type": "string", "example": "/reporting/v3/report-downloads?reportDate=2017-10-02&reportName=MyTransactionRequestDetailReport&reportTime=10:00:00+05:00" }, "method": { "type": "string", "example": "GET" } } } } }, "reportDefinitionId": { "type": "string", "description": "Unique Report Identifier of each report type", "example": "210" }, "reportName": { "type": "string", "description": "Name of the report specified by merchant while creating the report", "example": "MyTransactionRequestDetailReport" }, "reportMimeType": { "type": "string", "example": "application/xml", "description": "Format of the report to get generated\nValid Values:\n- application/xml\n- text/csv\n" }, "reportFrequency": { "type": "string", "example": "DAILY", "description": "Frequency of the report to get generated\nValid Values:\n- DAILY\n- WEEKLY\n- MONTHLY\n- ADHOC\n" }, "status": { "type": "string", "description": "Status of the report\nValid Values:\n- COMPLETED\n- PENDING\n- QUEUED\n- RUNNING\n- ERROR\n- NO_DATA\n" }, "reportStartTime": { "type": "string", "format": "date-time", "example": "2017-10-01T10:00:00+05:00", "description": "Specifies the report start time in ISO 8601 format" }, "reportEndTime": { "type": "string", "format": "date-time", "example": "2017-10-02T10:00:00+05:00", "description": "Specifies the report end time in ISO 8601 format" }, "timezone": { "type": "string", "example": "America/Chicago", "description": "Time Zone" }, "reportId": { "type": "string", "example": "6d9cb5b6-0e97-2d03-e053-7cb8d30af52e", "description": "Unique identifier generated for every reports" }, "organizationId": { "type": "string", "example": "Test_MerchantId", "description": "CyberSource Merchant Id" }, "queuedTime": { "type": "string", "format": "date-time", "example": "2017-10-03T10:00:00+05:00", "description": "Specifies the time of the report in queued in ISO 8601 format" }, "reportGeneratingTime": { "type": "string", "format": "date-time", "example": "2017-10-03T10:00:00+05:00", "description": "Specifies the time of the report started to generate in ISO 8601 format" }, "reportCompletedTime": { "type": "string", "format": "date-time", "example": "2017-10-03T10:10:00+05:00", "description": "Specifies the time of the report completed the generation in ISO 8601 format" }, "subscriptionType": { "type": "string", "example": "CUSTOM", "description": "Specifies whether the subscription created is either Custom, Standard or Classic\n" }, "groupId": { "type": "string", "example": "12345", "description": "Id for selected group." } }, "description": "Report Search Result Bean" } } } } }, "400": { "description": "Invalid Request", "schema": { "title": "reportingV3ReportsGet400Response", "type": "object", "required": [ "submitTimeUtc", "reason", "message", "details" ], "properties": { "submitTimeUtc": { "type": "string", "format": "date-time", "description": "Time of request in UTC. \n", "example": "2016-08-11T22:47:57Z" }, "reason": { "type": "string", "description": "Documented reason code\n", "example": "INVALID_DATA" }, "message": { "type": "string", "description": "Short descriptive message to the user.\n", "example": "One or more fields contains invalid data" }, "details": { "type": "array", "description": "Error field list\n", "items": { "type": "object", "properties": { "field": { "type": "string", "description": "Field in request that caused an error\n" }, "reason": { "type": "string", "description": "Documented reason code\n" } }, "description": "Provides failed validation input field detail\n" } } }, "description": "HTTP status code for client application" } }, "404": { "description": "No Reports Found" } } }, "post": { "tags": [ "Reports" ], "summary": "Create Adhoc Report", "description": "Create a one-time report. You must specify the type of report in reportDefinitionName. For a list of values for reportDefinitionName, see the [Reporting Developer Guide](https://www.cybersource.com/developers/documentation/reporting_and_reconciliation)\n", "operationId": "createReport", "x-devcenter-metaData": { "categoryTag": "Reporting" }, "x-queryParameterDefaults": { "organizationId": "testrest" }, "consumes": [ "application/json" ], "produces": [ "application/hal+json" ], "parameters": [ { "name": "organizationId", "in": "query", "description": "Valid Organization Id", "pattern": "[a-zA-Z0-9-_]+", "required": false, "type": "string", "minLength": 1, "maxLength": 32 }, { "in": "body", "name": "createAdhocReportRequest", "description": "Report subscription request payload", "required": true, "schema": { "type": "object", "properties": { "organizationId": { "type": "string", "description": "Valid CyberSource Organization Id", "pattern": "[a-zA-Z0-9-_]+", "example": "Test_Merchatnt_id" }, "reportDefinitionName": { "type": "string", "minLength": 1, "maxLength": 80, "pattern": "[a-zA-Z0-9-]+", "example": "TransactionRequestClass" }, "reportFields": { "type": "array", "items": { "type": "string" }, "description": "List of fields which needs to get included in a report", "example": [ "Request.RequestID", "Request.TransactionDate", "Request.MerchantID" ] }, "reportMimeType": { "type": "string", "description": "'Format of the report'\n \nValid values:\n- application/xml\n- text/csv\n", "example": "application/xml" }, "reportName": { "type": "string", "minLength": 1, "maxLength": 128, "pattern": "[a-zA-Z0-9-_ ]+", "description": "Name of the report", "example": "My Transaction Request report" }, "timezone": { "type": "string", "description": "Timezone of the report", "example": "America/Chicago" }, "reportStartTime": { "type": "string", "format": "date-time", "description": "Start time of the report", "example": "2017-10-01T10:10:10+05:00" }, "reportEndTime": { "type": "string", "format": "date-time", "description": "End time of the report", "example": "2017-10-02T10:10:10+05:00" }, "reportFilters": { "type": "object", "properties": { "Application.Name": { "type": "array", "items": { "type": "string", "description": "Specifies filter criteria by list of application names separated by comma", "example": "ics_auth" } }, "firstName": { "type": "array", "items": { "type": "string", "description": "Specifies filter criteria by list of first names separated by comma", "example": "Johny" } }, "lastName": { "type": "array", "items": { "type": "string", "description": "Specifies filter criteria by list of last names separated by comma", "example": "Danny" } }, "email": { "type": "array", "items": { "type": "string", "description": "Specifies filter criteria by list of email addresses separated by comma", "example": "example@visa.com" } } } }, "reportPreferences": { "type": "object", "description": "Report Preferences", "properties": { "signedAmounts": { "type": "boolean", "description": "Indicator to determine whether negative sign infront of amount for all refunded transaction" }, "fieldNameConvention": { "type": "string", "description": "Specify the field naming convention to be followed in reports (applicable to only csv report formats)\n\nValid values:\n- SOAPI\n- SCMP\n" } } }, "groupName": { "type": "string", "pattern": "[0-9]*", "description": "Specifies the group name", "example": "myGroup" } } } } ], "responses": { "201": { "description": "Created" }, "304": { "description": "Not Modified" }, "400": { "description": "Invalid request", "schema": { "title": "reportingV3ReportsPost400Response", "type": "object", "required": [ "submitTimeUtc", "reason", "message", "details" ], "properties": { "submitTimeUtc": { "type": "string", "format": "date-time", "description": "Time of request in UTC. \n", "example": "2016-08-11T22:47:57Z" }, "reason": { "type": "string", "description": "Documented reason code\n", "example": "INVALID_DATA" }, "message": { "type": "string", "description": "Short descriptive message to the user.\n", "example": "One or more fields contains invalid data" }, "details": { "type": "array", "description": "Error field list\n", "items": { "type": "object", "properties": { "field": { "type": "string", "description": "Field in request that caused an error\n" }, "reason": { "type": "string", "description": "Documented reason code\n" } }, "description": "Provides failed validation input field detail\n" } } }, "description": "HTTP status code for client application" } } }, "x-example": { "example0": { "summary": "Create Adhoc Report", "value": { "reportDefinitionName": "TransactionRequestClass", "reportFields": [ "Request.RequestID", "Request.TransactionDate", "Request.MerchantID", "AFSFields.IPAddress", "AFSFields.IPCountry", "AFSFields.IPRoutingMethod", "AFSFields.IPState", "Application.Name", "BankInfo.Address", "BankInfo.BranchCode", "BankInfo.City", "BankInfo.Country", "BankInfo.Name", "BankInfo.SwiftCode", "BillTo.Address1", "BillTo.Address2", "BillTo.City", "BillTo.CompanyName", "BillTo.CompanyTaxID", "BillTo.Country", "BillTo.Email", "BillTo.FirstName", "BillTo.LastName", "BillTo.MiddleName", "BillTo.NameSuffix", "BillTo.PersonalID", "BillTo.Phone", "BillTo.State", "BillTo.Title", "BillTo.Zip", "ChargebackAndRetrieval.AdjustmentAmount", "ChargebackAndRetrieval.AdjustmentCurrency", "ChargebackAndRetrieval.ARN", "ChargebackAndRetrieval.CaseIdentifier", "ChargebackAndRetrieval.CaseNumber", "ChargebackAndRetrieval.CaseTime", "ChargebackAndRetrieval.CaseType", "ChargebackAndRetrieval.ChargebackAmount", "ChargebackAndRetrieval.ChargebackCurrency", "ChargebackAndRetrieval.ChargebackMessage", "ChargebackAndRetrieval.ChargebackReasonCode", "ChargebackAndRetrieval.ChargebackReasonCodeDescription", "ChargebackAndRetrieval.ChargebackTime", "ChargebackAndRetrieval.DocumentIndicator", "ChargebackAndRetrieval.FeeAmount", "ChargebackAndRetrieval.FeeCurrency", "ChargebackAndRetrieval.FinancialImpact", "ChargebackAndRetrieval.FinancialImpactType", "ChargebackAndRetrieval.MerchantCategoryCode", "ChargebackAndRetrieval.PartialIndicator", "ChargebackAndRetrieval.ResolutionTime", "ChargebackAndRetrieval.ResolvedToIndicator", "ChargebackAndRetrieval.RespondByDate", "ChargebackAndRetrieval.TransactionType", "Check.AccountEncoderID", "Check.BankTransitNumber", "Check.SecCode", "CustomerFields.BillingAddress1", "CustomerFields.BillingAddress2", "CustomerFields.BillingCity", "CustomerFields.BillingCompanyName", "CustomerFields.BillingCountry", "CustomerFields.BillingEmail", "CustomerFields.BillingFirstName", "CustomerFields.BillingLastName", "CustomerFields.BillingPhone", "CustomerFields.BillingPostalCode", "CustomerFields.BillingState", "CustomerFields.CustomerID", "CustomerFields.CustomerUserName", "CustomerFields.PersonalId(CPF/CNPJ)", "CustomerFields.ShippingAddress1", "CustomerFields.ShippingAddress2", "CustomerFields.ShippingCity", "CustomerFields.ShippingCompanyName", "CustomerFields.ShippingCountry", "CustomerFields.ShippingFirstName", "CustomerFields.ShippingLastName", "CustomerFields.ShippingPhone", "CustomerFields.ShippingPostalCode", "CustomerFields.ShippingState", "DecisionManagerEvents.EventPolicy", "DecisionManagerEvents.TypeofEvent", "Device.DeviceID", "DeviceFingerprintFields.abcd", "DeviceFingerprintFields.BrowserLanguage", "DeviceFingerprintFields.DeviceLatitude", "DeviceFingerprintFields.DeviceLongitude", "DeviceFingerprintFields.displayNameFinalCheck", "DeviceFingerprintFields.DMESignOffFieldEdit", "DeviceFingerprintFields.Fingerprint/DeviceFingerprint", "DeviceFingerprintFields.FlashEnabled", "DeviceFingerprintFields.FlashOperatingSystem", "DeviceFingerprintFields.FlashVersion", "DeviceFingerprintFields.GPSAccuracy", "DeviceFingerprintFields.ImagesEnabled", "DeviceFingerprintFields.Jailbreak/RootPrivileges", "DeviceFingerprintFields.JavaScriptEnabled", "DeviceFingerprintFields.ProfiledURL", "DeviceFingerprintFields.ProxyIPAddress", "DeviceFingerprintFields.ProxyIPAddressActivities", "DeviceFingerprintFields.ProxyServerType", "DeviceFingerprintFields.ScreenResolution", "DeviceFingerprintFields.SignOffFieldDMEEditNewOne", "DeviceFingerprintFields.SmartID", "DeviceFingerprintFields.SmartIDConfidenceLevel", "DeviceFingerprintFields.TimeOnPage", "DeviceFingerprintFields.TrueIPAddress", "DeviceFingerprintFields.TrueIPAddressActivities", "DeviceFingerprintFields.TrueIPAddressAttributes", "DeviceFingerprintFields.txdea1", "DeviceFingerprintFields.txdesv", "EmailageFields.FraudType", "EmailageFields.IP Postal", "EmailageFields.IPCity", "EmailageFields.IPCountry", "EmailageFields.IPRegion", "EmailageFields.SourceIndustry", "Event.Amount", "Event.CurrencyCode", "Event.Event", "Event.EventDate", "Event.ProcessorMessage", "Exception.Action", "Exception.CYBSExceptionID", "Exception.DccLookupStatus", "Exception.ExceptionAmount", "Exception.ExceptionAmountCurrency", "Exception.ExceptionCategory", "Exception.ExceptionDate", "Exception.ExceptionDescription", "Exception.ExceptionDeviceHardwareRevision", "Exception.ExceptionDeviceID", "Exception.ExceptionDeviceOS", "Exception.ExceptionDeviceOSVersion", "Exception.ExceptionDeviceTerminalID", "Exception.ExceptionMessage", "Exception.ExceptionReasonDescription", "Exception.ExceptionStatus", "Exception.ExceptionStatusCode", "Exception.ExceptionType", "Exception.FinancialStatus", "Exception.LastActionDate", "Exception.NextActionDate", "Exception.OriginalTransactionSubmissionDate", "Exception.PaymentNumber", "Exception.ProcessorCaseID", "Exception.ProcessorResponseCode", "Exception.ReasonCode", "Exception.RetryCount", "Fee.AssessmentAmount", "Fee.AssessmentCurrency", "Fee.BillingCycle", "Fee.BillingType", "Fee.ClearedInterchangeLevel", "Fee.DiscountAmount", "Fee.DiscountCurrency", "Fee.DiscountRate", "Fee.DowngradeReasonCode", "Fee.InterchangeAmount", "Fee.InterchangeCurrency", "Fee.InterchangeRate", "Fee.PerItemFeeAmount", "Fee.PerItemFeeCurrency", "Fee.PricedInterchangeLevel", "Fee.ServiceFeeAmount", "Fee.ServiceFeeAmountCcy", "Fee.ServiceFeeFixedAmount", "Fee.ServiceFeeFixedAmountCcy", "Fee.ServiceFeeRate", "Fee.SettlementAmount", "Fee.SettlementCurrency", "Fee.SettlementTime", "Fee.SettlementTimeZone", "Fee.SourceDescriptor", "Fee.TotalFeeAmount", "Fee.TotalFeeCurrency", "Funding.AdjustmentAmount", "Funding.AdjustmentCurrency", "Funding.AdjustmentDescription", "Funding.AdjustmentType", "FundTransfer.BankCheckDigit", "FundTransfer.IbanIndicator", "Invoice.BillingGroupDescription", "Invoice.NotProcessed", "Invoice.OrganizationID", "Invoice.PerformedServices", "Invoice.Processed", "Invoice.ProductCode", "Invoice.ProductDescription", "Invoice.Total", "Invoice.ServiceName", "JP.Amount", "JP.AuthForward", "JP.AuthorizationCode", "JP.CardSuffix", "JP.Currency", "JP.CustomerFirstName", "JP.CustomerLastName", "JP.Date", "JP.Gateway", "JP.JPOInstallmentMethod", "JP.JPOPaymentMethod", "JP.MerchantID", "JP.MerchantReferenceNumber", "JP.PaymentMethod", "JP.RequestID", "JP.SubscriptionID", "JP.Time", "JP.TransactionReferenceNumber", "JP.TransactionType", "LineItems.FulfillmentType", "LineItems.InvoiceNumber", "LineItems.MerchantProductSku", "LineItems.ProductCode", "LineItems.ProductName", "LineItems.Quantity", "LineItems.TaxAmount", "LineItems.UnitPrice", "MarkAsSuspectFields.MarkingDate", "MarkAsSuspectFields.MarkingNotes", "MarkAsSuspectFields.MarkingReason", "MarkAsSuspectFields.MarkingUserName", "Merchant-DefinedDataFields.MerchantDefinedData1", "Merchant-DefinedDataFields.MerchantDefinedData10", "Merchant-DefinedDataFields.MerchantDefinedData100", "Merchant-DefinedDataFields.MerchantDefinedData11", "Merchant-DefinedDataFields.MerchantDefinedData12", "Merchant-DefinedDataFields.MerchantDefinedData13", "Merchant-DefinedDataFields.MerchantDefinedData14", "Merchant-DefinedDataFields.MerchantDefinedData15", "Merchant-DefinedDataFields.MerchantDefinedData16", "Merchant-DefinedDataFields.MerchantDefinedData17", "Merchant-DefinedDataFields.MerchantDefinedData18", "Merchant-DefinedDataFields.MerchantDefinedData19", "Merchant-DefinedDataFields.MerchantDefinedData2", "Merchant-DefinedDataFields.MerchantDefinedData20", "Merchant-DefinedDataFields.MerchantDefinedData21", "Merchant-DefinedDataFields.MerchantDefinedData22", "Merchant-DefinedDataFields.MerchantDefinedData23", "Merchant-DefinedDataFields.MerchantDefinedData24", "Merchant-DefinedDataFields.MerchantDefinedData25", "Merchant-DefinedDataFields.MerchantDefinedData26", "Merchant-DefinedDataFields.MerchantDefinedData27", "Merchant-DefinedDataFields.MerchantDefinedData28", "Merchant-DefinedDataFields.MerchantDefinedData29", "Merchant-DefinedDataFields.MerchantDefinedData3", "Merchant-DefinedDataFields.MerchantDefinedData30", "Merchant-DefinedDataFields.MerchantDefinedData31", "Merchant-DefinedDataFields.MerchantDefinedData32", "Merchant-DefinedDataFields.MerchantDefinedData34", "Merchant-DefinedDataFields.MerchantDefinedData35", "Merchant-DefinedDataFields.MerchantDefinedData36", "Merchant-DefinedDataFields.MerchantDefinedData37", "Merchant-DefinedDataFields.MerchantDefinedData39", "Merchant-DefinedDataFields.MerchantDefinedData4", "Merchant-DefinedDataFields.MerchantDefinedData40", "Merchant-DefinedDataFields.MerchantDefinedData41", "Merchant-DefinedDataFields.MerchantDefinedData43", "Merchant-DefinedDataFields.MerchantDefinedData44", "Merchant-DefinedDataFields.MerchantDefinedData45", "Merchant-DefinedDataFields.MerchantDefinedData46", "Merchant-DefinedDataFields.MerchantDefinedData48", "Merchant-DefinedDataFields.MerchantDefinedData49", "Merchant-DefinedDataFields.MerchantDefinedData5", "Merchant-DefinedDataFields.MerchantDefinedData50", "Merchant-DefinedDataFields.MerchantDefinedData52", "Merchant-DefinedDataFields.MerchantDefinedData53", "Merchant-DefinedDataFields.MerchantDefinedData54", "Merchant-DefinedDataFields.MerchantDefinedData56", "Merchant-DefinedDataFields.MerchantDefinedData57", "Merchant-DefinedDataFields.MerchantDefinedData58", "Merchant-DefinedDataFields.MerchantDefinedData59", "Merchant-DefinedDataFields.MerchantDefinedData6", "Merchant-DefinedDataFields.MerchantDefinedData61", "Merchant-DefinedDataFields.MerchantDefinedData62", "Merchant-DefinedDataFields.MerchantDefinedData63", "Merchant-DefinedDataFields.MerchantDefinedData65", "Merchant-DefinedDataFields.MerchantDefinedData66", "Merchant-DefinedDataFields.MerchantDefinedData67", "Merchant-DefinedDataFields.MerchantDefinedData68", "Merchant-DefinedDataFields.MerchantDefinedData7", "Merchant-DefinedDataFields.MerchantDefinedData70", "Merchant-DefinedDataFields.MerchantDefinedData71", "Merchant-DefinedDataFields.MerchantDefinedData72", "Merchant-DefinedDataFields.MerchantDefinedData73", "Merchant-DefinedDataFields.MerchantDefinedData74", "Merchant-DefinedDataFields.MerchantDefinedData75", "Merchant-DefinedDataFields.MerchantDefinedData76", "Merchant-DefinedDataFields.MerchantDefinedData77", "Merchant-DefinedDataFields.MerchantDefinedData78", "Merchant-DefinedDataFields.MerchantDefinedData79", "Merchant-DefinedDataFields.MerchantDefinedData8", "Merchant-DefinedDataFields.MerchantDefinedData80", "Merchant-DefinedDataFields.MerchantDefinedData81", "Merchant-DefinedDataFields.MerchantDefinedData82", "Merchant-DefinedDataFields.MerchantDefinedData83", "Merchant-DefinedDataFields.MerchantDefinedData84", "Merchant-DefinedDataFields.MerchantDefinedData85", "Merchant-DefinedDataFields.MerchantDefinedData86", "Merchant-DefinedDataFields.MerchantDefinedData87", "Merchant-DefinedDataFields.MerchantDefinedData88", "Merchant-DefinedDataFields.MerchantDefinedData89", "Merchant-DefinedDataFields.MerchantDefinedData9", "Merchant-DefinedDataFields.MerchantDefinedData90", "Merchant-DefinedDataFields.MerchantDefinedData91", "Merchant-DefinedDataFields.MerchantDefinedData92", "Merchant-DefinedDataFields.MerchantDefinedData93", "Merchant-DefinedDataFields.MerchantDefinedData94", "Merchant-DefinedDataFields.MerchantDefinedData95", "Merchant-DefinedDataFields.MerchantDefinedData96", "Merchant-DefinedDataFields.MerchantDefinedData97", "Merchant-DefinedDataFields.MerchantDefinedData98", "Merchant-DefinedDataFields.MerchantDefinedData99", "OctSummary.AccountId", "OctSummary.ResellerId", "OctSummary.SettlementAmountCurrency", "OctSummary.SettlementDate", "OctSummary.TransactionAmountCurrency", "OrderFields.ConnectionMethod", "OrderFields.MerchantID", "OrderFields.MerchantReferenceNumber", "OrderFields.ReasonCode", "OrderFields.ReplyCode", "OrderFields.ReplyFlag", "OrderFields.ReplyMessage", "OrderFields.RequestID", "OrderFields.ShippingMethod", "OrderFields.TransactionDate", "PayerAuth.RequestID", "PayerAuth.TransactionType", "PaymentData.ACHVerificationResult", "PaymentData.ACHVerificationResultMapped", "PaymentData.AcquirerMerchantID", "PaymentData.AuthIndicator", "PaymentData.AuthorizationCode", "PaymentData.AuthorizationType", "PaymentData.AuthReversalAmount", "PaymentData.AuthReversalResult", "PaymentData.AVSResult", "PaymentData.AVSResultMapped", "PaymentData.BalanceAmount", "PaymentData.BalanceCurrencyCode", "PaymentData.BinNumber", "PaymentData.CardCategory", "PaymentData.CardCategoryCode", "PaymentData.CardPresent", "PaymentData.CurrencyCode", "PaymentData.CVResult", "PaymentData.DCCIndicator", "PaymentData.EMVRequestFallBack", "PaymentData.EVEmail", "PaymentData.EVEmailRaw", "PaymentData.EVName", "PaymentData.EVNameRaw", "PaymentData.EVPhoneNumber", "PaymentData.EVPhoneNumberRaw", "PaymentData.EVPostalCode", "PaymentData.EVPostalCodeRaw", "PaymentData.EVStreet", "PaymentData.EVStreetRaw", "PaymentData.ExchangeRate", "PaymentData.ExchangeRateDate", "PaymentData.MandateReferenceNumber", "PaymentData.NetworkCode", "PaymentData.NetworkTransactionID", "PaymentData.NumberOfInstallments", "PaymentData.OriginalAmount", "PaymentData.OriginalCurrency", "PaymentData.PaymentProductCode", "PaymentData.PaymentProcessor", "PaymentData.POSEntryMode", "PaymentData.ProcessorMID", "PaymentData.ProcessorResponseCode", "PaymentData.ProcessorResponseID", "PaymentData.ProcessorTID", "PaymentData.ProcessorTransactionID", "PaymentData.RequestedAmount", "PaymentData.RequestedAmountCurrencyCode", "PaymentData.SubMerchantCity", "PaymentData.SubMerchantCountry", "PaymentData.SubMerchantEmail", "PaymentData.SubMerchantID", "PaymentData.SubMerchantName", "PaymentData.SubMerchantPhone", "PaymentData.SubMerchantPostalCode", "PaymentData.SubMerchantState", "PaymentData.SubMerchantStreet", "PaymentData.TargetAmount", "PaymentData.TargetCurrency", "PaymentFields.AccountSuffix", "PaymentFields.CardBIN", "PaymentFields.CardBINCountry", "PaymentFields.CardIssuer", "PaymentFields.CardScheme", "PaymentFields.CardType", "PaymentFields.CardVerificationResult", "PaymentMethod.AccountSuffix", "PaymentMethod.AdditionalCardType", "PaymentMethod.BankAccountName", "PaymentMethod.BankCode", "PaymentMethod.BoletoBarCodeNumber", "PaymentMethod.BoletoNumber", "PaymentMethod.CardType", "PaymentMethod.CheckNumber", "PaymentMethod.ExpirationMonth", "PaymentMethod.ExpirationYear", "PaymentMethod.IssueNumber", "PaymentMethod.MandateId", "PaymentMethod.StartMonth", "PaymentMethod.StartYear", "PaymentMethod.WalletType", "POSTerminalExceptions.AccountSuffix", "POSTerminalExceptions.CurrencyCode", "POSTerminalExceptions.ExpirationMO", "POSTerminalExceptions.ExpirationYR", "POSTerminalExceptions.LastName", "POSTerminalExceptions.MerchantID", "Recipient.RecipientBillingAmount", "Recipient.RecipientBillingCurrency", "Recipient.ReferenceNumber", "Request.PartnerOriginalTransactionID", "Sender.Address", "Sender.City", "Sender.Country", "Sender.DOB", "Sender.FirstName", "Sender.LastName", "Sender.MiddleInitial", "Sender.PhoneNumber", "Sender.PostalCode", "Sender.SenderReferenceNumber", "Sender.SourceOfFunds", "Sender.State", "ShipTo.CompanyName", "Subscriptions.Applications", "Subscriptions.AuthAVSResults", "Subscriptions.AuthCardVerificationResult", "Subscriptions.AuthCode", "Subscriptions.AuthRCode", "Subscriptions.AuthResponseCode", "Subscriptions.AuthType", "Subscriptions.BillToAddress1", "Subscriptions.BillToAddress2", "Subscriptions.BillToCity", "Subscriptions.BillToCompanyName", "Subscriptions.BillToCountry", "Subscriptions.BillToEmail", "Subscriptions.BillToFirstName", "Subscriptions.BillToLastName", "Subscriptions.BillToState", "Subscriptions.BillToZip", "Subscriptions.CardType", "Subscriptions.Comments", "Subscriptions.ConsumerPhone", "Subscriptions.CurrencyCode", "Subscriptions.CustomerCCAccountSuffix", "Subscriptions.CustomerCCExpiryMonth", "Subscriptions.CustomerCCExpiryYear", "Subscriptions.CustomerCCIssueNo", "Subscriptions.CustomerCCRoutingNumber", "Subscriptions.CustomerCCStartMonth", "Subscriptions.CustomerCCStartYear", "Subscriptions.CustomerCCSubTypeDescription", "Subscriptions.EcommerceIndicator", "Subscriptions.IPAddress", "Subscriptions.MerchantDefinedData1", "Subscriptions.MerchantDefinedData2", "Subscriptions.MerchantDefinedData3", "Subscriptions.MerchantDefinedData4", "Subscriptions.MerchantRefNo", "Subscriptions.MerchantSecureData1", "Subscriptions.MerchantSecureData2", "Subscriptions.MerchantSecureData3", "Subscriptions.MerchantSecureData4", "Subscriptions.PaymentProcessor", "Subscriptions.PaymentsSuccess", "Subscriptions.RCode", "Subscriptions.ReasonCode", "Subscriptions.RequestID", "Subscriptions.RequestToken", "Subscriptions.RFlag", "Subscriptions.RMsg", "Subscriptions.ShipToAddress1", "Subscriptions.ShipToAddress2", "Subscriptions.ShipToCity", "Subscriptions.ShipToCompanyName", "Subscriptions.ShipToCountry", "Subscriptions.ShipToFirstName", "Subscriptions.ShipToLastName", "Subscriptions.ShipToState", "Subscriptions.ShipToZip", "Subscriptions.SubscriptionID", "Subscriptions.TaxAmount", "Subscriptions.TransactionDate", "Subscriptions.TransRefNo", "TaxCalculation.Status", "Token.NetworkTokenTransType", "Token.TokenCode", "TransactionDetails.MerchantId", "TransactionDetails.PaymentMethodDesc", "TransactionDetails.PaymentMethodType", "TransactionDetails.RequestId", "TravelFields.DepartureTime", "VelocityMorphing.FieldName", "VelocityMorphing.InfoCode", "WhitepagesProFields.EmailDomainCreationDate" ], "reportMimeType": "application/xml", "reportName": "testrest_v2", "timezone": "GMT", "reportStartTime": "2020-03-01T12:00:00Z", "reportEndTime": "2020-03-02T12:00:00Z", "reportPreferences": { "signedAmounts": "true", "fieldNameConvention": "SOAPI" } } } } } }, "/reporting/v3/reports/{reportId}": { "get": { "tags": [ "Reports" ], "summary": "Get Report Based on Report Id", "description": "Download a report using the reportId value. If you don't already know this value, you can obtain it using the Retrieve available reports call.\n", "operationId": "getReportByReportId", "x-devcenter-metaData": { "categoryTag": "Reporting", "enableDownload": true, "x-custom-headers": { "accept": [ "application/hal+json", "application/xml" ] } }, "x-queryParameterDefaults": { "organizationId": "testrest" }, "x-depends": { "example": { "path": "/reporting/v3/reports", "verb": "get", "exampleId": "Retrieve available reports" }, "fieldMapping": [ { "sourceField": "reportSearchResults[0].reportId", "destinationField": "reportId", "fieldTypeInDestination": "path" } ] }, "produces": [ "application/hal+json", "application/xml" ], "parameters": [ { "name": "reportId", "in": "path", "description": "Valid Report Id", "required": true, "type": "string" }, { "name": "organizationId", "in": "query", "description": "Valid Organization Id", "pattern": "[a-zA-Z0-9-_]+", "required": false, "type": "string", "minLength": 1, "maxLength": 32 } ], "responses": { "200": { "description": "OK", "schema": { "title": "reportingV3ReportsIdGet200Response", "type": "object", "properties": { "organizationId": { "type": "string", "description": "CyberSource merchant id", "example": "myMerchantId" }, "reportId": { "type": "string", "description": "Report ID Value", "example": "6da01922-bb8e-a1fb-e053-7cb8d30ade29" }, "reportDefinitionId": { "type": "string", "description": "Report definition Id", "example": "210" }, "reportName": { "type": "string", "description": "Report Name", "example": "My Transaction Request report" }, "reportMimeType": { "type": "string", "example": "application/xml", "description": "Report Format\n\nValid values:\n- application/xml\n- text/csv\n" }, "reportFrequency": { "type": "string", "example": "DAILY", "description": "Report Frequency Value\n\nValid values:\n- DAILY\n- WEEKLY\n- MONTHLY\n- ADHOC\n" }, "reportFields": { "type": "array", "description": "List of Integer Values", "items": { "type": "string" }, "example": [ "Request.RequestID", "Request.TransactionDate", "Request.MerchantID" ] }, "reportStatus": { "type": "string", "description": "Report Status Value\n\nValid values:\n- COMPLETED\n- PENDING\n- QUEUED\n- RUNNING\n- ERROR\n- NO_DATA\n- RERUN\n" }, "reportStartTime": { "type": "string", "format": "date-time", "example": "2017-10-01T10:10:10+05:00", "description": "Report Start Time Value" }, "reportEndTime": { "type": "string", "format": "date-time", "example": "2017-10-02T10:10:10+05:00", "description": "Report End Time Value" }, "timezone": { "type": "string", "description": "Time Zone Value", "example": "America/Chicago" }, "reportFilters": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "string" } }, "description": "List of filters to apply", "example": { "Application.Name": [ "ics_auth", "ics_bill" ] } }, "reportPreferences": { "description": "Report Preferences", "type": "object", "properties": { "signedAmounts": { "type": "boolean", "description": "Indicator to determine whether negative sign infront of amount for all refunded transaction" }, "fieldNameConvention": { "type": "string", "description": "Specify the field naming convention to be followed in reports (applicable to only csv report formats)\n\nValid values:\n- SOAPI\n- SCMP\n" } } }, "groupId": { "type": "string", "description": "Id for selected group.", "example": "12345" } }, "description": "Report Log" } }, "400": { "description": "Invalid Request", "schema": { "title": "reportingV3ReportsIdPost400Response", "type": "object", "required": [ "submitTimeUtc", "reason", "message", "details" ], "properties": { "submitTimeUtc": { "type": "string", "format": "date-time", "description": "Time of request in UTC. \n", "example": "2016-08-11T22:47:57Z" }, "reason": { "type": "string", "description": "Documented reason code\n", "example": "INVALID_DATA" }, "message": { "type": "string", "description": "Short descriptive message to the user.\n", "example": "One or more fields contains invalid data" }, "details": { "type": "array", "description": "Error field list\n", "items": { "type": "object", "properties": { "field": { "type": "string", "description": "Field in request that caused an error\n" }, "reason": { "type": "string", "description": "Documented reason code\n" } }, "description": "Provides failed validation input field detail\n" } } }, "description": "HTTP status code for client application" } }, "404": { "description": "No Reports Found" } } } }, "/reporting/v3/report-definitions/{reportDefinitionName}": { "get": { "tags": [ "Report Definitions" ], "summary": "Get Report Definition", "description": "View the attributes of an individual report type. For a list of values for reportDefinitionName, see the [Reporting Developer Guide](https://www.cybersource.com/developers/documentation/reporting_and_reconciliation/)\n", "operationId": "getResourceInfoByReportDefinition", "x-devcenter-metaData": { "categoryTag": "Reporting" }, "x-queryParameterDefaults": { "organizationId": "testrest" }, "produces": [ "application/hal+json" ], "parameters": [ { "name": "reportDefinitionName", "in": "path", "description": "Name of the Report definition to retrieve", "required": true, "type": "string" }, { "name": "subscriptionType", "in": "query", "description": "The subscription type for which report definition is required. By default the type will be CUSTOM.\nValid Values:\n- CLASSIC\n- CUSTOM\n- STANDARD\n", "required": false, "type": "string" }, { "name": "reportMimeType", "in": "query", "description": "The format for which the report definition is required. By default the value will be CSV.\nValid Values:\n- application/xml\n- text/csv\n", "required": false, "type": "string" }, { "name": "organizationId", "in": "query", "description": "Valid Organization Id", "pattern": "[a-zA-Z0-9-_]+", "required": false, "type": "string", "minLength": 1, "maxLength": 32 } ], "responses": { "200": { "description": "Ok", "schema": { "title": "reportingV3ReportDefinitionsNameGet200Response", "type": "object", "properties": { "type": { "type": "string" }, "reportDefinitionId": { "type": "integer", "format": "int32" }, "reportDefintionName": { "type": "string" }, "attributes": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "description": { "type": "string" }, "filterType": { "type": "string", "description": "Attribute Filter Type.", "example": "MULTI" }, "default": { "type": "boolean" }, "required": { "type": "boolean" }, "supportedType": { "type": "string", "description": "Valid values for the filter.", "example": [ "ics_score", "ics_ap_auth", "ics_ap_auth_reversal", "ics_ap_billing_agreement", "ics_ap_cancel", "ics_ap_capture", "ics_ap_initiate", "ics_ap_options", "ics_ap_order", "ics_ap_refund", "ics_ap_sale", "ics_ap_sessions", "ics_ap_check_status", "ics_auto_auth_reversal", "ics_bank_transfer", "ics_bank_transfer_real_time", "ics_bank_transfer_refund", "ics_bin_lookup", "ics_boleto_payment", "ics_cm_action", "ics_china_payment", "ics_china_refund", "ics_auth", "ics_auto_full_auth_reversal", "ics_auth_refresh", "ics_auth_reversal", "ics_credit", "ics_bill", "ics_risk_update", "ics_dcc", "ics_dcc_update", "ics_decision", "ics_dm_event", "ics_direct_debit", "ics_direct_debit_mandate", "ics_direct_debit_refund", "ics_direct_debit_validate", "ics_ecp_authenticate", "ics_ecp_credit", "ics_ecp_debit", "ics_get_masterpass_data", "ics_get_visa_checkout_data", "ics_create_isv", "ics_get_isv_history", "ics_add_value_to_isv", "ics_get_isv_info", "ics_modify_isv", "ics_get_isv_profiles", "ics_redeem_isv", "ics_ifs_setup", "ics_ifs_update", "ics_ipgeo", "ics_oct", "ics_pa_enroll", "ics_pa_validate", "paypal_mip_agreement_ipn", "ics_paypal_button_create", "ics_paypal_credit", "ics_paypal_authorization", "ics_paypal_create_agreement", "ics_paypal_update_agreement", "ics_paypal_ec_order_setup", "ics_paypal_auth_reversal", "ics_paypal_ec_do_payment", "ics_paypal_do_ref_transaction", "ics_paypal_refund", "ics_paypal_do_capture", "paypal_ipn", "ics_paypal_preapproved_payment", "ics_pinless_debit", "ics_pinless_debit_validate", "ics_pinless_debit_reversal", "ics_export", "ics_service_fee_auth", "ics_service_fee_auth_reversal", "ics_service_fee_bill", "ics_service_fee_credit", "ics_service_fee_ecp_credit", "ics_service_fee_ecp_debit", "ics_pay_subscription_create", "ics_pay_subscription_create_dup", "ics_pay_subscription_delete", "ics_pay_subscription_update", "ics_dav", "ics_download", "ics_tax", "ics_timeout_auth_reversal", "ics_timeout_oct_reversal", "ics_void", "ics_pin_debit_purchase", "ics_pin_debit_credit", "ics_pin_debit_reversal", "ics_timeout_pin_debit_reversal", "ics_gift_card_activation", "ics_gift_card_balance_inquiry", "ics_gift_card_redemption", "ics_gift_card_refund", "ics_gift_card_reload", "ics_gift_card_void", "ics_gift_card_reversal" ] } } } }, "supportedFormats": { "type": "array", "uniqueItems": true, "items": { "type": "string", "description": "Valid values:\n- application/xml\n- text/csv\n" } }, "description": { "type": "string" }, "defaultSettings": { "type": "object", "properties": { "reportMimeType": { "type": "string", "example": "application/xml", "description": "Report Format\nValid values:\n - application/xml\n - text/csv\n" }, "reportFrequency": { "type": "string", "example": "DAILY", "description": "Report Frequency Value\nValid Values:\n - DAILY\n - WEEKLY\n - MONTHLY\n - ADHOC\n" }, "reportName": { "type": "string", "description": "Report Name", "example": "My Transaction Request Detail Report" }, "timezone": { "type": "string", "description": "Time Zone", "example": "America/Chicago" }, "startTime": { "type": "string", "description": "Start Time", "example": "0000" }, "startDay": { "type": "integer", "format": "int32", "description": "Start Day", "example": 1 }, "reportFilters": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "string" } }, "description": "List of filters to apply", "example": { "Application.Name": [ "ics_auth", "ics_bill" ] } }, "reportPreferences": { "type": "object", "description": "Report Preferences", "properties": { "signedAmounts": { "type": "boolean", "description": "Indicator to determine whether negative sign infront of amount for all refunded transaction" }, "fieldNameConvention": { "type": "string", "description": "Specify the field naming convention to be followed in reports (applicable to only csv report formats)\n\nValid values:\n- SOAPI\n- SCMP\n" } } } } }, "subscriptionType": { "type": "string", "example": "CLASSIC", "description": "'The subscription type for which report definition is required. By default the type will be CUSTOM.'\nValid Values:\n- 'CLASSIC'\n- 'CUSTOM'\n- 'STANDARD'\n" } } } }, "400": { "description": "Invalid request", "schema": { "title": "reportingV3ReportDefinitionsNameGet400Response", "type": "object", "required": [ "submitTimeUtc", "reason", "message", "details" ], "properties": { "submitTimeUtc": { "type": "string", "format": "date-time", "description": "Time of request in UTC. \n", "example": "2016-08-11T22:47:57Z" }, "reason": { "type": "string", "description": "Documented reason code\n", "example": "INVALID_DATA" }, "message": { "type": "string", "description": "Short descriptive message to the user.\n", "example": "One or more fields contains invalid data" }, "details": { "type": "array", "description": "Error field list\n", "items": { "type": "object", "properties": { "field": { "type": "string", "description": "Field in request that caused an error\n" }, "reason": { "type": "string", "description": "Documented reason code\n" } }, "description": "Provides failed validation input field detail\n" } } }, "description": "HTTP status code for client application" } }, "404": { "description": "Report not found" } } } }, "/reporting/v3/report-definitions": { "get": { "tags": [ "Report Definitions" ], "summary": "Get Reporting Resource Information", "description": "View a list of supported reports and their attributes before subscribing to them.\n", "operationId": "getResourceV2Info", "x-devcenter-metaData": { "categoryTag": "Reporting" }, "x-queryParameterDefaults": { "organizationId": "testrest" }, "produces": [ "application/hal+json" ], "parameters": [ { "in": "query", "name": "subscriptionType", "required": false, "type": "string", "description": "Valid Values:\n- CLASSIC\n- CUSTOM\n- STANDARD\n" }, { "name": "organizationId", "in": "query", "description": "Valid Organization Id", "pattern": "[a-zA-Z0-9-_]+", "required": false, "type": "string", "minLength": 1, "maxLength": 32 } ], "responses": { "200": { "description": "Ok", "schema": { "title": "reportingV3ReportDefinitionsGet200Response", "type": "object", "properties": { "reportDefinitions": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string" }, "reportDefinitionId": { "type": "integer", "format": "int32", "description": "| Id | Definition Class |\n| --- | --------------------------------- |\n| 210 | TransactionRequestClass |\n| 211 | PaymentBatchDetailClass |\n| 212 | ExceptionDetailClass |\n| 213 | ProcessorSettlementDetailClass |\n| 214 | ProcessorEventsDetailClass |\n| 215 | FundingDetailClass |\n| 216 | AgingDetailClass |\n| 217 | ChargebackAndRetrievalDetailClass |\n| 218 | DepositDetailClass |\n| 219 | FeeDetailClass |\n| 220 | InvoiceSummaryClass |\n| 221 | PayerAuthDetailClass |\n| 222 | ConversionDetailClass |\n| 225 | BillableTransactionsDetailClass |\n| 270 | JPTransactionDetailClass |\n| 271 | ServiceFeeDetailClass |\n| 310 | GatewayTransactionRequestClass |\n| 400 | DecisionManagerEventDetailClass |\n| 401 | DecisionManagerDetailClass |\n| 410 | FeeSummaryClass |\n| 420 | TaxCalculationClass |\n| 520 | POSTerminalExceptionClass |\n| 620 | SubscriptionDetailClass |\n" }, "reportDefintionName": { "type": "string" }, "supportedFormats": { "type": "array", "uniqueItems": true, "items": { "type": "string", "description": "Valid values:\n- application/xml\n- text/csv\n" } }, "description": { "type": "string" }, "defaultSettings": { "type": "object", "properties": { "reportMimeType": { "type": "string", "example": "application/xml", "description": "Report Format\nValid values:\n - application/xml\n - text/csv\n" }, "reportFrequency": { "type": "string", "example": "DAILY", "description": "Report Frequency Value\nValid Values:\n - DAILY\n - WEEKLY\n - MONTHLY\n - ADHOC\n" }, "reportName": { "type": "string", "description": "Report Name", "example": "My Transaction Request Detail Report" }, "timezone": { "type": "string", "description": "Time Zone", "example": "America/Chicago" }, "startTime": { "type": "string", "description": "Start Time", "example": "0000" }, "startDay": { "type": "integer", "format": "int32", "description": "Start Day", "example": 1 }, "reportFilters": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "string" } }, "description": "List of filters to apply", "example": { "Application.Name": [ "ics_auth", "ics_bill" ] } }, "reportPreferences": { "type": "object", "description": "Report Preferences", "properties": { "signedAmounts": { "type": "boolean", "description": "Indicator to determine whether negative sign infront of amount for all refunded transaction" }, "fieldNameConvention": { "type": "string", "description": "Specify the field naming convention to be followed in reports (applicable to only csv report formats)\n\nValid values:\n- SOAPI\n- SCMP\n" } } } } }, "subscriptionType": { "type": "string", "example": "CLASSIC", "description": "'The subscription type for which report definition is required. By default the type will be CUSTOM.'\nValid Values:\n- CLASSIC\n- CUSTOM\n- STANDARD\n" } } } } } } }, "400": { "description": "Invalid request", "schema": { "title": "reportingV3ReportDefinitionsGet400Response", "type": "object", "required": [ "submitTimeUtc", "reason", "message", "details" ], "properties": { "submitTimeUtc": { "type": "string", "format": "date-time", "description": "Time of request in UTC. \n", "example": "2016-08-11T22:47:57Z" }, "reason": { "type": "string", "description": "Documented reason code\n", "example": "INVALID_DATA" }, "message": { "type": "string", "description": "Short descriptive message to the user.\n", "example": "One or more fields contains invalid data" }, "details": { "type": "array", "description": "Error field list\n", "items": { "type": "object", "properties": { "field": { "type": "string", "description": "Field in request that caused an error\n" }, "reason": { "type": "string", "description": "Documented reason code\n" } }, "description": "Provides failed validation input field detail\n" } } }, "description": "HTTP status code for client application" } }, "404": { "description": "Report not found" } } } }, "/reporting/v3/report-subscriptions": { "get": { "tags": [ "Report Subscriptions" ], "summary": "Get All Subscriptions", "description": "View a summary of all report subscriptions.\n", "operationId": "getAllSubscriptions", "x-devcenter-metaData": { "categoryTag": "Reporting" }, "produces": [ "application/hal+json" ], "parameters": [ { "name": "organizationId", "in": "query", "description": "Valid Organization Id", "pattern": "[a-zA-Z0-9-_]+", "required": false, "type": "string", "minLength": 1, "maxLength": 32 } ], "responses": { "200": { "description": "Ok", "schema": { "title": "reportingV3ReportSubscriptionsGet200Response", "type": "object", "properties": { "subscriptions": { "type": "array", "items": { "type": "object", "properties": { "organizationId": { "type": "string", "description": "Selected Organization Id", "example": "Merchant 1" }, "reportDefinitionId": { "type": "string", "description": "Report Definition Id", "example": "210" }, "reportDefinitionName": { "type": "string", "description": "Report Definition Class", "example": "TransactionRequestDetailClass" }, "reportMimeType": { "type": "string", "example": "application/xml", "description": "Report Format \n \nValid values:\n- application/xml\n- text/csv\n" }, "reportFrequency": { "type": "string", "example": "DAILY", "description": "'Report Frequency'\n**NOTE: Do not document USER_DEFINED Frequency field in developer center**\n\nValid values:\n- DAILY\n- WEEKLY\n- MONTHLY\n- USER_DEFINED\n" }, "reportInterval": { "type": "string", "pattern": "^PT((([1-9]|1[0-9]|2[0-3])H(([1-9]|[1-4][0-9]|5[0-9])M)?)|((([1-9]|1[0-9]|2[0-3])H)?([1-9]|[1-4][0-9]|5[0-9])M))$", "description": "If the reportFrequency is User-defined, reportInterval should be in **ISO 8601 time format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Time Format](https://en.wikipedia.org/wiki/ISO_8601#Durations)\n\n**Example time format for 2 hours and 30 Mins:**\n - PT2H30M\n**NOTE: Do not document reportInterval field in developer center**\n" }, "reportName": { "type": "string", "description": "Report Name", "example": "My Transaction Request Detail Report" }, "timezone": { "type": "string", "description": "Time Zone", "example": "America/Chicago" }, "startTime": { "type": "string", "description": "Start Time", "format": "date-time", "example": "2017-10-01T10:10:10+05:00" }, "startDay": { "type": "integer", "format": "int32", "description": "Start Day", "example": 1 }, "reportFields": { "type": "array", "example": [ "Request.RequestID", "Request.TransactionDate", "Request.MerchantID" ], "description": "List of all fields String values", "items": { "type": "string" } }, "reportFilters": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "string" } }, "description": "List of filters to apply", "example": { "Application.Name": [ "ics_auth", "ics_bill" ] } }, "reportPreferences": { "type": "object", "description": "Report Preferences", "properties": { "signedAmounts": { "type": "boolean", "description": "Indicator to determine whether negative sign infront of amount for all refunded transaction" }, "fieldNameConvention": { "type": "string", "description": "Specify the field naming convention to be followed in reports (applicable to only csv report formats)\n\nValid values:\n- SOAPI\n- SCMP\n" } } }, "groupId": { "type": "string", "example": "12345", "description": "Id for the selected group." } }, "description": "Subscription Details" } } } } }, "400": { "description": "Invalid request", "schema": { "title": "reportingV3ReportSubscriptionsGet400Response", "type": "object", "required": [ "submitTimeUtc", "reason", "message", "details" ], "properties": { "submitTimeUtc": { "type": "string", "format": "date-time", "description": "Time of request in UTC. \n", "example": "2016-08-11T22:47:57Z" }, "reason": { "type": "string", "description": "Documented reason code\n", "example": "INVALID_DATA" }, "message": { "type": "string", "description": "Short descriptive message to the user.\n", "example": "One or more fields contains invalid data" }, "details": { "type": "array", "description": "Error field list\n", "items": { "type": "object", "properties": { "field": { "type": "string", "description": "Field in request that caused an error\n" }, "reason": { "type": "string", "description": "Documented reason code\n" } }, "description": "Provides failed validation input field detail\n" } } }, "description": "HTTP status code for client application" } }, "404": { "description": "Subscriptions not found" } } }, "put": { "tags": [ "Report Subscriptions" ], "summary": "Create Report Subscription for a Report Name by Organization", "description": "Create a report subscription for your organization. The report name must be unique.\n", "operationId": "createSubscription", "x-devcenter-metaData": { "categoryTag": "Reporting" }, "consumes": [ "application/json" ], "produces": [ "application/hal+json" ], "parameters": [ { "name": "organizationId", "in": "query", "description": "Valid Organization Id", "pattern": "[a-zA-Z0-9-_]+", "required": false, "type": "string", "minLength": 1, "maxLength": 32 }, { "in": "body", "name": "createReportSubscriptionRequest", "description": "Report subscription request payload", "required": true, "schema": { "type": "object", "required": [ "reportDefinitionName", "reportFields", "reportName", "startTime", "timezone", "reportFrequency", "reportMimeType" ], "properties": { "organizationId": { "type": "string", "pattern": "[a-zA-Z0-9-_]+", "description": "Valid CyberSource organizationId", "example": "Merchant 1" }, "reportDefinitionName": { "type": "string", "minLength": 1, "maxLength": 80, "pattern": "[a-zA-Z0-9-]+", "description": "Valid Report Definition Name", "example": "TransactionDetailReportClass" }, "reportFields": { "type": "array", "items": { "type": "string" }, "example": [ "Request.RequestID", "Request.TransactionDate", "Request.MerchantID" ] }, "reportMimeType": { "type": "string", "description": "Valid values:\n- application/xml\n- text/csv\n", "example": "application/xml" }, "reportFrequency": { "type": "string", "description": "'The frequency for which subscription is created.'\n**NOTE: Do not document USER_DEFINED Frequency field in developer center**\nValid Values:\n - 'DAILY'\n - 'WEEKLY'\n - 'MONTHLY'\n - 'USER_DEFINED'\n", "example": "DAILY" }, "reportInterval": { "type": "string", "pattern": "^PT((([1-9]|1[0-9]|2[0-3])H(([1-9]|[1-4][0-9]|5[0-9])M)?)|((([1-9]|1[0-9]|2[0-3])H)?([1-9]|[1-4][0-9]|5[0-9])M))$", "description": "If the reportFrequency is User-defined, reportInterval should be in **ISO 8601 time format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Time Format](https://en.wikipedia.org/wiki/ISO_8601#Durations)\n\n**Example time format for 2 hours and 30 Mins:**\n - PT2H30M\n**NOTE: Do not document reportInterval field in developer center**\n" }, "reportName": { "type": "string", "minLength": 1, "maxLength": 128, "pattern": "[a-zA-Z0-9-_ ]+", "example": "My Daily Subscription" }, "timezone": { "type": "string", "example": "America/Chicago" }, "startTime": { "type": "string", "description": "The hour at which the report generation should start. It should be in hhmm format.", "example": "0900" }, "startDay": { "type": "integer", "minimum": 1, "maximum": 31, "description": "This is the start day if the frequency is WEEKLY or MONTHLY. The value varies from 1-7 for WEEKLY and 1-31 for MONTHLY. For WEEKLY 1 means Sunday and 7 means Saturday. By default the value is 1." }, "reportFilters": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "string" } }, "description": "List of filters to apply", "example": { "Application.Name": [ "ics_auth", "ics_bill" ] } }, "reportPreferences": { "type": "object", "description": "Report Preferences", "properties": { "signedAmounts": { "type": "boolean", "description": "Indicator to determine whether negative sign infront of amount for all refunded transaction" }, "fieldNameConvention": { "type": "string", "description": "Specify the field naming convention to be followed in reports (applicable to only csv report formats)\n\nValid values:\n- SOAPI\n- SCMP\n" } } }, "groupName": { "type": "string", "pattern": "[a-zA-Z0-9-_ ]+", "description": "Valid GroupName", "example": "CEMEA Group" } } } } ], "responses": { "200": { "description": "Ok" }, "304": { "description": "NOT MODIFIED" }, "400": { "description": "Invalid request", "schema": { "type": "object", "required": [ "code", "message" ], "properties": { "code": { "type": "string", "description": "Error code" }, "message": { "type": "string", "description": "Error message" }, "localizationKey": { "type": "string", "description": "Localization Key Name" }, "correlationId": { "type": "string", "description": "Correlation Id" }, "detail": { "type": "string", "description": "Error Detail" }, "fields": { "type": "array", "description": "Error fields List", "items": { "type": "object", "properties": { "path": { "type": "string", "description": "Path of the failed property" }, "message": { "type": "string", "description": "Error description about validation failed field" }, "localizationKey": { "type": "string", "description": "Localized Key Name" } }, "description": "Provide validation failed input field details" } } }, "description": "Error Bean" } } }, "x-example": { "example0": { "summary": "Create Report Subscription", "value": { "reportDefinitionName": "TransactionRequestClass", "reportFields": [ "Request.RequestID", "Request.TransactionDate", "Request.MerchantID", "AFSFields.IPAddress", "AFSFields.IPCountry", "AFSFields.IPRoutingMethod", "AFSFields.IPState", "Application.Name", "BankInfo.Address", "BankInfo.BranchCode", "BankInfo.City", "BankInfo.Country", "BankInfo.Name", "BankInfo.SwiftCode", "BillTo.Address1", "BillTo.Address2", "BillTo.City", "BillTo.CompanyName", "BillTo.CompanyTaxID", "BillTo.Country", "BillTo.Email", "BillTo.FirstName", "BillTo.LastName", "BillTo.MiddleName", "BillTo.NameSuffix", "BillTo.PersonalID", "BillTo.Phone", "BillTo.State", "BillTo.Title", "BillTo.Zip", "ChargebackAndRetrieval.AdjustmentAmount", "ChargebackAndRetrieval.AdjustmentCurrency", "ChargebackAndRetrieval.ARN", "ChargebackAndRetrieval.CaseIdentifier", "ChargebackAndRetrieval.CaseNumber", "ChargebackAndRetrieval.CaseTime", "ChargebackAndRetrieval.CaseType", "ChargebackAndRetrieval.ChargebackAmount", "ChargebackAndRetrieval.ChargebackCurrency", "ChargebackAndRetrieval.ChargebackMessage", "ChargebackAndRetrieval.ChargebackReasonCode", "ChargebackAndRetrieval.ChargebackReasonCodeDescription", "ChargebackAndRetrieval.ChargebackTime", "ChargebackAndRetrieval.DocumentIndicator", "ChargebackAndRetrieval.FeeAmount", "ChargebackAndRetrieval.FeeCurrency", "ChargebackAndRetrieval.FinancialImpact", "ChargebackAndRetrieval.FinancialImpactType", "ChargebackAndRetrieval.MerchantCategoryCode", "ChargebackAndRetrieval.PartialIndicator", "ChargebackAndRetrieval.ResolutionTime", "ChargebackAndRetrieval.ResolvedToIndicator", "ChargebackAndRetrieval.RespondByDate", "ChargebackAndRetrieval.TransactionType", "Check.AccountEncoderID", "Check.BankTransitNumber", "Check.SecCode", "CustomerFields.BillingAddress1", "CustomerFields.BillingAddress2", "CustomerFields.BillingCity", "CustomerFields.BillingCompanyName", "CustomerFields.BillingCountry", "CustomerFields.BillingEmail", "CustomerFields.BillingFirstName", "CustomerFields.BillingLastName", "CustomerFields.BillingPhone", "CustomerFields.BillingPostalCode", "CustomerFields.BillingState", "CustomerFields.CustomerID", "CustomerFields.CustomerUserName", "CustomerFields.PersonalId(CPF/CNPJ)", "CustomerFields.ShippingAddress1", "CustomerFields.ShippingAddress2", "CustomerFields.ShippingCity", "CustomerFields.ShippingCompanyName", "CustomerFields.ShippingCountry", "CustomerFields.ShippingFirstName", "CustomerFields.ShippingLastName", "CustomerFields.ShippingPhone", "CustomerFields.ShippingPostalCode", "CustomerFields.ShippingState", "DecisionManagerEvents.EventPolicy", "DecisionManagerEvents.TypeofEvent", "Device.DeviceID", "DeviceFingerprintFields.abcd", "DeviceFingerprintFields.BrowserLanguage", "DeviceFingerprintFields.DeviceLatitude", "DeviceFingerprintFields.DeviceLongitude", "DeviceFingerprintFields.displayNameFinalCheck", "DeviceFingerprintFields.DMESignOffFieldEdit", "DeviceFingerprintFields.Fingerprint/DeviceFingerprint", "DeviceFingerprintFields.FlashEnabled", "DeviceFingerprintFields.FlashOperatingSystem", "DeviceFingerprintFields.FlashVersion", "DeviceFingerprintFields.GPSAccuracy", "DeviceFingerprintFields.ImagesEnabled", "DeviceFingerprintFields.Jailbreak/RootPrivileges", "DeviceFingerprintFields.JavaScriptEnabled", "DeviceFingerprintFields.ProfiledURL", "DeviceFingerprintFields.ProxyIPAddress", "DeviceFingerprintFields.ProxyIPAddressActivities", "DeviceFingerprintFields.ProxyServerType", "DeviceFingerprintFields.ScreenResolution", "DeviceFingerprintFields.SignOffFieldDMEEditNewOne", "DeviceFingerprintFields.SmartID", "DeviceFingerprintFields.SmartIDConfidenceLevel", "DeviceFingerprintFields.TimeOnPage", "DeviceFingerprintFields.TrueIPAddress", "DeviceFingerprintFields.TrueIPAddressActivities", "DeviceFingerprintFields.TrueIPAddressAttributes", "DeviceFingerprintFields.txdea1", "DeviceFingerprintFields.txdesv", "EmailageFields.FraudType", "EmailageFields.IP Postal", "EmailageFields.IPCity", "EmailageFields.IPCountry", "EmailageFields.IPRegion", "EmailageFields.SourceIndustry", "Event.Amount", "Event.CurrencyCode", "Event.Event", "Event.EventDate", "Event.ProcessorMessage", "Exception.Action", "Exception.CYBSExceptionID", "Exception.DccLookupStatus", "Exception.ExceptionAmount", "Exception.ExceptionAmountCurrency", "Exception.ExceptionCategory", "Exception.ExceptionDate", "Exception.ExceptionDescription", "Exception.ExceptionDeviceHardwareRevision", "Exception.ExceptionDeviceID", "Exception.ExceptionDeviceOS", "Exception.ExceptionDeviceOSVersion", "Exception.ExceptionDeviceTerminalID", "Exception.ExceptionMessage", "Exception.ExceptionReasonDescription", "Exception.ExceptionStatus", "Exception.ExceptionStatusCode", "Exception.ExceptionType", "Exception.FinancialStatus", "Exception.LastActionDate", "Exception.NextActionDate", "Exception.OriginalTransactionSubmissionDate", "Exception.PaymentNumber", "Exception.ProcessorCaseID", "Exception.ProcessorResponseCode", "Exception.ReasonCode", "Exception.RetryCount", "Fee.AssessmentAmount", "Fee.AssessmentCurrency", "Fee.BillingCycle", "Fee.BillingType", "Fee.ClearedInterchangeLevel", "Fee.DiscountAmount", "Fee.DiscountCurrency", "Fee.DiscountRate", "Fee.DowngradeReasonCode", "Fee.InterchangeAmount", "Fee.InterchangeCurrency", "Fee.InterchangeRate", "Fee.PerItemFeeAmount", "Fee.PerItemFeeCurrency", "Fee.PricedInterchangeLevel", "Fee.ServiceFeeAmount", "Fee.ServiceFeeAmountCcy", "Fee.ServiceFeeFixedAmount", "Fee.ServiceFeeFixedAmountCcy", "Fee.ServiceFeeRate", "Fee.SettlementAmount", "Fee.SettlementCurrency", "Fee.SettlementTime", "Fee.SettlementTimeZone", "Fee.SourceDescriptor", "Fee.TotalFeeAmount", "Fee.TotalFeeCurrency", "Funding.AdjustmentAmount", "Funding.AdjustmentCurrency", "Funding.AdjustmentDescription", "Funding.AdjustmentType", "FundTransfer.BankCheckDigit", "FundTransfer.IbanIndicator", "Invoice.BillingGroupDescription", "Invoice.NotProcessed", "Invoice.OrganizationID", "Invoice.PerformedServices", "Invoice.Processed", "Invoice.Total", "JP.Amount", "JP.AuthForward", "JP.AuthorizationCode", "JP.CardSuffix", "JP.Currency", "JP.CustomerFirstName", "JP.CustomerLastName", "JP.Date", "JP.Gateway", "JP.JPOInstallmentMethod", "JP.JPOPaymentMethod", "JP.MerchantID", "JP.MerchantReferenceNumber", "JP.PaymentMethod", "JP.RequestID", "JP.SubscriptionID", "JP.Time", "JP.TransactionReferenceNumber", "JP.TransactionType", "LineItems.FulfillmentType", "LineItems.InvoiceNumber", "LineItems.MerchantProductSku", "LineItems.ProductCode", "LineItems.ProductName", "LineItems.Quantity", "LineItems.TaxAmount", "LineItems.UnitPrice", "MarkAsSuspectFields.MarkingDate", "MarkAsSuspectFields.MarkingNotes", "MarkAsSuspectFields.MarkingReason", "MarkAsSuspectFields.MarkingUserName", "Merchant-DefinedDataFields.MerchantDefinedData1", "Merchant-DefinedDataFields.MerchantDefinedData10", "Merchant-DefinedDataFields.MerchantDefinedData100", "Merchant-DefinedDataFields.MerchantDefinedData11", "Merchant-DefinedDataFields.MerchantDefinedData12", "Merchant-DefinedDataFields.MerchantDefinedData13", "Merchant-DefinedDataFields.MerchantDefinedData14", "Merchant-DefinedDataFields.MerchantDefinedData15", "Merchant-DefinedDataFields.MerchantDefinedData16", "Merchant-DefinedDataFields.MerchantDefinedData17", "Merchant-DefinedDataFields.MerchantDefinedData18", "Merchant-DefinedDataFields.MerchantDefinedData19", "Merchant-DefinedDataFields.MerchantDefinedData2", "Merchant-DefinedDataFields.MerchantDefinedData20", "Merchant-DefinedDataFields.MerchantDefinedData21", "Merchant-DefinedDataFields.MerchantDefinedData22", "Merchant-DefinedDataFields.MerchantDefinedData23", "Merchant-DefinedDataFields.MerchantDefinedData24", "Merchant-DefinedDataFields.MerchantDefinedData25", "Merchant-DefinedDataFields.MerchantDefinedData26", "Merchant-DefinedDataFields.MerchantDefinedData27", "Merchant-DefinedDataFields.MerchantDefinedData28", "Merchant-DefinedDataFields.MerchantDefinedData29", "Merchant-DefinedDataFields.MerchantDefinedData3", "Merchant-DefinedDataFields.MerchantDefinedData30", "Merchant-DefinedDataFields.MerchantDefinedData31", "Merchant-DefinedDataFields.MerchantDefinedData32", "Merchant-DefinedDataFields.MerchantDefinedData34", "Merchant-DefinedDataFields.MerchantDefinedData35", "Merchant-DefinedDataFields.MerchantDefinedData36", "Merchant-DefinedDataFields.MerchantDefinedData37", "Merchant-DefinedDataFields.MerchantDefinedData39", "Merchant-DefinedDataFields.MerchantDefinedData4", "Merchant-DefinedDataFields.MerchantDefinedData40", "Merchant-DefinedDataFields.MerchantDefinedData41", "Merchant-DefinedDataFields.MerchantDefinedData43", "Merchant-DefinedDataFields.MerchantDefinedData44", "Merchant-DefinedDataFields.MerchantDefinedData45", "Merchant-DefinedDataFields.MerchantDefinedData46", "Merchant-DefinedDataFields.MerchantDefinedData48", "Merchant-DefinedDataFields.MerchantDefinedData49", "Merchant-DefinedDataFields.MerchantDefinedData5", "Merchant-DefinedDataFields.MerchantDefinedData50", "Merchant-DefinedDataFields.MerchantDefinedData52", "Merchant-DefinedDataFields.MerchantDefinedData53", "Merchant-DefinedDataFields.MerchantDefinedData54", "Merchant-DefinedDataFields.MerchantDefinedData56", "Merchant-DefinedDataFields.MerchantDefinedData57", "Merchant-DefinedDataFields.MerchantDefinedData58", "Merchant-DefinedDataFields.MerchantDefinedData59", "Merchant-DefinedDataFields.MerchantDefinedData6", "Merchant-DefinedDataFields.MerchantDefinedData61", "Merchant-DefinedDataFields.MerchantDefinedData62", "Merchant-DefinedDataFields.MerchantDefinedData63", "Merchant-DefinedDataFields.MerchantDefinedData65", "Merchant-DefinedDataFields.MerchantDefinedData66", "Merchant-DefinedDataFields.MerchantDefinedData67", "Merchant-DefinedDataFields.MerchantDefinedData68", "Merchant-DefinedDataFields.MerchantDefinedData7", "Merchant-DefinedDataFields.MerchantDefinedData70", "Merchant-DefinedDataFields.MerchantDefinedData71", "Merchant-DefinedDataFields.MerchantDefinedData72", "Merchant-DefinedDataFields.MerchantDefinedData73", "Merchant-DefinedDataFields.MerchantDefinedData74", "Merchant-DefinedDataFields.MerchantDefinedData75", "Merchant-DefinedDataFields.MerchantDefinedData76", "Merchant-DefinedDataFields.MerchantDefinedData77", "Merchant-DefinedDataFields.MerchantDefinedData78", "Merchant-DefinedDataFields.MerchantDefinedData79", "Merchant-DefinedDataFields.MerchantDefinedData8", "Merchant-DefinedDataFields.MerchantDefinedData80", "Merchant-DefinedDataFields.MerchantDefinedData81", "Merchant-DefinedDataFields.MerchantDefinedData82", "Merchant-DefinedDataFields.MerchantDefinedData83", "Merchant-DefinedDataFields.MerchantDefinedData84", "Merchant-DefinedDataFields.MerchantDefinedData85", "Merchant-DefinedDataFields.MerchantDefinedData86", "Merchant-DefinedDataFields.MerchantDefinedData87", "Merchant-DefinedDataFields.MerchantDefinedData88", "Merchant-DefinedDataFields.MerchantDefinedData89", "Merchant-DefinedDataFields.MerchantDefinedData9", "Merchant-DefinedDataFields.MerchantDefinedData90", "Merchant-DefinedDataFields.MerchantDefinedData91", "Merchant-DefinedDataFields.MerchantDefinedData92", "Merchant-DefinedDataFields.MerchantDefinedData93", "Merchant-DefinedDataFields.MerchantDefinedData94", "Merchant-DefinedDataFields.MerchantDefinedData95", "Merchant-DefinedDataFields.MerchantDefinedData96", "Merchant-DefinedDataFields.MerchantDefinedData97", "Merchant-DefinedDataFields.MerchantDefinedData98", "Merchant-DefinedDataFields.MerchantDefinedData99", "OctSummary.AccountId", "OctSummary.ResellerId", "OctSummary.SettlementAmountCurrency", "OctSummary.SettlementDate", "OctSummary.TransactionAmountCurrency", "OrderFields.ConnectionMethod", "OrderFields.MerchantID", "OrderFields.MerchantReferenceNumber", "OrderFields.ReasonCode", "OrderFields.ReplyCode", "OrderFields.ReplyFlag", "OrderFields.ReplyMessage", "OrderFields.RequestID", "OrderFields.ShippingMethod", "OrderFields.TransactionDate", "PayerAuth.RequestID", "PayerAuth.TransactionType", "PaymentData.ACHVerificationResult", "PaymentData.ACHVerificationResultMapped", "PaymentData.AcquirerMerchantID", "PaymentData.AuthIndicator", "PaymentData.AuthorizationCode", "PaymentData.AuthorizationType", "PaymentData.AuthReversalAmount", "PaymentData.AuthReversalResult", "PaymentData.AVSResult", "PaymentData.AVSResultMapped", "PaymentData.BalanceAmount", "PaymentData.BalanceCurrencyCode", "PaymentData.BinNumber", "PaymentData.CardCategory", "PaymentData.CardCategoryCode", "PaymentData.CardPresent", "PaymentData.CurrencyCode", "PaymentData.CVResult", "PaymentData.DCCIndicator", "PaymentData.EMVRequestFallBack", "PaymentData.EVEmail", "PaymentData.EVEmailRaw", "PaymentData.EVName", "PaymentData.EVNameRaw", "PaymentData.EVPhoneNumber", "PaymentData.EVPhoneNumberRaw", "PaymentData.EVPostalCode", "PaymentData.EVPostalCodeRaw", "PaymentData.EVStreet", "PaymentData.EVStreetRaw", "PaymentData.ExchangeRate", "PaymentData.ExchangeRateDate", "PaymentData.MandateReferenceNumber", "PaymentData.NetworkCode", "PaymentData.NetworkTransactionID", "PaymentData.NumberOfInstallments", "PaymentData.OriginalAmount", "PaymentData.OriginalCurrency", "PaymentData.PaymentProductCode", "PaymentData.POSEntryMode", "PaymentData.ProcessorMID", "PaymentData.ProcessorResponseCode", "PaymentData.ProcessorResponseID", "PaymentData.ProcessorTID", "PaymentData.ProcessorTransactionID", "PaymentData.RequestedAmount", "PaymentData.RequestedAmountCurrencyCode", "PaymentData.SubMerchantCity", "PaymentData.SubMerchantCountry", "PaymentData.SubMerchantEmail", "PaymentData.SubMerchantID", "PaymentData.SubMerchantName", "PaymentData.SubMerchantPhone", "PaymentData.SubMerchantPostalCode", "PaymentData.SubMerchantState", "PaymentData.SubMerchantStreet", "PaymentData.TargetAmount", "PaymentData.TargetCurrency", "PaymentFields.AccountSuffix", "PaymentFields.CardBIN", "PaymentFields.CardBINCountry", "PaymentFields.CardIssuer", "PaymentFields.CardScheme", "PaymentFields.CardType", "PaymentFields.CardVerificationResult", "PaymentMethod.AccountSuffix", "PaymentMethod.AdditionalCardType", "PaymentMethod.BankAccountName", "PaymentMethod.BankCode", "PaymentMethod.BoletoBarCodeNumber", "PaymentMethod.BoletoNumber", "PaymentMethod.CardType", "PaymentMethod.CheckNumber", "PaymentMethod.ExpirationMonth", "PaymentMethod.ExpirationYear", "PaymentMethod.IssueNumber", "PaymentMethod.MandateId", "PaymentMethod.StartMonth", "PaymentMethod.StartYear", "PaymentMethod.WalletType", "POSTerminalExceptions.AccountSuffix", "POSTerminalExceptions.CurrencyCode", "POSTerminalExceptions.ExpirationMO", "POSTerminalExceptions.ExpirationYR", "POSTerminalExceptions.LastName", "POSTerminalExceptions.MerchantID", "Recipient.RecipientBillingAmount", "Recipient.RecipientBillingCurrency", "Recipient.ReferenceNumber", "Request.PartnerOriginalTransactionID", "Sender.Address", "Sender.City", "Sender.Country", "Sender.DOB", "Sender.FirstName", "Sender.LastName", "Sender.MiddleInitial", "Sender.PhoneNumber", "Sender.PostalCode", "Sender.SenderReferenceNumber", "Sender.SourceOfFunds", "Sender.State", "ShipTo.CompanyName", "Subscriptions.Applications", "Subscriptions.AuthAVSResults", "Subscriptions.AuthCardVerificationResult", "Subscriptions.AuthCode", "Subscriptions.AuthRCode", "Subscriptions.AuthResponseCode", "Subscriptions.AuthType", "Subscriptions.BillToAddress1", "Subscriptions.BillToAddress2", "Subscriptions.BillToCity", "Subscriptions.BillToCompanyName", "Subscriptions.BillToCountry", "Subscriptions.BillToEmail", "Subscriptions.BillToFirstName", "Subscriptions.BillToLastName", "Subscriptions.BillToState", "Subscriptions.BillToZip", "Subscriptions.CardType", "Subscriptions.Comments", "Subscriptions.ConsumerPhone", "Subscriptions.CurrencyCode", "Subscriptions.CustomerCCAccountSuffix", "Subscriptions.CustomerCCExpiryMonth", "Subscriptions.CustomerCCExpiryYear", "Subscriptions.CustomerCCIssueNo", "Subscriptions.CustomerCCRoutingNumber", "Subscriptions.CustomerCCStartMonth", "Subscriptions.CustomerCCStartYear", "Subscriptions.CustomerCCSubTypeDescription", "Subscriptions.EcommerceIndicator", "Subscriptions.IPAddress", "Subscriptions.MerchantDefinedData1", "Subscriptions.MerchantDefinedData2", "Subscriptions.MerchantDefinedData3", "Subscriptions.MerchantDefinedData4", "Subscriptions.MerchantRefNo", "Subscriptions.MerchantSecureData1", "Subscriptions.MerchantSecureData2", "Subscriptions.MerchantSecureData3", "Subscriptions.MerchantSecureData4", "Subscriptions.PaymentProcessor", "Subscriptions.PaymentsSuccess", "Subscriptions.RCode", "Subscriptions.ReasonCode", "Subscriptions.RequestID", "Subscriptions.RequestToken", "Subscriptions.RFlag", "Subscriptions.RMsg", "Subscriptions.ShipToAddress1", "Subscriptions.ShipToAddress2", "Subscriptions.ShipToCity", "Subscriptions.ShipToCompanyName", "Subscriptions.ShipToCountry", "Subscriptions.ShipToFirstName", "Subscriptions.ShipToLastName", "Subscriptions.ShipToState", "Subscriptions.ShipToZip", "Subscriptions.SubscriptionID", "Subscriptions.TaxAmount", "Subscriptions.TransactionDate", "Subscriptions.TransRefNo", "TaxCalculation.Status", "Token.NetworkTokenTransType", "Token.TokenCode", "TransactionDetails.MerchantId", "TransactionDetails.PaymentMethodDesc", "TransactionDetails.PaymentMethodType", "TransactionDetails.RequestId", "TravelFields.DepartureTime", "VelocityMorphing.FieldName", "VelocityMorphing.InfoCode", "WhitepagesProFields.EmailDomainCreationDate" ], "reportMimeType": "application/xml", "reportFrequency": "WEEKLY", "reportName": "testrest_subcription_v1", "timezone": "GMT", "startTime": "0900", "startDay": "1" } } } } }, "/reporting/v3/report-subscriptions/{reportName}": { "get": { "tags": [ "Report Subscriptions" ], "summary": "Get Subscription for Report Name", "description": "View the details of a report subscription, such as the report format or report frequency, using the report's unique name.\n", "operationId": "getSubscription", "x-devcenter-metaData": { "categoryTag": "Reporting" }, "x-depends": { "example": { "path": "/reporting/v3/report-subscriptions", "verb": "get", "exampleId": "Get all subscriptions" }, "fieldMapping": [ { "sourceField": "_embedded.Subscriptions[0].reportName", "destinationField": "reportName", "fieldTypeInDestination": "path" } ] }, "produces": [ "application/hal+json" ], "parameters": [ { "name": "organizationId", "in": "query", "description": "Valid Organization Id", "pattern": "[a-zA-Z0-9-_]+", "required": false, "type": "string", "minLength": 1, "maxLength": 32 }, { "name": "reportName", "in": "path", "description": "Name of the Report to Retrieve", "required": true, "type": "string", "maxLength": 80, "minLength": 1, "pattern": "[a-zA-Z0-9-_+]+" } ], "responses": { "200": { "description": "Ok", "schema": { "title": "reportingV3ReportsSubscriptionsNameGet200Response", "type": "object", "properties": { "organizationId": { "type": "string", "description": "Selected Organization Id", "example": "Merchant 1" }, "reportDefinitionId": { "type": "string", "description": "Report Definition Id", "example": "210" }, "reportDefinitionName": { "type": "string", "description": "Report Definition Class", "example": "TransactionRequestDetailClass" }, "reportMimeType": { "type": "string", "example": "application/xml", "description": "Report Format \n \nValid values:\n- application/xml\n- text/csv\n" }, "reportFrequency": { "type": "string", "example": "DAILY", "description": "'Report Frequency'\n**NOTE: Do not document USER_DEFINED Frequency field in developer center**\n\nValid values:\n- DAILY\n- WEEKLY\n- MONTHLY\n- USER_DEFINED\n" }, "reportInterval": { "type": "string", "pattern": "^PT((([1-9]|1[0-9]|2[0-3])H(([1-9]|[1-4][0-9]|5[0-9])M)?)|((([1-9]|1[0-9]|2[0-3])H)?([1-9]|[1-4][0-9]|5[0-9])M))$", "description": "If the reportFrequency is User-defined, reportInterval should be in **ISO 8601 time format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Time Format](https://en.wikipedia.org/wiki/ISO_8601#Durations)\n\n**Example time format for 2 hours and 30 Mins:**\n - PT2H30M\n**NOTE: Do not document reportInterval field in developer center**\n" }, "reportName": { "type": "string", "description": "Report Name", "example": "My Transaction Request Detail Report" }, "timezone": { "type": "string", "description": "Time Zone", "example": "America/Chicago" }, "startTime": { "type": "string", "description": "Start Time", "format": "date-time", "example": "2017-10-01T10:10:10+05:00" }, "startDay": { "type": "integer", "format": "int32", "description": "Start Day", "example": 1 }, "reportFields": { "type": "array", "example": [ "Request.RequestID", "Request.TransactionDate", "Request.MerchantID" ], "description": "List of all fields String values", "items": { "type": "string" } }, "reportFilters": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "string" } }, "description": "List of filters to apply", "example": { "Application.Name": [ "ics_auth", "ics_bill" ] } }, "reportPreferences": { "type": "object", "description": "Report Preferences", "properties": { "signedAmounts": { "type": "boolean", "description": "Indicator to determine whether negative sign infront of amount for all refunded transaction" }, "fieldNameConvention": { "type": "string", "description": "Specify the field naming convention to be followed in reports (applicable to only csv report formats)\n\nValid values:\n- SOAPI\n- SCMP\n" } } }, "groupId": { "type": "string", "example": "12345", "description": "Id for the selected group." } }, "description": "Subscription Details" } }, "400": { "description": "Invalid request", "schema": { "title": "reportingV3ReportSubscriptionsNameGet400Response", "type": "object", "required": [ "submitTimeUtc", "reason", "message", "details" ], "properties": { "submitTimeUtc": { "type": "string", "format": "date-time", "description": "Time of request in UTC. \n", "example": "2016-08-11T22:47:57Z" }, "reason": { "type": "string", "description": "Documented reason code\n", "example": "INVALID_DATA" }, "message": { "type": "string", "description": "Short descriptive message to the user.\n", "example": "One or more fields contains invalid data" }, "details": { "type": "array", "description": "Error field list\n", "items": { "type": "object", "properties": { "field": { "type": "string", "description": "Field in request that caused an error\n" }, "reason": { "type": "string", "description": "Documented reason code\n" } }, "description": "Provides failed validation input field detail\n" } } }, "description": "HTTP status code for client application" } }, "404": { "description": "Subscription not found" } } }, "delete": { "tags": [ "Report Subscriptions" ], "summary": "Delete Subscription of a Report Name by Organization", "description": "Delete a report subscription for your organization. You must know the unique name of the report you want to delete.\n", "operationId": "deleteSubscription", "x-devcenter-metaData": { "categoryTag": "Reporting" }, "x-depends": { "example": { "path": "/reporting/v3/report-subscriptions/{reportName}", "verb": "get", "exampleId": "Get subscription for report name" }, "fieldMapping": [ { "sourceField": "reportName", "destinationField": "reportName", "fieldTypeInDestination": "path" } ] }, "produces": [ "application/hal+json" ], "parameters": [ { "name": "organizationId", "in": "query", "description": "Valid Organization Id", "pattern": "[a-zA-Z0-9-_]+", "required": false, "type": "string", "minLength": 1, "maxLength": 32 }, { "name": "reportName", "in": "path", "description": "Name of the Report to Delete", "required": true, "type": "string", "maxLength": 80, "minLength": 1, "pattern": "[a-zA-Z0-9-_+]+" } ], "responses": { "200": { "description": "Ok" }, "400": { "description": "Invalid request", "schema": { "title": "reportingV3ReportSubscriptionsNameDelete400Response", "type": "object", "required": [ "submitTimeUtc", "reason", "message", "details" ], "properties": { "submitTimeUtc": { "type": "string", "format": "date-time", "description": "Time of request in UTC. \n", "example": "2016-08-11T22:47:57Z" }, "reason": { "type": "string", "description": "Documented reason code\n", "example": "INVALID_DATA" }, "message": { "type": "string", "description": "Short descriptive message to the user.\n", "example": "One or more fields contains invalid data" }, "details": { "type": "array", "description": "Error field list\n", "items": { "type": "object", "properties": { "field": { "type": "string", "description": "Field in request that caused an error\n" }, "reason": { "type": "string", "description": "Documented reason code\n" } }, "description": "Provides failed validation input field detail\n" } } }, "description": "HTTP status code for client application" } }, "404": { "description": "Subscription not found", "schema": { "title": "reportingV3ReportSubscriptionsnameDelete404Response", "type": "object", "required": [ "submitTimeUtc", "reason", "message", "details" ], "properties": { "submitTimeUtc": { "type": "string", "format": "date-time", "description": "Time of request in UTC. \n", "example": "2016-08-11T22:47:57Z" }, "reason": { "type": "string", "description": "Documented reason code\n", "example": "INVALID_DATA" }, "message": { "type": "string", "description": "Short descriptive message to the user.\n", "example": "One or more fields contains invalid data" }, "details": { "type": "array", "description": "Error field list\n", "items": { "type": "object", "properties": { "field": { "type": "string", "description": "Field in request that caused an error\n" }, "reason": { "type": "string", "description": "Documented reason code\n" } }, "description": "Provides failed validation input field detail\n" } } }, "description": "HTTP status code for client application" } } } } }, "/reporting/v3/predefined-report-subscriptions": { "put": { "tags": [ "Report Subscriptions" ], "summary": "Create a Standard or Classic Subscription", "description": "Create or update an already existing classic or standard subscription.\n", "operationId": "createStandardOrClassicSubscription", "x-devcenter-metaData": { "categoryTag": "Reporting" }, "produces": [ "application/hal+json" ], "parameters": [ { "name": "organizationId", "in": "query", "description": "Valid Organization Id", "pattern": "[a-zA-Z0-9-_]+", "required": false, "type": "string", "minLength": 1, "maxLength": 32 }, { "in": "body", "name": "predefinedSubscriptionRequestBean", "description": "Report subscription request payload", "required": true, "schema": { "type": "object", "required": [ "reportDefinitionName", "subscriptionType" ], "properties": { "reportDefinitionName": { "type": "string", "minLength": 1, "maxLength": 80, "pattern": "[a-zA-Z]+", "description": "Valid Report Definition Name", "example": "TransactionDetailReportClass" }, "subscriptionType": { "description": "The subscription type for which report definition is required. Valid values are CLASSIC and STANDARD.\nValid Values:\n - CLASSIC\n - STANDARD\n", "type": "string" }, "reportName": { "type": "string", "minLength": 1, "maxLength": 128, "pattern": "[a-zA-Z0-9-_ ]+", "example": "TransactionDetailReport_Daily_Classic" }, "reportMimeType": { "type": "string", "example": "application/xml", "description": "Report Format \nValid Values:\n - application/xml\n - text/csv\n" }, "reportFrequency": { "type": "string", "description": "'The frequency for which subscription is created. For Standard we can have DAILY, WEEKLY and MONTHLY. But for Classic we will have only DAILY.'\n**NOTE: Do not document USER_DEFINED Frequency field in developer center**\nValid Values:\n- 'DAILY'\n- 'WEEKLY'\n- 'MONTHLY'\n- 'USER_DEFINED'\n", "example": "DAILY" }, "reportInterval": { "type": "string", "pattern": "^PT((([1-9]|1[0-9]|2[0-3])H(([1-9]|[1-4][0-9]|5[0-9])M)?)|((([1-9]|1[0-9]|2[0-3])H)?([1-9]|[1-4][0-9]|5[0-9])M))$", "description": "If the reportFrequency is User-defined, reportInterval should be in **ISO 8601 time format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Time Format](https://en.wikipedia.org/wiki/ISO_8601#Durations)\n\n**Example time format for 2 hours and 30 Mins:**\n - PT2H30M\n**NOTE: Do not document reportInterval field in developer center**\n" }, "timezone": { "type": "string", "description": "By Default the timezone for Standard subscription is PST. And for Classic subscription it will be GMT. If user provides any other time zone apart from PST for Standard subscription api should error out.", "example": "America/Los_Angeles" }, "startTime": { "type": "string", "description": "The hour at which the report generation should start. It should be in hhmm format. By Default it will be 0000. The format is 24 hours format.", "example": "0900" }, "startDay": { "type": "integer", "minimum": 1, "maximum": 31, "description": "This is the start day if the frequency is WEEKLY or MONTHLY. The value varies from 1-7 for WEEKLY and 1-31 for MONTHLY. For WEEKLY 1 means Sunday and 7 means Saturday. By default the value is 1." }, "subscriptionStatus": { "type": "string", "description": "The status for subscription which is either created or updated. By default it is ACTIVE.\nValid Values:\n - ACTIVE\n - INACTIVE\n", "example": "ACTIVE" } } } } ], "responses": { "200": { "description": "Ok" }, "201": { "description": "Created" }, "400": { "description": "Invalid request", "schema": { "type": "object", "required": [ "code", "message" ], "properties": { "code": { "type": "string", "description": "Error code" }, "message": { "type": "string", "description": "Error message" }, "localizationKey": { "type": "string", "description": "Localization Key Name" }, "correlationId": { "type": "string", "description": "Correlation Id" }, "detail": { "type": "string", "description": "Error Detail" }, "fields": { "type": "array", "description": "Error fields List", "items": { "type": "object", "properties": { "path": { "type": "string", "description": "Path of the failed property" }, "message": { "type": "string", "description": "Error description about validation failed field" }, "localizationKey": { "type": "string", "description": "Localized Key Name" } }, "description": "Provide validation failed input field details" } } }, "description": "Error Bean" } } }, "x-example": { "example0": { "summary": "Create Classic/Standard Report Subscription", "value": { "reportDefinitionName": "TransactionRequestClass", "subscriptionType": "CLASSIC" } } } } }, "/reporting/v3/notification-of-changes": { "get": { "tags": [ "Notification Of Changes" ], "summary": "Get Notification of Changes", "description": "Download the Notification of Change report. This report shows eCheck-related fields updated as a result of a response to an eCheck settlement transaction.\n", "operationId": "getNotificationOfChangeReport", "x-devcenter-metaData": { "categoryTag": "Reporting", "enableDownload": true, "x-custom-headers": { "accept": [ "text/csv", "application/xml", "application/hal+json" ] } }, "x-queryParameterDefaults": { "startTime": "2020-03-01T12:00:00Z", "endTime": "2020-03-10T12:00:00Z" }, "produces": [ "application/hal+json", "text/csv", "application/xml" ], "parameters": [ { "name": "startTime", "in": "query", "description": "Valid report Start Time in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example date format:**\n - yyyy-MM-dd'T'HH:mm:ss.SSSZ (e.g. 2018-01-01T00:00:00.000Z)\n", "required": true, "type": "string", "format": "date-time" }, { "name": "endTime", "in": "query", "description": "Valid report End Time in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example date format:**\n - yyyy-MM-dd'T'HH:mm:ss.SSSZ (e.g. 2018-01-01T00:00:00.000Z)\n", "required": true, "type": "string", "format": "date-time" } ], "responses": { "200": { "description": "Ok", "schema": { "title": "reportingV3NotificationofChangesGet200Response", "type": "object", "properties": { "notificationOfChanges": { "type": "array", "description": "List of Notification Of Change Info values", "items": { "type": "object", "properties": { "merchantReferenceNumber": { "type": "string", "example": "TC30877-10", "description": "Merchant Reference Number" }, "transactionReferenceNumber": { "type": "string", "example": "55563", "description": "Transaction Reference Number" }, "time": { "type": "string", "example": "2017-10-01T10:10:10+05:00", "format": "date-time", "description": "Notification Of Change Date(ISO 8601 Extended)" }, "code": { "type": "string", "example": "TC30877-10", "description": "Merchant Reference Number" }, "accountType": { "type": "string", "example": "Checking Account", "description": "Account Type" }, "routingNumber": { "type": "string", "example": "123456789", "description": "Routing Number" }, "accountNumber": { "type": "string", "example": "############1234", "description": "Account Number" }, "consumerName": { "type": "string", "example": "Consumer Name", "description": "Consumer Name" } }, "description": "Notification Of Change" } } } } }, "400": { "description": "Invalid request", "schema": { "title": "reportingV3NotificationofChangesGet400Response", "type": "object", "required": [ "submitTimeUtc", "reason", "message", "details" ], "properties": { "submitTimeUtc": { "type": "string", "format": "date-time", "description": "Time of request in UTC. \n", "example": "2016-08-11T22:47:57Z" }, "reason": { "type": "string", "description": "Documented reason code\n", "example": "INVALID_DATA" }, "message": { "type": "string", "description": "Short descriptive message to the user.\n", "example": "One or more fields contains invalid data" }, "details": { "type": "array", "description": "Error field list\n", "items": { "type": "object", "properties": { "field": { "type": "string", "description": "Field in request that caused an error\n" }, "reason": { "type": "string", "description": "Documented reason code\n" } }, "description": "Provides failed validation input field detail\n" } } }, "description": "HTTP status code for client application" } }, "401": { "description": "Unauthorized. Token provided is no more valid." }, "404": { "description": "Report not found", "schema": { "title": "reportingV3NotificationofChangesGet404Response", "type": "object", "required": [ "submitTimeUtc", "reason", "message", "details" ], "properties": { "submitTimeUtc": { "type": "string", "format": "date-time", "description": "Time of request in UTC. \n", "example": "2016-08-11T22:47:57Z" }, "reason": { "type": "string", "description": "Documented reason code\n", "example": "INVALID_DATA" }, "message": { "type": "string", "description": "Short descriptive message to the user.\n", "example": "One or more fields contains invalid data" }, "details": { "type": "array", "description": "Error field list\n", "items": { "type": "object", "properties": { "field": { "type": "string", "description": "Field in request that caused an error\n" }, "reason": { "type": "string", "description": "Documented reason code\n" } }, "description": "Provides failed validation input field detail\n" } } }, "description": "HTTP status code for client application" } }, "500": { "description": "Internal Server Error", "schema": { "title": "reportingV3NotificationofChangesGet500Response", "type": "object", "required": [ "submitTimeUtc", "reason", "message", "details" ], "properties": { "submitTimeUtc": { "type": "string", "format": "date-time", "description": "Time of request in UTC. \n", "example": "2016-08-11T22:47:57Z" }, "reason": { "type": "string", "description": "Documented reason code\n", "example": "INVALID_DATA" }, "message": { "type": "string", "description": "Short descriptive message to the user.\n", "example": "One or more fields contains invalid data" }, "details": { "type": "array", "description": "Error field list\n", "items": { "type": "object", "properties": { "field": { "type": "string", "description": "Field in request that caused an error\n" }, "reason": { "type": "string", "description": "Documented reason code\n" } }, "description": "Provides failed validation input field detail\n" } } }, "description": "HTTP status code for client application" } } } } }, "/reporting/v3/purchase-refund-details": { "get": { "tags": [ "Purchase And Refund Details" ], "summary": "Get Purchase and Refund Details", "description": "Download the Purchase and Refund Details report. This report report includes all purchases and refund transactions, as well as all activities related to transactions resulting in an adjustment to the net proceeds.\n", "operationId": "getPurchaseAndRefundDetails", "x-devcenter-metaData": { "categoryTag": "Reporting", "enableDownload": true, "x-custom-headers": { "accept": [ "text/csv", "application/xml", "application/hal+json" ] } }, "x-queryParameterDefaults": { "organizationId": "testrest", "startTime": "2020-01-01T12:00:00Z", "endTime": "2020-01-30T12:00:00Z", "groupName": "groupName", "paymentSubtype": "VI", "viewBy": "requestDate", "offset": "20", "limit": "2000" }, "produces": [ "application/hal+json", "application/xml", "text/csv" ], "parameters": [ { "name": "startTime", "in": "query", "description": "Valid report Start Time in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example date format:**\n - yyyy-MM-dd'T'HH:mm:ss.SSSZ (e.g. 2018-01-01T00:00:00.000Z)\n", "required": true, "type": "string", "format": "date-time" }, { "name": "endTime", "in": "query", "description": "Valid report End Time in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example date format:**\n - yyyy-MM-dd'T'HH:mm:ss.SSSZ (e.g. 2018-01-01T00:00:00.000Z)\n", "required": true, "type": "string", "format": "date-time" }, { "name": "organizationId", "in": "query", "description": "Valid Organization Id", "pattern": "[a-zA-Z0-9-_]+", "required": false, "type": "string", "minLength": 1, "maxLength": 32 }, { "name": "paymentSubtype", "in": "query", "description": "Payment Subtypes.\n - **ALL**: All Payment Subtypes\n - **VI** : Visa\n - **MC** : Master Card\n - **AX** : American Express\n - **DI** : Discover\n - **DP** : Pinless Debit\n", "required": false, "type": "string", "default": "ALL" }, { "name": "viewBy", "in": "query", "description": "View results by Request Date or Submission Date.\n - **requestDate** : Request Date\n - **submissionDate**: Submission Date\n", "required": false, "type": "string", "default": "requestDate" }, { "name": "groupName", "in": "query", "description": "Valid CyberSource Group Name.User can define groups using CBAPI and Group Management Module in EBC2. Groups are collection of organizationIds", "required": false, "type": "string" }, { "name": "offset", "in": "query", "description": "Offset of the Purchase and Refund Results.", "required": false, "type": "integer", "format": "int32" }, { "name": "limit", "in": "query", "description": "Results count per page. Range(1-2000)", "required": false, "type": "integer", "minimum": 1, "maximum": 2000, "default": 2000, "format": "int32" } ], "responses": { "200": { "description": "Ok", "schema": { "title": "reportingV3PurchaseRefundDetailsGet200Response", "type": "object", "properties": { "offset": { "type": "integer" }, "limit": { "type": "integer" }, "pageResults": { "type": "integer" }, "requestDetails": { "type": "array", "description": "List of Request Info values", "items": { "type": "object", "properties": { "requestId": { "type": "string", "example": "12345678901234567890123456", "description": "An unique identification number assigned by CyberSource to identify the submitted request." }, "cybersourceMerchantId": { "type": "string", "example": "Cybersource Merchant Id", "description": "Cybersource Merchant Id" }, "processorMerchantId": { "type": "string", "example": "Processor Merchant Id", "description": "Cybersource Processor Merchant Id" }, "groupName": { "type": "string", "example": "996411990498708810001", "description": "Group Name" }, "transactionReferenceNumber": { "type": "string", "example": "RZ3J9WCS9J33", "description": "Transaction Reference Number" }, "merchantReferenceNumber": { "type": "string", "example": "47882339", "description": "Merchant Reference Number" } }, "description": "Request Info Section" } }, "settlements": { "type": "array", "description": "List of Settlement Info values", "items": { "type": "object", "properties": { "requestId": { "type": "string", "example": "12345678901234567890123456", "description": "An unique identification number assigned by CyberSource to identify the submitted request." }, "transactionType": { "type": "string", "example": "Purchases", "description": "Transaction Type" }, "submissionTime": { "type": "string", "example": "2017-10-01T10:10:10+05:00", "description": "Submission Date", "format": "date-time" }, "amount": { "type": "string", "example": "23.00", "description": "Amount" }, "currencyCode": { "type": "string", "example": "USD", "description": "Valid ISO 4217 ALPHA-3 currency code" }, "paymentMethod": { "type": "string", "example": "VISA", "description": "payment method" }, "walletType": { "type": "string", "example": "V.me", "description": "Solution Type (Wallet)" }, "paymentType": { "type": "string", "example": "credit card", "description": "Payment Type" }, "accountSuffix": { "type": "string", "example": "0004", "description": "Account Suffix" }, "cybersourceBatchTime": { "type": "string", "example": "2017-10-01T10:10:10+05:00", "description": "Cybersource Batch Time", "format": "date-time" }, "cybersourceBatchId": { "type": "string", "example": "123123123123123", "description": "Cybersource Batch Id" }, "cardType": { "type": "string", "example": "null", "description": "Card Type" }, "debitNetwork": { "type": "string", "example": "", "description": "Debit Network" } } } }, "authorizations": { "type": "array", "description": "List of Authorization Info values", "items": { "type": "object", "properties": { "requestId": { "type": "string", "example": "12345678901234567890123456", "description": "An unique identification number assigned by CyberSource to identify the submitted request." }, "transactionReferenceNumber": { "type": "string", "example": "RZ3J9WCS9J27", "description": "Authorization Transaction Reference Number" }, "time": { "type": "string", "example": "2017-10-01T10:10:10+05:00", "description": "Authorization Date", "format": "date-time" }, "authorizationRequestId": { "type": "string", "example": "12345678901234567890123459", "description": "Authorization Request Id" }, "amount": { "type": "string", "example": "2.50", "description": "Authorization Amount" }, "currencyCode": { "type": "string", "example": "USD", "description": "Valid ISO 4217 ALPHA-3 currency code" }, "code": { "type": "string", "example": "160780", "description": "Authorization Code" }, "rcode": { "type": "string", "example": "1", "description": "Authorization RCode" } }, "description": "Authorization Info Values" } }, "feeAndFundingDetails": { "type": "array", "description": "List of Fee Funding Info values", "items": { "type": "object", "properties": { "requestId": { "type": "string", "maxLength": 26, "example": "12345678901234567890123456", "description": "An unique identification number assigned by CyberSource to identify the submitted request." }, "interchangePerItemFee": { "type": "string", "example": "2.7", "description": "interchange Per Item Fee" }, "interchangeDescription": { "type": "string", "example": "Visa International Assessments (Enhanced)", "description": "interchange Description" }, "interchangePercentage": { "type": "string", "example": "0.25", "description": "interchange Percentage" }, "interchangePercentageAmount": { "type": "string", "example": "-3.7500", "description": "interchange Percentage Amount" }, "discountPercentage": { "type": "string", "example": "2.39", "description": "Discount Percentage" }, "discountAmount": { "type": "string", "example": "0.429", "description": "Discount Amount" }, "discountPerItemFee": { "type": "string", "example": "0.002", "description": "Discount Per Item Fee" }, "totalFee": { "type": "string", "example": "0.429", "description": "Total Fee" }, "feeCurrency": { "type": "string", "example": "1", "description": "Fee Currency" }, "duesAssessments": { "type": "string", "example": "0", "description": "Dues Assessments" }, "fundingAmount": { "type": "string", "example": "2.50", "description": "Funding Amount" }, "fundingCurrency": { "type": "string", "example": "USD", "description": "Funding Currency (ISO 4217)" } }, "description": "Fee Funding Section" } }, "others": { "type": "array", "description": "List of Other Info values", "items": { "type": "object", "properties": { "requestId": { "type": "string", "maxLength": 26, "example": "12345678901234567890123456", "description": "An unique identification number assigned by CyberSource to identify the submitted request." }, "merchantData1": { "type": "string", "example": "Merchant Defined Data", "description": "Merchant Defined Data" }, "merchantData2": { "type": "string", "example": "Merchant Defined Data", "description": "Merchant Defined Data" }, "merchantData3": { "type": "string", "example": "Merchant Defined Data", "description": "Merchant Defined Data" }, "merchantData4": { "type": "string", "example": "Merchant Defined Data", "description": "Merchant Defined Data" }, "firstName": { "type": "string", "example": "First Name", "description": "First Name" }, "lastName": { "type": "string", "example": "Last Name", "description": "Last Name" } }, "description": "Other Merchant Details Values." } }, "settlementStatuses": { "type": "array", "description": "List of Settlement Status Info values", "items": { "type": "object", "properties": { "requestId": { "type": "string", "maxLength": 26, "example": "12345678901234567890123456", "description": "An unique identification number assigned by CyberSource to identify the submitted request." }, "status": { "type": "string", "example": "Settlement Status", "description": "Settlement Status" }, "settlementTime": { "type": "string", "example": "2017-10-01T10:10:10+05:00", "format": "date-time", "description": "Settlement Date" }, "reasonCode": { "example": "reasonCode", "type": "string", "description": "ReasonCode" }, "errorText": { "example": "errorText", "type": "string", "description": "errorText" } }, "description": "Settlement Status Section Values." } } }, "description": "PurchaseAndRefundDetails" } }, "400": { "description": "Invalid request", "schema": { "title": "reportingV3PurchaseRefundDetailsGet400Response", "type": "object", "required": [ "submitTimeUtc", "reason", "message", "details" ], "properties": { "submitTimeUtc": { "type": "string", "format": "date-time", "description": "Time of request in UTC. \n", "example": "2016-08-11T22:47:57Z" }, "reason": { "type": "string", "description": "Documented reason code\n", "example": "INVALID_DATA" }, "message": { "type": "string", "description": "Short descriptive message to the user.\n", "example": "One or more fields contains invalid data" }, "details": { "type": "array", "description": "Error field list\n", "items": { "type": "object", "properties": { "field": { "type": "string", "description": "Field in request that caused an error\n" }, "reason": { "type": "string", "description": "Documented reason code\n" } }, "description": "Provides failed validation input field detail\n" } } }, "description": "HTTP status code for client application" } }, "401": { "description": "Unauthorized", "schema": { "title": "reportingV3PurchaseRefundDetailsGet401Response", "type": "object", "required": [ "submitTimeUtc", "reason", "message", "details" ], "properties": { "submitTimeUtc": { "type": "string", "format": "date-time", "description": "Time of request in UTC. \n", "example": "2016-08-11T22:47:57Z" }, "reason": { "type": "string", "description": "Documented reason code\n", "example": "INVALID_DATA" }, "message": { "type": "string", "description": "Short descriptive message to the user.\n", "example": "One or more fields contains invalid data" }, "details": { "type": "array", "description": "Error field list\n", "items": { "type": "object", "properties": { "field": { "type": "string", "description": "Field in request that caused an error\n" }, "reason": { "type": "string", "description": "Documented reason code\n" } }, "description": "Provides failed validation input field detail\n" } } }, "description": "HTTP status code for client application" } }, "404": { "description": "Report not found", "schema": { "title": "reportingV3PurchaseRefundDetailsGet404Response", "type": "object", "required": [ "submitTimeUtc", "reason", "message", "details" ], "properties": { "submitTimeUtc": { "type": "string", "format": "date-time", "description": "Time of request in UTC. \n", "example": "2016-08-11T22:47:57Z" }, "reason": { "type": "string", "description": "Documented reason code\n", "example": "INVALID_DATA" }, "message": { "type": "string", "description": "Short descriptive message to the user.\n", "example": "One or more fields contains invalid data" }, "details": { "type": "array", "description": "Error field list\n", "items": { "type": "object", "properties": { "field": { "type": "string", "description": "Field in request that caused an error\n" }, "reason": { "type": "string", "description": "Documented reason code\n" } }, "description": "Provides failed validation input field detail\n" } } }, "description": "HTTP status code for client application" } }, "500": { "description": "Internal Server Error", "schema": { "title": "reportingV3PurchaseRefundDetailsGet500Response", "type": "object", "required": [ "submitTimeUtc", "reason", "message", "details" ], "properties": { "submitTimeUtc": { "type": "string", "format": "date-time", "description": "Time of request in UTC. \n", "example": "2016-08-11T22:47:57Z" }, "reason": { "type": "string", "description": "Documented reason code\n", "example": "INVALID_DATA" }, "message": { "type": "string", "description": "Short descriptive message to the user.\n", "example": "One or more fields contains invalid data" }, "details": { "type": "array", "description": "Error field list\n", "items": { "type": "object", "properties": { "field": { "type": "string", "description": "Field in request that caused an error\n" }, "reason": { "type": "string", "description": "Documented reason code\n" } }, "description": "Provides failed validation input field detail\n" } } }, "description": "HTTP status code for client application" }, "examples": { "application/json": { "code": "SERVER_ERROR", "correlationId": null, "detail": "Internal Server Error. Please contact the customer support.", "localizationKey": "cybsapi.server.error", "message": "Error encountered while processing request" } } } } } }, "/reporting/v3/payment-batch-summaries": { "get": { "tags": [ "Payment Batch Summaries" ], "summary": "Get Payment Batch Summary Data", "description": "Scope can be either account/merchant or reseller.", "operationId": "getPaymentBatchSummary", "x-devcenter-metaData": { "categoryTag": "Reporting", "enableDownload": true, "x-custom-headers": { "accept": [ "text/csv", "application/xml", "application/hal+json" ] } }, "x-queryParameterDefaults": { "organizationId": "testrest", "startTime": "2019-05-01T12:00:00Z", "endTime": "2019-08-30T12:00:00Z" }, "produces": [ "application/hal+json", "text/csv", "application/xml" ], "parameters": [ { "name": "startTime", "in": "query", "description": "Valid report Start Time in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example date format:**\n - yyyy-MM-dd'T'HH:mm:ss.SSSZ (e.g. 2018-01-01T00:00:00.000Z)\n", "required": true, "type": "string", "format": "date-time" }, { "name": "endTime", "in": "query", "description": "Valid report End Time in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example date format:**\n - yyyy-MM-dd'T'HH:mm:ss.SSSZ (e.g. 2018-01-01T00:00:00.000Z)\n", "required": true, "type": "string", "format": "date-time" }, { "name": "organizationId", "in": "query", "description": "Valid Organization Id", "pattern": "[a-zA-Z0-9-_]+", "required": false, "type": "string", "minLength": 1, "maxLength": 32 }, { "name": "rollUp", "in": "query", "description": "Conditional - RollUp for data for day/week/month. Required while getting breakdown data for a Merchant", "required": false, "type": "string" }, { "name": "breakdown", "in": "query", "description": "Conditional - Breakdown on account_rollup/all_merchant/selected_merchant. Required while getting breakdown data for a Merchant.", "required": false, "type": "string" }, { "name": "startDayOfWeek", "in": "query", "description": "Optional - Start day of week to breakdown data for weeks in a month", "required": false, "type": "integer", "format": "int32", "minimum": 1, "maximum": 7 } ], "responses": { "200": { "description": "Ok", "schema": { "title": "reportingV3PaymentBatchSummariesGet200Response", "type": "object", "properties": { "startTime": { "type": "string", "format": "date-time" }, "endTime": { "type": "string", "format": "date-time" }, "paymentBatchSummaries": { "type": "array", "items": { "type": "object", "properties": { "currencyCode": { "type": "string", "example": "USD" }, "paymentSubTypeDescription": { "type": "string", "example": "Diners Club" }, "startTime": { "type": "string", "format": "date-time" }, "endTime": { "type": "string", "format": "date-time" }, "salesCount": { "type": "integer", "example": 10, "format": "int32" }, "salesAmount": { "type": "string", "example": "5000.01" }, "creditCount": { "type": "integer", "example": 10, "format": "int32" }, "creditAmount": { "type": "string", "example": "5000.01" }, "accountName": { "type": "string", "example": "ubmerchant296" }, "accountId": { "type": "string", "example": "ubmerchant296_acct" }, "merchantId": { "type": "string", "example": "ubmerchant296_3" }, "merchantName": { "type": "string", "example": "ubmerchant296_3" } } } } } } }, "400": { "description": "Invalid request", "schema": { "title": "reportingV3PaymentBatchSummariesGet200Response", "type": "object", "required": [ "submitTimeUtc", "reason", "message", "details" ], "properties": { "submitTimeUtc": { "type": "string", "format": "date-time", "description": "Time of request in UTC. \n", "example": "2016-08-11T22:47:57Z" }, "reason": { "type": "string", "description": "Documented reason code\n", "example": "INVALID_DATA" }, "message": { "type": "string", "description": "Short descriptive message to the user.\n", "example": "One or more fields contains invalid data" }, "details": { "type": "array", "description": "Error field list\n", "items": { "type": "object", "properties": { "field": { "type": "string", "description": "Field in request that caused an error\n" }, "reason": { "type": "string", "description": "Documented reason code\n" } }, "description": "Provides failed validation input field detail\n" } } }, "description": "HTTP status code for client application" } }, "404": { "description": "Payment Batch Summary not found" } } } }, "/reporting/v3/conversion-details": { "get": { "tags": [ "Conversion Details" ], "summary": "Get Conversion Detail Transactions", "description": "Get conversion detail of transactions for a merchant.", "operationId": "getConversionDetail", "x-devcenter-metaData": { "categoryTag": "Reporting", "enableDownload": true, "x-custom-headers": { "accept": [ "application/hal+json", "application/xml" ] } }, "x-queryParameterDefaults": { "startTime": "2019-03-21T00:00:00Z", "endTime": "2019-03-21T23:00:00Z", "organizationId": "testrest" }, "produces": [ "application/hal+json", "application/xml" ], "parameters": [ { "name": "startTime", "in": "query", "description": "Valid report Start Time in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example date format:**\n - yyyy-MM-dd'T'HH:mm:ss.SSSZ (e.g. 2018-01-01T00:00:00.000Z)\n", "required": true, "type": "string", "format": "date-time" }, { "name": "endTime", "in": "query", "description": "Valid report End Time in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example date format:**\n - yyyy-MM-dd'T'HH:mm:ss.SSSZ (e.g. 2018-01-01T00:00:00.000Z)\n", "required": true, "type": "string", "format": "date-time" }, { "name": "organizationId", "in": "query", "description": "Valid Organization Id", "pattern": "[a-zA-Z0-9-_]+", "required": false, "type": "string", "minLength": 1, "maxLength": 32 } ], "responses": { "200": { "description": "OK", "schema": { "title": "reportingV3ConversionDetailsGet200Response", "type": "object", "properties": { "organizationId": { "type": "string", "description": "Merchant Id", "example": "testMerchantId", "xml": { "name": "MerchantID", "attribute": true } }, "startTime": { "type": "string", "format": "date-time", "example": "2017-10-01T10:10:10+05:00", "xml": { "name": "ReportStartDate", "attribute": true } }, "endTime": { "type": "string", "format": "date-time", "example": "2017-10-01T10:10:10+05:00", "xml": { "name": "ReportEndDate", "attribute": true } }, "conversionDetails": { "type": "array", "items": { "type": "object", "properties": { "merchantReferenceNumber": { "type": "string", "description": "Merchant reference number of a merchant", "example": "1234567890", "xml": { "name": "MerchantReferenceNumber", "attribute": true } }, "conversionTime": { "type": "string", "format": "date-time", "description": "Date of conversion", "example": "2017-10-01T10:10:10+05:00", "xml": { "name": "ConversionDate", "attribute": true } }, "requestId": { "type": "string", "description": "Cybersource Transation request id", "example": "1234567890123456789012", "xml": { "name": "RequestID", "attribute": true } }, "originalDecision": { "type": "string", "description": "Original decision", "example": "REVIEW", "xml": { "name": "OriginalDecision" } }, "newDecision": { "type": "string", "description": "New decision", "example": "ACCEPT", "xml": { "name": "NewDecision" } }, "reviewer": { "type": "string", "description": "User name of the reviewer", "example": "testuserId", "xml": { "name": "Reviewer" } }, "reviewerComments": { "type": "string", "description": "Comments of the reviewer", "example": "Verified order.", "xml": { "name": "ReviewerComments" } }, "queue": { "type": "string", "description": "Name of the queue", "example": "Review Queue", "xml": { "name": "Queue" } }, "profile": { "type": "string", "description": "Name of the profile", "example": "Test Profile", "xml": { "name": "Profile" } }, "notes": { "type": "array", "items": { "type": "object", "properties": { "time": { "type": "string", "format": "date-time", "description": "Time of the note added by reviewer", "example": "2017-10-01T10:10:10+05:00", "xml": { "name": "Date", "attribute": true } }, "addedBy": { "type": "string", "description": "Note added by reviewer", "example": "testuserId", "xml": { "name": "AddedBy", "attribute": true } }, "comments": { "type": "string", "description": "Comments given by the reviewer", "example": "Verified the order and accepted.", "xml": { "name": "Comment", "attribute": true } } }, "xml": { "name": "Note" } }, "xml": { "name": "Notes" } } }, "xml": { "name": "Conversion" } } } }, "xml": { "name": "Report" } } }, "400": { "description": "Invalid request", "schema": { "title": "reportingV3ConversionDetailsGet400Response", "type": "object", "required": [ "submitTimeUtc", "reason", "message", "details" ], "properties": { "submitTimeUtc": { "type": "string", "format": "date-time", "description": "Time of request in UTC. \n", "example": "2016-08-11T22:47:57Z" }, "reason": { "type": "string", "description": "Documented reason code\n", "example": "INVALID_DATA" }, "message": { "type": "string", "description": "Short descriptive message to the user.\n", "example": "One or more fields contains invalid data" }, "details": { "type": "array", "description": "Error field list\n", "items": { "type": "object", "properties": { "field": { "type": "string", "description": "Field in request that caused an error\n" }, "reason": { "type": "string", "description": "Documented reason code\n" } }, "description": "Provides failed validation input field detail\n" } } }, "description": "HTTP status code for client application" } }, "404": { "description": "Conversion detail not found", "schema": { "title": "reportingV3ConversionDetailsGet404Response" } } } } }, "/reporting/v3/net-fundings": { "get": { "tags": [ "Net Fundings" ], "summary": "Get Netfunding Information for an Account or a Merchant", "description": "Get Netfunding information for an account or a merchant.", "operationId": "getNetFundingDetails", "x-devcenter-metaData": { "categoryTag": "Reporting", "enableDownload": true, "x-custom-headers": { "accept": [ "application/hal+json", "application/xml" ] } }, "x-queryParameterDefaults": { "organizationId": "testrest", "startTime": "2019-08-01T00:00:00Z", "endTime": "2019-09-01T23:59:59Z" }, "produces": [ "application/hal+json", "application/xml" ], "parameters": [ { "name": "startTime", "in": "query", "description": "Valid report Start Time in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example date format:**\n - yyyy-MM-dd'T'HH:mm:ss.SSSZ (e.g. 2018-01-01T00:00:00.000Z)\n", "required": true, "type": "string", "format": "date-time" }, { "name": "endTime", "in": "query", "description": "Valid report End Time in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example date format:**\n - yyyy-MM-dd'T'HH:mm:ss.SSSZ (e.g. 2018-01-01T00:00:00.000Z)\n", "required": true, "type": "string", "format": "date-time" }, { "name": "organizationId", "in": "query", "description": "Valid Organization Id", "pattern": "[a-zA-Z0-9-_]+", "required": false, "type": "string", "minLength": 1, "maxLength": 32 }, { "name": "groupName", "in": "query", "description": "Valid CyberSource Group Name.", "required": false, "type": "string" } ], "responses": { "200": { "description": "Ok", "schema": { "title": "reportingV3NetFundingsGet200Response", "type": "object", "properties": { "startTime": { "type": "string", "description": "Valid report Start Date in **ISO 8601 format**.\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example:**\n- yyyy-MM-dd'T'HH:mm:ss.SSSZZ\n", "example": "2017-10-01T10:10:10+05:00", "format": "date-time", "xml": { "attribute": true } }, "endTime": { "type": "string", "description": "Valid report End Date in **ISO 8601 format**\n**Example date format:**\n- yyyy-MM-dd'T'HH:mm:ss.SSSZZ\n", "example": "2018-04-12T23:20:50.52Z", "format": "date-time", "xml": { "attribute": true } }, "netFundingSummaries": { "type": "array", "description": "List of Netfunding summary objects", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "Valid values:\n- PURCHASES\n- REFUNDS\n- FEES\n- CHARGEBACKS\n", "example": "PURCHASES" }, "paymentSubType": { "type": "string", "example": "VI" }, "conveyedCount": { "type": "integer", "example": 10 }, "conveyedAmount": { "type": "string", "example": "100.50" }, "settledCount": { "type": "integer", "example": 10 }, "fundedCount": { "type": "integer", "example": 10 }, "fundedAmount": { "type": "string", "example": "150.50" }, "currencyCode": { "type": "string", "description": "Valid ISO 4217 ALPHA-3 currency code", "example": "USD" } }, "xml": { "name": "NetFundingSummary" } }, "xml": { "name": "NetFundingSummaries", "wrapped": true } }, "totalPurchases": { "type": "array", "description": "List of total purchases currency wise", "items": { "type": "object", "required": [ "currency", "value" ], "properties": { "currency": { "type": "string", "description": "Valid ISO 4217 ALPHA-3 currency code", "example": "USD" }, "value": { "type": "string", "example": "10.01" } }, "xml": { "name": "Amount" } }, "xml": { "name": "totalPurchases", "wrapped": true } }, "totalRefunds": { "type": "array", "description": "List of total refunds currency wise", "items": { "type": "object", "required": [ "currency", "value" ], "properties": { "currency": { "type": "string", "description": "Valid ISO 4217 ALPHA-3 currency code", "example": "USD" }, "value": { "type": "string", "example": "10.01" } }, "xml": { "name": "Amount" } }, "xml": { "name": "totalRefunds", "wrapped": true } }, "totalFees": { "type": "array", "description": "List of total fees currency wise", "items": { "type": "object", "required": [ "currency", "value" ], "properties": { "currency": { "type": "string", "description": "Valid ISO 4217 ALPHA-3 currency code", "example": "USD" }, "value": { "type": "string", "example": "10.01" } }, "xml": { "name": "Amount" } }, "xml": { "name": "totalFees", "wrapped": true } }, "totalChargebacks": { "type": "array", "description": "List of total chargebacks currency wise", "items": { "type": "object", "required": [ "currency", "value" ], "properties": { "currency": { "type": "string", "description": "Valid ISO 4217 ALPHA-3 currency code", "example": "USD" }, "value": { "type": "string", "example": "10.01" } }, "xml": { "name": "Amount" } }, "xml": { "name": "totalChargebacks", "wrapped": true } }, "netTotal": { "type": "array", "description": "List of new total currency wise", "items": { "type": "object", "required": [ "currency", "value" ], "properties": { "currency": { "type": "string", "description": "Valid ISO 4217 ALPHA-3 currency code", "example": "USD" }, "value": { "type": "string", "example": "10.01" } }, "xml": { "name": "Amount" } }, "xml": { "name": "netTotal", "wrapped": true } } } } }, "400": { "description": "Invalid request", "schema": { "title": "reportingV3NetFundingsGet400Response", "type": "object", "required": [ "submitTimeUtc", "reason", "message", "details" ], "properties": { "submitTimeUtc": { "type": "string", "format": "date-time", "description": "Time of request in UTC. \n", "example": "2016-08-11T22:47:57Z" }, "reason": { "type": "string", "description": "Documented reason code\n", "example": "INVALID_DATA" }, "message": { "type": "string", "description": "Short descriptive message to the user.\n", "example": "One or more fields contains invalid data" }, "details": { "type": "array", "description": "Error field list\n", "items": { "type": "object", "properties": { "field": { "type": "string", "description": "Field in request that caused an error\n" }, "reason": { "type": "string", "description": "Documented reason code\n" } }, "description": "Provides failed validation input field detail\n" } } }, "description": "HTTP status code for client application" } }, "401": { "description": "Unauthorized", "schema": { "title": "reportingV3NetFundingsGet401Response" } }, "403": { "description": "Forbidden", "schema": { "title": "reportingV3NetFundingsGet403Response" } }, "404": { "description": "Report not found", "schema": { "title": "reportingV3NetFundingsGet404Response" } }, "500": { "description": "Internal Server Error", "schema": { "title": "reportingV3NetFundingsGet500Response", "type": "object", "required": [ "submitTimeUtc", "reason", "message", "details" ], "properties": { "submitTimeUtc": { "type": "string", "format": "date-time", "description": "Time of request in UTC. \n", "example": "2016-08-11T22:47:57Z" }, "reason": { "type": "string", "description": "Documented reason code\n", "example": "INVALID_DATA" }, "message": { "type": "string", "description": "Short descriptive message to the user.\n", "example": "One or more fields contains invalid data" }, "details": { "type": "array", "description": "Error field list\n", "items": { "type": "object", "properties": { "field": { "type": "string", "description": "Field in request that caused an error\n" }, "reason": { "type": "string", "description": "Documented reason code\n" } }, "description": "Provides failed validation input field detail\n" } } }, "description": "HTTP status code for client application" }, "examples": { "application/json": { "code": "SERVER_ERROR", "correlationId": null, "detail": null, "fields": [], "localizationKey": "cybsapi.server.error", "message": "Error encountered while processing request" } } } } } }, "/reporting/v3/dtds/{reportDefinitionNameVersion}": { "get": { "tags": [ "Download DTD" ], "summary": "Download DTD for Report", "description": "Used to download DTDs for reports on no-auth.", "operationId": "getDTDV2", "x-devcenter-metaData": { "categoryTag": "Reporting", "isClientSideApi": true }, "produces": [ "application/xml-dtd" ], "parameters": [ { "name": "reportDefinitionNameVersion", "in": "path", "description": "Name and version of DTD file to download. Some DTDs only have one version. In that case version name is not needed. Some example values are ctdr-1.0, tdr, pbdr-1.1", "required": true, "type": "string" } ], "responses": { "200": { "description": "Ok" }, "400": { "description": "Bad request. DTD file name may be invalid" }, "404": { "description": "DTD file not found" }, "500": { "description": "Internal Server Error" } } } }, "/reporting/v3/xsds/{reportDefinitionNameVersion}": { "get": { "tags": [ "Download XSD" ], "summary": "Download XSD for Report", "description": "Used to download XSDs for reports on no-auth.", "operationId": "getXSDV2", "x-devcenter-metaData": { "categoryTag": "Reporting", "isClientSideApi": true }, "produces": [ "text/xml" ], "parameters": [ { "name": "reportDefinitionNameVersion", "in": "path", "description": "Name and version of XSD file to download. Some XSDs only have one version. In that case version name is not needed. Some example values are DecisionManagerDetailReport, DecisionManagerTypes", "required": true, "type": "string" } ], "responses": { "200": { "description": "Ok" }, "400": { "description": "Bad request. XSD file name may be invalid" }, "404": { "description": "XSD file not found" }, "500": { "description": "Internal Server Error" } } } }, "/reporting/v3/chargeback-summaries": { "get": { "tags": [ "Chargeback Summaries" ], "summary": "Get Chargeback Summaries", "description": "Chargeback Summary Report Description", "operationId": "getChargebackSummaries", "x-devcenter-metaData": { "categoryTag": "Reporting", "enableDownload": true, "accessLevel": "code", "x-custom-headers": { "accept": [ "application/hal+json", "application/xml" ] } }, "x-queryParameterDefaults": { "organizationId": "testrest", "startTime": "2019-08-01T00:00:00Z", "endTime": "2019-09-01T23:59:59Z" }, "produces": [ "application/hal+json", "application/xml" ], "parameters": [ { "name": "startTime", "in": "query", "description": "Valid report Start Time in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example date format:**\n - yyyy-MM-dd'T'HH:mm:ss.SSSZ (e.g. 2018-01-01T00:00:00.000Z)\n", "required": true, "type": "string", "format": "date-time" }, { "name": "endTime", "in": "query", "description": "Valid report End Time in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example date format:**\n - yyyy-MM-dd'T'HH:mm:ss.SSSZ (e.g. 2018-01-01T00:00:00.000Z)\n", "required": true, "type": "string", "format": "date-time" }, { "name": "organizationId", "in": "query", "description": "Valid Organization Id", "pattern": "[a-zA-Z0-9-_]+", "required": false, "type": "string", "minLength": 1, "maxLength": 32 } ], "responses": { "200": { "description": "Ok", "schema": { "title": "reportingV3ChargebackSummariesGet200Response", "type": "object", "properties": { "organizationId": { "type": "string", "description": "Organization Id", "example": "testrest", "xml": { "name": "MerchantId", "attribute": true } }, "startTime": { "type": "string", "description": "Report Start Date", "example": "2017-10-01T10:10:10+05:00", "format": "date-time", "xml": { "name": "ReportStartDate", "attribute": true } }, "endTime": { "type": "string", "description": "Report Start Date", "example": "2017-10-01T10:10:10+05:00", "xml": { "name": "ReportEndDate", "attribute": true } }, "chargebackSummaries": { "type": "array", "description": "List of Summary values", "items": { "type": "object", "properties": { "count": { "type": "number", "description": "Chargeback summary list count", "example": "8" }, "time": { "type": "string", "description": "Summary Date", "example": "2018-01-04T11:33:06.000-0800", "format": "date-time" }, "accountId": { "type": "string", "description": "Account Id", "example": "testrest_acct" } }, "xml": { "name": "Request", "wrapped": true } } } }, "xml": { "name": "Report", "wrapped": true } } } } } }, "/reporting/v3/chargeback-details": { "get": { "tags": [ "Chargeback Details" ], "summary": "Get Chargeback Details", "description": "Chargeback Detail Report Description", "operationId": "getChargebackDetails", "x-devcenter-metaData": { "categoryTag": "Reporting", "enableDownload": true, "accessLevel": "code", "x-custom-headers": { "accept": [ "application/hal+json", "application/xml" ] } }, "x-queryParameterDefaults": { "organizationId": "testrest", "startTime": "2019-08-01T00:00:00Z", "endTime": "2019-09-01T23:59:59Z" }, "produces": [ "application/hal+json", "application/xml" ], "parameters": [ { "name": "startTime", "in": "query", "description": "Valid report Start Time in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example date format:**\n - yyyy-MM-dd'T'HH:mm:ss.SSSZ (e.g. 2018-01-01T00:00:00.000Z)\n", "required": true, "type": "string", "format": "date-time" }, { "name": "endTime", "in": "query", "description": "Valid report End Time in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example date format:**\n - yyyy-MM-dd'T'HH:mm:ss.SSSZ (e.g. 2018-01-01T00:00:00.000Z)\n", "required": true, "type": "string", "format": "date-time" }, { "name": "organizationId", "in": "query", "description": "Valid Organization Id", "pattern": "[a-zA-Z0-9-_]+", "required": false, "type": "string", "minLength": 1, "maxLength": 32 } ], "responses": { "200": { "description": "Ok", "schema": { "title": "reportingV3ChargebackDetailsGet200Response", "type": "object", "properties": { "organizationId": { "type": "string", "description": "Organization Id", "example": "testrest", "xml": { "name": "MerchantId", "attribute": true } }, "startTime": { "type": "string", "description": "Report Start Date (ISO 8601 Extended)", "example": "2017-10-01T10:10:10+05:00", "format": "date-time", "xml": { "name": "ReportStartDate", "attribute": true } }, "endTime": { "type": "string", "description": "Report Start Date (ISO 8601 Extended)", "example": "2017-10-01T10:10:10+05:00", "format": "date-time", "xml": { "name": "ReportEndDate", "attribute": true } }, "chargebackDetails": { "type": "array", "description": "List of Chargeback Details list.", "items": { "type": "object", "properties": { "processorMerchantId": { "type": "string", "description": "Processor Merchant Id", "example": "174263416896" }, "merchantName": { "type": "string", "description": "Merchant Name", "example": "Revolutionary Entertainment Inc" }, "transactionReferenceNumber": { "type": "string", "description": "Transaction Reference Number", "example": "93983883073" }, "merchantReferenceNumber": { "type": "string", "description": "Merchant Reference Number", "example": "X03434388DEADBEEF" }, "natureOfDispute": { "type": "string", "description": "Nature of Dispute", "example": "Chargeback" }, "alertType": { "type": "string", "description": "Chargeback Alert Type", "example": "2" }, "amount": { "type": "string", "description": "Chargeback Amount", "example": "5" }, "sign": { "type": "string", "description": "Chargeback Sign", "example": "C" }, "action": { "type": "string", "description": "Chargeback Action", "example": "3" }, "cardType": { "type": "string", "description": "Card Type", "example": "American Express" }, "originalSettlementTime": { "type": "string", "description": "Original Settlement Date", "example": "2017-10-01T10:10:10+05:00", "format": "date-time" }, "trackingNumber": { "type": "string", "description": "Tracking Number", "example": "990175" }, "currencyCode": { "type": "string", "description": "Valid ISO 4217 ALPHA-3 currency code", "example": "USD" }, "requestId": { "type": "string", "description": "Request Id", "example": "5060113732046412501541" }, "responseDueTime": { "type": "string", "description": "Response Due Date", "example": "2017-10-01T10:10:10+05:00", "format": "date-time" }, "time": { "type": "string", "description": "Chargeback Date", "example": "2017-10-01T10:10:10+05:00", "format": "date-time" }, "actionDescription": { "type": "string", "description": "Chargeback Action Description", "example": "Financial transaction" }, "customerId": { "type": "string", "description": "Customer Id", "example": "937999JFK" }, "reasonCode": { "type": "string", "description": "Chargeback Reason Code", "example": "1050" }, "representmentCPTime": { "type": "string", "description": "Representment CP Date", "example": "2017-10-01T10:10:10+05:00", "format": "date-time" }, "applications": { "type": "string", "description": "ICS Request Applications", "example": "ics_bill" }, "eventRequestedTime": { "type": "string", "description": "Event Request Date", "example": "2017-10-01T10:10:10+05:00", "format": "date-time" }, "preDisputeFlag": { "type": "string", "description": "Pre Dispute Flag", "example": "N" } }, "xml": { "name": "Request", "wrapped": true } } } }, "xml": { "name": "Report", "wrapped": true } } } } } }, "/reporting/v3/retrieval-summaries": { "get": { "tags": [ "Retrieval Summaries" ], "summary": "Get Retrieval Summaries", "description": "Retrieval Summary Report Description", "operationId": "getRetrievalSummary", "x-devcenter-metaData": { "categoryTag": "Reporting", "enableDownload": true, "accessLevel": "code", "x-custom-headers": { "accept": [ "application/hal+json", "application/xml" ] } }, "x-queryParameterDefaults": { "organizationId": "testrest", "startTime": "2019-08-01T00:00:00Z", "endTime": "2019-09-01T23:59:59Z" }, "produces": [ "application/hal+json", "application/xml" ], "parameters": [ { "name": "startTime", "in": "query", "description": "Valid report Start Time in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example date format:**\n - yyyy-MM-dd'T'HH:mm:ss.SSSZ (e.g. 2018-01-01T00:00:00.000Z)\n", "required": true, "type": "string", "format": "date-time" }, { "name": "endTime", "in": "query", "description": "Valid report End Time in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example date format:**\n - yyyy-MM-dd'T'HH:mm:ss.SSSZ (e.g. 2018-01-01T00:00:00.000Z)\n", "required": true, "type": "string", "format": "date-time" }, { "name": "organizationId", "in": "query", "description": "Valid Organization Id", "pattern": "[a-zA-Z0-9-_]+", "required": false, "type": "string", "minLength": 1, "maxLength": 32 } ], "responses": { "200": { "description": "Ok", "schema": { "title": "reportingV3RetrievalSummariesGet200Response", "type": "object", "properties": { "organizationId": { "type": "string", "description": "Organization Id", "example": "testrest", "xml": { "name": "MerchantId", "attribute": true } }, "startTime": { "type": "string", "description": "Report Start Date", "example": "2017-10-01T10:10:10+05:00", "format": "date-time", "xml": { "name": "ReportStartDate", "attribute": true } }, "endTime": { "type": "string", "description": "Report Start Date", "example": "2017-10-01T10:10:10+05:00", "xml": { "name": "ReportEndDate", "attribute": true } }, "retrievalSummaries": { "type": "array", "description": "List of Summary values", "items": { "type": "object", "properties": { "count": { "type": "number", "description": "Chargeback summary list count", "example": "8" }, "time": { "type": "string", "description": "Summary Date", "example": "2018-01-04T11:33:06.000-0800", "format": "date-time" }, "accountId": { "type": "string", "description": "Account Id", "example": "testrest_acct" } }, "xml": { "name": "Request", "wrapped": true } } } }, "xml": { "name": "Report", "wrapped": true } } } } } }, "/reporting/v3/retrieval-details": { "get": { "tags": [ "Retrieval Details" ], "summary": "Get Retrieval Details", "description": "Retrieval Detail Report Description", "operationId": "getRetrievalDetails", "x-devcenter-metaData": { "categoryTag": "Reporting", "enableDownload": true, "accessLevel": "code", "x-custom-headers": { "accept": [ "application/hal+json", "application/xml" ] } }, "x-queryParameterDefaults": { "organizationId": "testrest", "startTime": "2019-08-01T00:00:00Z", "endTime": "2019-09-01T23:59:59Z" }, "produces": [ "application/hal+json", "application/xml" ], "parameters": [ { "name": "startTime", "in": "query", "description": "Valid report Start Time in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example date format:**\n - yyyy-MM-dd'T'HH:mm:ss.SSSZ (e.g. 2018-01-01T00:00:00.000Z)\n", "required": true, "type": "string", "format": "date-time" }, { "name": "endTime", "in": "query", "description": "Valid report End Time in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example date format:**\n - yyyy-MM-dd'T'HH:mm:ss.SSSZ (e.g. 2018-01-01T00:00:00.000Z)\n", "required": true, "type": "string", "format": "date-time" }, { "name": "organizationId", "in": "query", "description": "Valid Organization Id", "pattern": "[a-zA-Z0-9-_]+", "required": false, "type": "string", "minLength": 1, "maxLength": 32 } ], "responses": { "200": { "description": "Ok", "schema": { "title": "reportingV3RetrievalDetailsGet200Response", "type": "object", "properties": { "organizationId": { "type": "string", "description": "Organization Id", "example": "testrest", "xml": { "name": "MerchantId", "attribute": true } }, "startTime": { "type": "string", "description": "Report Start Date (ISO 8601 Extended)", "example": "2017-10-01T10:10:10+05:00", "format": "date-time", "xml": { "name": "ReportStartDate", "attribute": true } }, "endTime": { "type": "string", "description": "Report Start Date (ISO 8601 Extended)", "example": "2017-10-01T10:10:10+05:00", "format": "date-time", "xml": { "name": "ReportEndDate", "attribute": true } }, "retrievalDetails": { "type": "array", "description": "List of Retrieval Details list.", "items": { "type": "object", "properties": { "processorMerchantId": { "type": "string", "description": "Processor Merchant Id", "example": "174263416896" }, "merchantName": { "type": "string", "description": "Merchant Name", "example": "ZZZZZZ USA_EUR" }, "transactionReferenceNumber": { "type": "string", "description": "Transaction Reference Number", "example": "02230413" }, "merchantReferenceNumber": { "type": "string", "description": "Merchant Reference Number", "example": "123" }, "natureOfDispute": { "type": "string", "description": "Nature of Dispute", "example": "Retrieval" }, "alertType": { "type": "string", "description": "Retrieval Alert Type", "example": "2" }, "amount": { "type": "string", "description": "Retrieval Amount", "example": "5" }, "sign": { "type": "string", "description": "Retrieval Sign", "example": "C" }, "action": { "type": "string", "description": "Retrieval Action", "example": "3" }, "cardType": { "type": "string", "description": "Card Type", "example": "American Express" }, "originalSettlementTime": { "type": "string", "description": "Original Settlement Date", "example": "2017-10-01T10:10:10+05:00", "format": "date-time" }, "trackingNumber": { "type": "string", "description": "Tracking Number", "example": "990175" }, "currencyCode": { "type": "string", "description": "Valid ISO 4217 ALPHA-3 currency code", "example": "USD" }, "requestId": { "type": "string", "description": "Request Id", "example": "5060113732046412501541" }, "responseDueTime": { "type": "string", "description": "Response Due Date", "example": "2017-10-01T10:10:10+05:00", "format": "date-time" }, "time": { "type": "string", "description": "Retrieval Date", "example": "2017-10-01T10:10:10+05:00", "format": "date-time" }, "actionDescription": { "type": "string", "description": "Retrieval Action Description", "example": "Financial transaction" }, "customerId": { "type": "string", "description": "Customer Id", "example": "Customer Id" }, "reasonCode": { "type": "string", "description": "Retrieval Reason Code", "example": "1050" }, "representmentCPTime": { "type": "string", "description": "Representment CP Date", "example": "2017-10-01T10:10:10+05:00", "format": "date-time" }, "applications": { "type": "string", "description": "ICS Request Applications", "example": "ics_auth" }, "eventRequestedTime": { "type": "string", "description": "Event Request Date", "example": "2017-10-01T10:10:10+05:00", "format": "date-time" } }, "xml": { "name": "Request", "wrapped": true } } } }, "xml": { "name": "Report", "wrapped": true } } } } } }, "/reporting/v3/interchange-clearing-level-details": { "get": { "tags": [ "Interchange Clearing Level Details" ], "summary": "Interchange Clearing Level data for an account or a merchant", "description": "Interchange Clearing Level data for an account or a merchant", "operationId": "getInterchangeClearingLevelDetails", "x-devcenter-metaData": { "categoryTag": "Reporting", "enableDownload": true, "accessLevel": "code", "x-custom-headers": { "accept": [ "application/hal+json", "application/xml" ] } }, "x-queryParameterDefaults": { "organizationId": "testrest", "startTime": "2019-08-01T00:00:00Z", "endTime": "2019-09-01T23:59:59Z" }, "produces": [ "application/hal+json", "application/xml" ], "parameters": [ { "name": "startTime", "in": "query", "description": "Valid report Start Time in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example date format:**\n - yyyy-MM-dd'T'HH:mm:ss.SSSZ (e.g. 2018-01-01T00:00:00.000Z)\n", "required": true, "type": "string", "format": "date-time" }, { "name": "endTime", "in": "query", "description": "Valid report End Time in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n**Example date format:**\n - yyyy-MM-dd'T'HH:mm:ss.SSSZ (e.g. 2018-01-01T00:00:00.000Z)\n", "required": true, "type": "string", "format": "date-time" }, { "name": "organizationId", "in": "query", "description": "Valid Organization Id", "pattern": "[a-zA-Z0-9-_]+", "required": false, "type": "string", "minLength": 1, "maxLength": 32 } ], "responses": { "200": { "description": "Ok", "schema": { "title": "reportingV3InterchangeClearingLevelDetailsGet200Response", "type": "object", "properties": { "startDate": { "type": "string", "description": "Valid report Start Date in **ISO 8601 format**.\nPlease refer the following link to know more about ISO 8601 format.\n- https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14\n\n**Example:**\n- yyyy-MM-dd'T'HH:mm:ss.SSSZZ\n", "example": "2017-10-01T10:10:10+05:00", "format": "date-time" }, "endDate": { "type": "string", "description": "Valid report Start Date in **ISO 8601 format**.\n", "example": "2017-10-01T10:10:10+05:00", "format": "date-time" }, "interchangeClearingLevelDetails": { "type": "array", "description": "List of InterchangeClearingLevelDetail", "items": { "type": "object", "properties": { "requestId": { "type": "string", "example": "5166566062346232701541" }, "organizationId": { "type": "string", "example": "testrest" }, "accountId": { "type": "string", "example": "testrest_acct" }, "processorMerchantId": { "type": "string", "example": "174180221999" }, "transactionReferenceNumber": { "type": "string", "example": "21339480" }, "merchantReferenceNumber": { "type": "string", "example": "33557799" }, "accountSuffix": { "type": "string", "example": "2393" }, "paymentSubType": { "type": "string", "example": "VI" }, "paymentSubTypeDescription": { "type": "string", "example": "Visa" }, "transactionTime": { "type": "string", "format": "date-time", "example": "2017-10-01T10:10:10+05:00" }, "processedTime": { "type": "string", "format": "date-time", "example": "2017-10-01T10:10:10+05:00" }, "transactionType": { "type": "string", "example": "Sale" }, "amount": { "type": "string", "example": "90.50" }, "currencyCode": { "type": "string", "description": "Valid ISO 4217 ALPHA-3 currency code", "example": "USD" }, "priceType": { "type": "string", "example": "077" }, "priceAmountOne": { "type": "string", "example": "0.018" }, "priceAmountTwo": { "type": "string", "example": "0.1" }, "reClass": { "type": "string", "example": "0" }, "settlementTime": { "type": "string", "format": "date-time", "example": "2017-10-01T10:10:10+05:00" }, "settlementProcessor": { "type": "string", "example": "fdiglobal" }, "merchantBatchNumber": { "type": "string", "example": "000000037800" }, "clearedLevel": { "type": "string", "example": "REG" }, "billbackReasonCode": { "type": "string", "example": "VI" }, "billbackReasonDescription": { "type": "string", "example": "B278-TRANSACTION CLEARED AS REGULATED" }, "merchantPricedLevel": { "type": "string", "example": "1.72" }, "discountRate": { "type": "string", "example": "0.0" }, "discountAmount": { "type": "string", "example": "0.0" }, "clearingRateAmountOne": { "type": "string", "example": "0.005" }, "clearingRateAmountTwo": { "type": "string", "example": "0.22" }, "clearingRateAmountThree": { "type": "string", "example": "0.0" }, "clearingRateCurrencyCode": { "type": "string", "description": "Valid ISO 4217 ALPHA-3 currency code", "example": "USD" }, "interchangeAmount": { "type": "string", "example": "0.27" }, "billbackAmount": { "type": "string", "example": "-1.46" }, "settlementAmount": { "type": "string", "example": "1.23" }, "settlementCurrencyCode": { "type": "string", "description": "Valid ISO 4217 ALPHA-3 currency code", "example": "USD" }, "conversionRate": { "type": "string", "example": "1.0" }, "deltaCost": { "type": "string", "example": "5.0" }, "surchargeAmount": { "type": "string", "example": "5.0" }, "percentRateCharged": { "type": "string", "example": "5.5" }, "perTransactionCharged": { "type": "string", "example": "5.0" }, "downgradeReasonCode": { "type": "string", "example": "1" }, "processTime": { "type": "string", "format": "date-time", "example": "2017-10-01T10:10:10+05:00" }, "authCode": { "type": "string", "example": "012628" }, "batchTime": { "type": "string", "format": "date-time", "example": "2017-10-01T10:10:10+05:00" }, "processorBatchNumber": { "type": "string", "example": "00001" }, "cardIndicator": { "type": "string", "example": "P" }, "minimumUnit": { "type": "integer", "example": 1 }, "minimumUnitCurrencyCode": { "type": "string", "description": "Valid ISO 4217 ALPHA-3 currency code", "example": "USD" }, "creditDeltaIndicator": { "type": "string", "example": "N" }, "feeCategory": { "type": "string", "example": "A" }, "applicationName": { "type": "string", "example": "ics_auth" } }, "xml": { "name": "Request" } } } }, "xml": { "name": "Report" } } } } } }, "/sfs/v1/file-details": { "get": { "tags": [ "SecureFileShare" ], "summary": "Get List of Files", "description": "Get list of files and it's information of them available inside the report directory", "operationId": "getFileDetail", "x-devcenter-metaData": { "categoryTag": "Secure_File_Share", "developerGuides": "https://developer.cybersource.com/api/developer-guides/dita-secure-file-share-api-102718/secure_file_share_api_intro.html" }, "x-queryParameterDefaults": { "organizationId": "testrest", "startDate": "2020-10-20", "endDate": "2030-01-01", "name": "" }, "produces": [ "application/hal+json" ], "consumes": [ "*/*;charset=utf-8" ], "parameters": [ { "name": "startDate", "in": "query", "description": "Valid start date in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n **Example date format:**\n - yyyy-MM-dd\n", "required": true, "type": "string", "format": "date" }, { "name": "endDate", "in": "query", "description": "Valid end date in **ISO 8601 format**\nPlease refer the following link to know more about ISO 8601 format.[Rfc Date Format](https://xml2rfc.tools.ietf.org/public/rfc/html/rfc3339.html#anchor14)\n\n **Example date format:**\n - yyyy-MM-dd\n", "required": true, "type": "string", "format": "date" }, { "name": "organizationId", "in": "query", "description": "Valid Cybersource Organization Id", "pattern": "[a-zA-Z0-9-_]+", "required": false, "type": "string", "minLength": 1, "maxLength": 32 }, { "name": "name", "in": "query", "description": "**Tailored to searches for specific files with in given Date range**\nexample : MyTransactionDetailreport.xml\n", "pattern": "[a-zA-Z0-9-_\\.]+", "required": false, "type": "string" } ], "responses": { "200": { "description": "Ok", "schema": { "title": "V1FileDetailsGet200Response", "type": "object", "properties": { "fileDetails": { "type": "array", "items": { "type": "object", "properties": { "fileId": { "type": "string", "description": "Unique identifier of a file", "example": "AC855F9F42C90361EC78202F47CDE98D70BEAA6FB00FB56AE83EE9A9DAEE077B" }, "name": { "type": "string", "description": "Name of the file", "example": "MyTransactionDetailreport.xml" }, "createdTime": { "type": "string", "format": "date-time", "description": "Date and time for the file in PST", "example": "2017-10-01T00:00:00+05:00" }, "lastModifiedTime": { "type": "string", "format": "date-time", "description": "Date and time for the file in PST", "example": "2017-10-01T00:00:00+05:00" }, "date": { "type": "string", "format": "date", "description": "Date and time for the file in PST", "example": "2017-10-05" }, "mimeType": { "type": "string", "description": "'File extension'\n\nValid values:\n- 'application/xml'\n- 'text/csv'\n- 'application/pdf'\n- 'application/octet-stream'\n", "example": "application/xml" }, "size": { "type": "number", "description": "Size of the file in bytes", "example": 2245397 } } } }, "_links": { "type": "object", "properties": { "self": { "type": "object", "properties": { "href": { "type": "string", "example": "/sfs/v1/file-details?startDate=2018-01-01&endDate=2018-01-02" }, "method": { "type": "string", "example": "GET" } } }, "files": { "type": "array", "items": { "type": "object", "properties": { "fileId": { "type": "string", "description": "Unique identifier for each file", "example": "AC855F9F42C90361EC78202F47CDE98D70BEAA6FB00FB56AE83EE9A9DAEE077B" }, "href": { "type": "string", "example": "/sfs/v1/files/AC855F9F42C90361EC78202F47CDE98D70BEAA6FB00FB56AE83EE9A9DAEE077B" }, "method": { "type": "string", "example": "GET" } } } } } } } } }, "400": { "description": "Invalid request", "schema": { "title": "V1FilesGet400Response", "type": "object", "required": [ "code", "message" ], "properties": { "code": { "type": "string", "description": "Error code" }, "message": { "type": "string", "description": "Error message" }, "localizationKey": { "type": "string", "description": "Localization Key Name" }, "correlationId": { "type": "string", "description": "Correlation Id" }, "detail": { "type": "string", "description": "Error Detail" }, "fields": { "type": "array", "description": "Error fields List", "items": { "type": "object", "properties": { "path": { "type": "string", "description": "Path of the failed property" }, "message": { "type": "string", "description": "Error description about validation failed field" }, "localizationKey": { "type": "string", "description": "Localized Key Name" } }, "description": "Provide validation failed input field details" } } }, "description": "Error Bean" }, "examples": { "application/json": { "code": "VALIDATION_ERROR", "correlationId": null, "detail": null, "fields": [ { "path": "startTime", "message": "Start date should not precede 18 months from current time in GMT", "localizationKey": null } ], "localizationKey": "cybsapi.validation.errors", "message": "Field validation errors" } } }, "401": { "description": "Ok", "schema": { "title": "V1FileDetailsGet401Response", "type": "object", "required": [ "code", "message" ], "properties": { "code": { "type": "string", "description": "Error code" }, "message": { "type": "string", "description": "Error message" }, "localizationKey": { "type": "string", "description": "Localization Key Name" }, "correlationId": { "type": "string", "description": "Correlation Id" }, "detail": { "type": "string", "description": "Error Detail" }, "fields": { "type": "array", "description": "Error fields List", "items": { "type": "object", "properties": { "path": { "type": "string", "description": "Path of the failed property" }, "message": { "type": "string", "description": "Error description about validation failed field" }, "localizationKey": { "type": "string", "description": "Localized Key Name" } }, "description": "Provide validation failed input field details" } } }, "description": "Error Bean" }, "examples": { "application/json": { "code": "VALIDATION_ERROR", "correlationId": null, "detail": null, "fields": [ { "path": "organizationId", "message": "Organization doesn't has access to File details", "localizationKey": null } ], "localizationKey": "cybsapi.validation.errors", "message": "Field validation errors" } } }, "404": { "description": "Files Info not found", "schema": { "title": "V1FileDetailsGet404Response", "type": "object", "required": [ "code", "message" ], "properties": { "code": { "type": "string", "description": "Error code" }, "message": { "type": "string", "description": "Error message" }, "localizationKey": { "type": "string", "description": "Localization Key Name" }, "correlationId": { "type": "string", "description": "Correlation Id" }, "detail": { "type": "string", "description": "Error Detail" }, "fields": { "type": "array", "description": "Error fields List", "items": { "type": "object", "properties": { "path": { "type": "string", "description": "Path of the failed property" }, "message": { "type": "string", "description": "Error description about validation failed field" }, "localizationKey": { "type": "string", "description": "Localized Key Name" } }, "description": "Provide validation failed input field details" } } }, "description": "Error Bean" }, "examples": { "application/json": { "code": "RESOURCE_NOTFOUND", "correlationId": null, "detail": "The requested resource is not found. Please try again later.", "localizationKey": "cybsapi.resource.notfound", "message": "Files Info not found for requested input values" } } }, "500": { "description": "Internal Server Error", "schema": { "title": "V1FileDetailsGet500Response", "type": "object", "required": [ "code", "message" ], "properties": { "code": { "type": "string", "description": "Error code" }, "message": { "type": "string", "description": "Error message" }, "localizationKey": { "type": "string", "description": "Localization Key Name" }, "correlationId": { "type": "string", "description": "Correlation Id" }, "detail": { "type": "string", "description": "Error Detail" }, "fields": { "type": "array", "description": "Error fields List", "items": { "type": "object", "properties": { "path": { "type": "string", "description": "Path of the failed property" }, "message": { "type": "string", "description": "Error description about validation failed field" }, "localizationKey": { "type": "string", "description": "Localized Key Name" } }, "description": "Provide validation failed input field details" } } }, "description": "Error Bean" }, "examples": { "application/json": { "code": "SERVER_ERROR", "correlationId": null, "detail": "Internal Server Error. Please contact the customer support.", "localizationKey": "cybsapi.server.error", "message": "Error encountered while processing request" } } } } } }, "/sfs/v1/files/{fileId}": { "get": { "tags": [ "SecureFileShare" ], "summary": "Download a File with File Identifier", "description": "Download a file for the given file identifier", "operationId": "getFile", "x-streaming": true, "x-devcenter-metaData": { "categoryTag": "Secure_File_Share", "developerGuides": "https://developer.cybersource.com/api/developer-guides/dita-secure-file-share-api-102718/secure_file_share_api_intro.html", "enableDownload": true, "x-custom-headers": { "accept": [ "text/csv", "application/xml", "application/pdf" ] } }, "x-queryParameterDefaults": { "organizationId": "testrest" }, "x-depends": { "example": { "path": "/sfs/v1/file-details", "verb": "get", "exampleId": "Get list of files" }, "fieldMapping": [ { "sourceField": "fileDetails[0].fileId", "destinationField": "fileId", "fieldTypeInDestination": "path" } ] }, "produces": [ "application/xml", "text/csv", "application/pdf" ], "consumes": [ "*/*;charset=utf-8" ], "parameters": [ { "name": "fileId", "in": "path", "description": "Unique identifier for each file", "required": true, "type": "string" }, { "name": "organizationId", "in": "query", "description": "Valid Cybersource Organization Id", "pattern": "[a-zA-Z0-9-_]+", "required": false, "type": "string", "minLength": 1, "maxLength": 32 } ], "responses": { "200": { "description": "OK" }, "400": { "description": "Invalid Request", "schema": { "type": "object", "required": [ "code", "message" ], "properties": { "code": { "type": "string", "description": "Error code" }, "message": { "type": "string", "description": "Error message" }, "localizationKey": { "type": "string", "description": "Localization Key Name" }, "correlationId": { "type": "string", "description": "Correlation Id" }, "detail": { "type": "string", "description": "Error Detail" }, "fields": { "type": "array", "description": "Error fields List", "items": { "type": "object", "properties": { "path": { "type": "string", "description": "Path of the failed property" }, "message": { "type": "string", "description": "Error description about validation failed field" }, "localizationKey": { "type": "string", "description": "Localized Key Name" } }, "description": "Provide validation failed input field details" } } }, "description": "Error Bean" } }, "404": { "description": "No Reports Found" } } } }, "/invoicing/v2/invoices": { "post": { "tags": [ "invoices" ], "summary": "Create a New Invoice", "description": "The invoicing product enables you to bill any customer with an email address and accept digital payments securely from any connected device. You can either use the system generated email or use the invoice payment link in your own communication. You can add discounts and taxes for the entire invoice or for each line item. To customize the invoice to match your brand see [Invoice Settings](https://developer.cybersource.com/api-reference-assets/index.html#invoicing_invoice-settings_update-invoice-settings). The invoice payment page uses Unified Checkout to process the payments.", "operationId": "createInvoice", "x-devcenter-metaData": { "categoryTag": "Invoicing", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/invoicing/developer/all/rest/invoicing/Introduction.html" }, "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/json", "application/hal+json", "application/json;charset=utf-8", "application/hal+json;charset=utf-8" ], "parameters": [ { "name": "createInvoiceRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "customerInformation": { "type": "object", "description": "Contains all of the customer-related fields for the invoice.", "properties": { "name": { "type": "string", "maxLength": 100, "description": "Payer name for the invoice." }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\nFor processor-specific information, see the `customer_email` request-level field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "merchantCustomerId": { "type": "string", "maxLength": 100, "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n\nFor processor-specific information, see the `customer_account_id` field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "company": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n\n**CyberSource through VisaNet**\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\nFor processor-specific information, see the `company_name` field in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" } } } } }, "invoiceInformation": { "type": "object", "description": "Contains all of the invoice-specific fields, such as the invoice number and due date.", "properties": { "invoiceNumber": { "type": "string", "description": "Invoice Number." }, "description": { "type": "string", "maxLength": 2000, "description": "The description included in the invoice." }, "dueDate": { "type": "string", "maxLength": 10, "format": "date", "description": "The invoice due date. This field is required for creating an invoice.\nFormat: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day\n" }, "sendImmediately": { "type": "boolean", "description": "If set to `true`, we send the invoice immediately. If set to `false`, the invoice remains in draft mode." }, "allowPartialPayments": { "type": "boolean", "description": "If set to `true`, the payer can make a partial invoice payment." }, "deliveryMode": { "type": "string", "description": "If set to `None`, the invoice is created, and its status is set to 'CREATED', but no email is sent. \n\nPossible values: \n - `None` \n - `Email` \n" } } }, "orderInformation": { "type": "object", "description": "Contains all of the order-related fields for the invoice, such as the amount and line item details.", "properties": { "amountDetails": { "type": "object", "description": "Contains all of the amount-related fields in the invoice.", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. For details, see:\n- \"Authorization Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Capture Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Credit Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\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. For details, see \"Zero Amount Authorizations,\" \"Credit Information for Specific Processors\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\nRequired for creating a new invoice.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. For details, see `grand_total_amount` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in \"Authorization Information for Specific Processors\" of the [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "discountAmount": { "type": "string", "maxLength": 15, "description": "Total discount amount applied to the order.\n" }, "discountPercent": { "type": "number", "maxLength": 7, "description": "The total discount percentage applied to the invoice." }, "subAmount": { "type": "number", "maxLength": 25, "description": "Sub-amount of the invoice." }, "minimumPartialAmount": { "type": "number", "description": "The minimum partial amount required to pay the invoice." }, "taxDetails": { "type": "object", "description": "Contains all of the tax-related fields for the invoice.", "properties": { "type": { "type": "string", "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n\nFor processor-specific details, see the `alternate_tax_amount`, `local_tax`, `national_tax` or `vat_tax_amount` field\ndescriptions in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "amount": { "type": "string", "maxLength": 13, "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" }, "rate": { "type": "string", "maxLength": 6, "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n\nFor processor-specific details, see the `alternate_tax_amount`, `vat_rate`, `vat_tax_rate`, `local_tax`, `national_tax`, `vat_tax_amount` or `other_tax#_rate` field descriptions in the [Level II and Level III Processing Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" } } }, "freight": { "type": "object", "description": "Contains all of the shipping-related fields for the invoice.", "properties": { "amount": { "type": "string", "maxLength": 13, "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n\nFor processor-specific information, see the freight_amount field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "taxable": { "type": "boolean", "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nFor processor-specific information, see the `tax_indicator` field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n\nPossible values:\n - **true**\n - **false**\n" }, "taxRate": { "description": "Shipping Tax rate applied to the freight amount.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n", "type": "string", "maxLength": 7 } } } } }, "lineItems": { "type": "array", "maxItems": 30, "items": { "type": "object", "description": "List of the line items from the order, which are included in an invoice.", "properties": { "productSku": { "type": "string", "maxLength": 255, "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" }, "productName": { "type": "string", "maxLength": 255, "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "quantity": { "type": "integer", "minimum": 1, "maximum": 999999999, "default": 1, "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "unitPrice": { "type": "string", "maxLength": 15, "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in the [Merchant Descriptors Using the SCMP API Guide.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Merchant_Descriptors_SCMP_API/html/)\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" }, "discountAmount": { "type": "string", "maxLength": 13, "description": "Discount applied to the item." }, "discountRate": { "type": "string", "maxLength": 6, "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" }, "taxAmount": { "type": "string", "maxLength": 15, "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" }, "taxRate": { "type": "string", "maxLength": 7, "description": "Tax rate applied to the item.\n\nFor details, see `tax_rate` field description in the [Level II and Level III Processing Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" }, "totalAmount": { "type": "string", "maxLength": 13, "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" } } } } } } }, "example": { "customerInformation": { "name": "Tanya Lee", "email": "tanya.lee@my-email.world", "merchantCustomerId": "1234", "company": { "name": "ABC" } }, "invoiceInformation": { "description": "This is a test invoice", "dueDate": "2019-07-11", "sendImmediately": true, "allowPartialPayments": true, "deliveryMode": "email" }, "orderInformation": { "amountDetails": { "totalAmount": "2623.64", "currency": "USD", "discountAmount": "126.08", "discountPercent": "5.0", "subAmount": "2749.72", "minimumPartialAmount": "20", "taxDetails": { "type": "State Tax", "amount": "208.04", "rate": "8.25" }, "freight": { "amount": "20.00", "taxable": true } }, "lineItems": [ { "productSku": "P653727383", "productName": "First line item's name", "unitPrice": "12.05", "quantity": "20", "discountAmount": "13.04", "discountPercent": "5.0", "taxAmount": "0.0", "taxRate": "0.0", "totalAmount": "247.86" } ] } } } } ], "responses": { "201": { "description": "Created.", "schema": { "title": "invoicingV2InvoicesPost201Response", "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." } } }, "update": { "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." } } }, "deliver": { "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." } } }, "cancel": { "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.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the invoice.\n\nPossible values:\n- DRAFT\n- CREATED\n- SENT\n- PARTIAL\n- PAID\n- CANCELED\n" }, "customerInformation": { "type": "object", "description": "Contains all of the customer-related fields for the invoice.", "properties": { "name": { "type": "string", "maxLength": 100, "description": "Payer name for the invoice." }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\nFor processor-specific information, see the `customer_email` request-level field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "merchantCustomerId": { "type": "string", "maxLength": 100, "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n\nFor processor-specific information, see the `customer_account_id` field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "company": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n\n**CyberSource through VisaNet**\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\nFor processor-specific information, see the `company_name` field in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" } } } } }, "invoiceInformation": { "type": "object", "description": "Contains all of the invoice-specific fields, such as the invoice number and due date.", "properties": { "invoiceNumber": { "type": "string", "description": "Invoice Number." }, "description": { "type": "string", "maxLength": 2000, "description": "The description included in the invoice." }, "dueDate": { "type": "string", "maxLength": 10, "format": "date", "description": "The invoice due date. This field is required for creating an invoice.\nFormat: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day\n" }, "allowPartialPayments": { "type": "boolean", "description": "If set to `true`, the payer can make a partial invoice payment." }, "paymentLink": { "type": "string", "description": "Returns the payment link to an invoice when the invoice status is `SENT`, `CREATED`, `PARTIAL`, or `PAID`." }, "deliveryMode": { "type": "string", "description": "If set to `None`, the invoice is created, and its status is set to 'CREATED', but no email is sent. \n\nPossible values: \n - `None` \n - `Email` \n" } } }, "orderInformation": { "type": "object", "description": "Contains all of the order-related fields for the invoice.", "properties": { "amountDetails": { "type": "object", "description": "Contains all of the amount-related fields in the invoice.", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. For details, see:\n- \"Authorization Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Capture Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Credit Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\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. For details, see \"Zero Amount Authorizations,\" \"Credit Information for Specific Processors\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\nRequired for creating a new invoice.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. For details, see `grand_total_amount` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in \"Authorization Information for Specific Processors\" of the [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "balanceAmount": { "type": "string", "maxLength": 12, "description": "Remaining balance on the account.\n\nReturned by authorization service.\n\n#### PIN debit\nRemaining balance on the prepaid card.\n\nReturned by PIN debit purchase.\n" }, "discountAmount": { "type": "string", "maxLength": 15, "description": "Total discount amount applied to the order.\n" }, "discountPercent": { "type": "number", "maxLength": 7, "description": "The total discount percentage applied to the invoice." }, "subAmount": { "type": "number", "maxLength": 25, "description": "Sub-amount of the invoice." }, "minimumPartialAmount": { "type": "number", "description": "The minimum partial amount required to pay the invoice." }, "taxDetails": { "type": "object", "description": "Contains all of the tax-related fields for the invoice.", "properties": { "type": { "type": "string", "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n\nFor processor-specific details, see the `alternate_tax_amount`, `local_tax`, `national_tax` or `vat_tax_amount` field\ndescriptions in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "amount": { "type": "string", "maxLength": 13, "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" }, "rate": { "type": "string", "maxLength": 6, "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n\nFor processor-specific details, see the `alternate_tax_amount`, `vat_rate`, `vat_tax_rate`, `local_tax`, `national_tax`, `vat_tax_amount` or `other_tax#_rate` field descriptions in the [Level II and Level III Processing Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" } } }, "freight": { "type": "object", "description": "Contains all of the shipping-related fields for the invoice.", "properties": { "amount": { "type": "string", "maxLength": 13, "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n\nFor processor-specific information, see the freight_amount field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "taxable": { "type": "boolean", "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nFor processor-specific information, see the `tax_indicator` field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n\nPossible values:\n - **true**\n - **false**\n" }, "taxRate": { "description": "Shipping Tax rate applied to the freight amount.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n", "type": "string", "maxLength": 7 } } } } }, "lineItems": { "type": "array", "maxItems": 30, "items": { "type": "object", "description": "List of the line items from the order, which are included in an invoice.", "properties": { "productSku": { "type": "string", "maxLength": 255, "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" }, "productName": { "type": "string", "maxLength": 255, "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "quantity": { "type": "integer", "minimum": 1, "maximum": 999999999, "default": 1, "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "unitPrice": { "type": "string", "maxLength": 15, "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in the [Merchant Descriptors Using the SCMP API Guide.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Merchant_Descriptors_SCMP_API/html/)\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" }, "discountAmount": { "type": "string", "maxLength": 13, "description": "Discount applied to the item." }, "discountRate": { "type": "string", "maxLength": 6, "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" }, "taxAmount": { "type": "string", "maxLength": 15, "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" }, "taxRate": { "type": "string", "maxLength": 7, "description": "Tax rate applied to the item.\n\nFor details, see `tax_rate` field description in the [Level II and Level III Processing Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" }, "totalAmount": { "type": "string", "maxLength": 13, "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" } } } } } } }, "example": { "_links": { "self": { "href": "/rest/v2/invoices/98753", "method": "GET" }, "update": { "href": "/rest/v2/invoices/98753", "method": "PUT" }, "send": { "href": "/rest/v2/invoices/98753/delivery", "method": "POST" }, "cancel": { "href": "/rest/v2/invoices/98753/cancelation", "method": "POST" } }, "id": "98753", "submitTimeUtc": "2019-06-28T19:48:06Z", "status": "SENT", "customerInformation": { "name": "Tanya Lee", "email": "tanya.lee@my-email.world", "merchantCustomerId": "1234", "company": { "name": "ABC" } }, "invoiceInformation": { "invoiceNumber": "98753", "description": "This is a test invoice", "dueDate": "2019-07-11", "allowPartialPayments": true, "paymentLink": "https://ebc.cybersource.com/ebc2/invoicing/payInvoice/c7UI9Vz8rdhXbc8FdK6SaoeOATON4TQLhbd5lfib9UCyywvZLhIrSuYYNFMynMCc", "deliveryMode": "email" }, "orderInformation": { "amountDetails": { "totalAmount": "2623.64", "currency": "USD", "balanceAmount": "2623.64", "discountAmount": "126.08", "discountPercent": "5.0", "subAmount": "2749.72", "minimumPartialAmount": "20.00", "taxDetails": { "type": "State Tax", "amount": "208.04", "rate": "8.25" }, "freight": { "amount": "20.00", "taxable": true } }, "lineItems": [ { "productSku": "P653727383", "productName": "First line item's name", "unitPrice": "12.05", "quantity": "20", "discountAmount": "13.04", "discountPercent": "5.0", "taxAmount": "0.0", "taxRate": "0.0", "totalAmount": "247.86" } ] } } } }, "202": { "description": "Invoice created but failed to send an email. Send the invoice separately.", "schema": { "title": "invoicingV2InvoicesPost202Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the invoice.\n\nPossible values:\n- DRAFT\n- CREATED\n- SENT\n- PARTIAL\n- PAID\n- CANCELED\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n- ACCEPTED\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" } } } } }, "example": { "submitTimeUtc": "2019-06-28T20:21:48Z", "status": "ACCEPTED", "reason": "ACCEPTED", "message": "Invoice ID 98753 created but failed to send an email. Send the invoice separately." } } }, "400": { "description": "Invalid request.", "schema": { "title": "invoicingV2InvoicesPost400Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the invoice.\n\nPossible values:\n - BADREQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_MERCHANT_CONFIGURATION\n - PROCESSOR_UNAVAILABLE\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" } } } } }, "example": { "submitTimeUtc": "2019-07-01T21:40:10Z", "status": "BADREQUEST", "reason": "VALIDATION_ERROR", "message": "Field validation errors.", "details": [ { "field": "customerInformation.email", "reason": "Invalid email" } ] } } }, "404": { "description": "The specified resource is not found.", "schema": { "title": "invoicingV2InvoicesPost404Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the invoice.\n\nPossible values:\n - NOTFOUND\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_MERCHANT_CONFIGURATION\n - PROCESSOR_UNAVAILABLE\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" } } } } }, "example": { "submitTimeUtc": "2019-07-01T21:36:29Z", "status": "NOTFOUND", "reason": "NOT_FOUND", "message": "Invoice does not exist." } } }, "default": { "description": "Unexpected error.", "schema": { "title": "invoicingV2InvoicesPost502Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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." } }, "example": { "submitTimeUtc": "2018-06-12T09:27:20.000Z", "status": "SERVER_ERROR", "reason": "SERVER_ERROR", "message": "Error - General system failure." } } } }, "x-example": { "example0": { "summary": "Create a draft invoice", "value": { "customerInformation": { "name": "Tanya Lee", "email": "tanya.lee@my-email.world", "merchantCustomerId": "1234", "company": { "name": "ABC" } }, "invoiceInformation": { "description": "This is a test invoice", "dueDate": "2019-07-11", "sendImmediately": false, "allowPartialPayments": true, "deliveryMode": "none" }, "orderInformation": { "amountDetails": { "totalAmount": "2623.64", "currency": "USD", "discountAmount": "126.08", "discountPercent": "5.0", "subAmount": "2749.72", "minimumPartialAmount": "20.00", "taxDetails": { "type": "State Tax", "amount": "208.00", "rate": "8.25" }, "freight": { "amount": "20.00", "taxable": true } }, "lineItems": [ { "productSku": "P653727383", "productName": "First line item's name", "unitPrice": "12.05", "quantity": "20", "discountAmount": "13.04", "discountPercent": "5.0", "taxAmount": "0.0", "taxRate": "0.0", "totalAmount": "247.86" } ] } } }, "example1": { "summary": "Create and send the invoice immediately", "value": { "customerInformation": { "name": "Tanya Lee", "email": "tanya.lee@my-email.world", "merchantCustomerId": "1234", "company": { "name": "ABC" } }, "invoiceInformation": { "description": "This is a test invoice", "dueDate": "2019-07-11", "sendImmediately": true, "allowPartialPayments": true, "deliveryMode": "email" }, "orderInformation": { "amountDetails": { "totalAmount": "2623.64", "currency": "USD", "discountAmount": "126.08", "discountPercent": "5.0", "subAmount": "2749.72", "minimumPartialAmount": "20.00", "taxDetails": { "type": "State Tax", "amount": "208.04", "rate": "8.25" }, "freight": { "amount": "20.00", "taxable": true } }, "lineItems": [ { "productSku": "P653727383", "productName": "First line item's name", "unitPrice": "12.05", "quantity": "20", "discountAmount": "13.04", "discountPercent": "5.0", "taxAmount": "0.0", "taxRate": "0.0", "totalAmount": "247.86" } ] } } }, "example2": { "summary": "Create an invoice and assign it a specific invoice number", "value": { "customerInformation": { "name": "Tanya Lee", "email": "tanya.lee@my-email.world", "merchantCustomerId": "1234", "company": { "name": "ABC" } }, "invoiceInformation": { "invoiceNumber": "A123", "description": "This is a test invoice", "dueDate": "2019-07-11", "sendImmediately": true, "allowPartialPayments": true, "deliveryMode": "email" }, "orderInformation": { "amountDetails": { "totalAmount": "2623.64", "currency": "USD", "discountAmount": "126.08", "discountPercent": "5.0", "subAmount": "2749.72", "minimumPartialAmount": "20.00", "taxDetails": { "type": "State Tax", "amount": "208.04", "rate": "8.25" }, "freight": { "amount": "20.00", "taxable": true } }, "lineItems": [ { "productSku": "P653727383", "productName": "First line item's name", "unitPrice": "12.05", "quantity": "20", "discountAmount": "13.04", "discountPercent": "5.0", "taxAmount": "0.0", "taxRate": "0.0", "totalAmount": "247.86" } ] } } }, "example3": { "summary": "Create an invoice without sending it", "value": { "customerInformation": { "name": "Tanya Lee", "email": "tanya.lee@my-email.world", "merchantCustomerId": "1234", "company": { "name": "ABC" } }, "invoiceInformation": { "invoiceNumber": "A123", "description": "This is a test invoice", "dueDate": "2019-07-11", "sendImmediately": true, "allowPartialPayments": true, "deliveryMode": "none" }, "orderInformation": { "amountDetails": { "totalAmount": "2623.64", "currency": "USD", "discountAmount": "126.08", "discountPercent": "5.0", "subAmount": "2749.72", "minimumPartialAmount": "20.00", "taxDetails": { "type": "State Tax", "amount": "208.04", "rate": "8.25" }, "freight": { "amount": "20.00", "taxable": true } }, "lineItems": [ { "productSku": "P653727383", "productName": "First line item's name", "unitPrice": "12.05", "quantity": "20", "discountAmount": "13.04", "discountPercent": "5.0", "taxAmount": "0.0", "taxRate": "0.0", "totalAmount": "247.86" } ] } } } } }, "get": { "tags": [ "invoices" ], "summary": "Get a List of Invoices", "description": "Provides a (filtered) list of invoices that have been created in your account. You can filter the list based on Invoice Status by setting the status query parameter to one of DRAFT, CREATED, SENT, PARTIAL, PAID or CANCELED.", "operationId": "getAllInvoices", "x-devcenter-metaData": { "categoryTag": "Invoicing", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/invoicing/developer/all/rest/invoicing/Introduction.html" }, "x-queryParameterDefaults": { "offset": "0", "limit": "5" }, "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/json", "application/hal+json", "application/json;charset=utf-8", "application/hal+json;charset=utf-8" ], "parameters": [ { "name": "offset", "in": "query", "type": "integer", "required": true, "description": "Page offset number." }, { "name": "limit", "in": "query", "type": "integer", "required": true, "description": "Maximum number of items you would like returned." }, { "name": "status", "in": "query", "type": "string", "required": false, "description": "The status of the invoice.\n\nPossible values:\n - DRAFT\n - CREATED\n - SENT\n - PARTIAL\n - PAID\n - CANCELED\n" } ], "responses": { "200": { "description": "OK.", "schema": { "title": "invoicingV2InvoicesAllGet200Response", "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." } } }, "next": { "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." } } }, "previous": { "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." } } } } }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "totalInvoices": { "type": "integer" }, "invoices": { "type": "array", "items": { "type": "object", "description": "A list of invoices.", "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." } } }, "update": { "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." } } }, "deliver": { "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." } } }, "cancel": { "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.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "status": { "type": "string", "description": "The status of the invoice.\n\nPossible values:\n- DRAFT\n- CREATED\n- SENT\n- PARTIAL\n- PAID\n- CANCELED\n" }, "customerInformation": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 100, "description": "Payer name for the invoice." }, "merchantCustomerId": { "type": "string", "maxLength": 100, "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n\nFor processor-specific information, see the `customer_account_id` field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" } } }, "invoiceInformation": { "type": "object", "properties": { "dueDate": { "type": "string", "maxLength": 10, "format": "date", "description": "The invoice due date. This field is required for creating an invoice.\nFormat: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day\n" } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "description": "Contains all of the amount-related fields for a list of invoices.", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. For details, see:\n- \"Authorization Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Capture Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Credit Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\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. For details, see \"Zero Amount Authorizations,\" \"Credit Information for Specific Processors\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\nRequired for creating a new invoice.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. For details, see `grand_total_amount` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in \"Authorization Information for Specific Processors\" of the [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" } } } } } } } } }, "example": { "_links": { "self": { "href": "/v2/invoices/?offset=1&limit=2&status=draft", "method": "GET" }, "next": { "href": "/v2/invoices/?offset=3&limit=2&status=draft", "method": "GET" }, "previous": { "href": "/v2/invoices/?offset=0&limit=2&status=draft", "method": "GET" } }, "submitTimeUtc": "2019-07-03T19:22:26Z", "totalInvoices": 123, "invoices": [ { "_links": { "self": { "href": "/v2/invoices/98772", "method": "GET" } }, "_supportedActions": [ { "href": "/v2/invoices/98772/delivery", "method": "POST" }, { "href": "/v2/invoices/98772", "method": "PUT" }, { "href": "/v2/invoices/98772/cancelation", "method": "POST" } ], "id": "98772", "status": "DRAFT", "customerInformation": { "name": "Tanya Lee", "merchantCustomerId": "1234", "company": { "name": "ABC" } }, "invoiceInformation": { "dueDate": "2019-07-11" }, "orderInformation": { "amountDetails": { "totalAmount": "14249.56", "currency": "USD" } } }, { "_links": { "self": { "href": "/v2/invoices/98771", "method": "GET" } }, "_supportedActions": [ { "href": "/v2/invoices/98771/delivery", "method": "POST" }, { "href": "/v2/invoices/98771", "method": "PUT" }, { "href": "/v2/invoices/98771/cancelation", "method": "POST" } ], "id": "98771", "status": "DRAFT", "customerInformation": { "name": "Tanya Lee", "merchantCustomerId": "1234", "company": { "name": "ABC" } }, "invoiceInformation": { "dueDate": "2019-07-11" }, "orderInformation": { "amountDetails": { "totalAmount": "14249.56", "currency": "USD" } } } ] } } }, "400": { "description": "Invalid invoice status. The status should be one of: `DRAFT`, `CREATED`, `SENT`, `PARTIAL`, `PAID`, or `CANCELED`.", "schema": { "title": "invoicingV2InvoicesAllGet400Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the invoice.\n\nPossible values:\n - BADREQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_MERCHANT_CONFIGURATION\n - PROCESSOR_UNAVAILABLE\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" } } } } }, "example": { "submitTimeUtc": "2019-07-01T21:40:10Z", "status": "BADREQUEST", "reason": "VALIDATION_ERROR", "message": "Field validation errors.", "details": [ { "field": "customerInformation.email", "reason": "Invalid email" } ] } } }, "404": { "description": "No invoices found.", "schema": { "title": "invoicingV2InvoicesAllGet404Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the invoice.\n\nPossible values:\n - NOTFOUND\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_MERCHANT_CONFIGURATION\n - PROCESSOR_UNAVAILABLE\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" } } } } }, "example": { "submitTimeUtc": "2019-07-01T21:36:29Z", "status": "NOTFOUND", "reason": "NOT_FOUND", "message": "Invoice does not exist." } } }, "default": { "description": "Unexpected error.", "schema": { "title": "invoicingV2InvoicesAllGet502Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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." } }, "example": { "submitTimeUtc": "2018-06-12T09:27:20.000Z", "status": "SERVER_ERROR", "reason": "SERVER_ERROR", "message": "Error - General system failure." } } } } } }, "/invoicing/v2/invoices/{id}": { "get": { "tags": [ "invoices" ], "summary": "Get Invoice Details", "description": "You can retrieve details of a specific invoice. This can be used to check the Invoice status and get a list of invoice payments in the invoice history section of the response. For each payment transaction you can use the Transaction Details API to get more details on the payment transaction.", "operationId": "getInvoice", "x-devcenter-metaData": { "categoryTag": "Invoicing", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/invoicing/developer/all/rest/invoicing/Introduction.html" }, "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/json", "application/hal+json", "application/json;charset=utf-8", "application/hal+json;charset=utf-8" ], "parameters": [ { "name": "id", "in": "path", "type": "string", "description": "The invoice number.", "required": true } ], "responses": { "200": { "description": "OK.", "schema": { "title": "invoicingV2InvoicesGet200Response", "example": { "_links": { "self": { "href": "/rest/v2/invoices/A123", "method": "GET" } }, "supportedActions": [ { "href": "/rest/v2/invoices/A123/delivery", "method": "POST" }, { "href": "/rest/v2/invoices/A123", "method": "PUT" }, { "href": "/rest/v2/invoices/A123/cancelation", "method": "POST" } ], "id": "A123", "submitTimeUtc": "2019-07-01T22:37:14Z", "status": "SENT", "customerInformation": { "name": "Tanya Lee", "email": "tanya.lee@my-email.world", "merchantCustomerId": "1234", "company": { "name": "ABC" } }, "invoiceInformation": { "invoiceNumber": "A123", "description": "This is a test invoice", "dueDate": "2019-07-11", "allowPartialPayments": false, "paymentLink": "https://ebc.cybersource.com/ebc2/invoicing/payInvoice/c7UI9Vz8rdhXbc8FdK6SaoeOATON4TQLhbd5lfib9UCyywvZLhIrSuYYNFMynMCc", "deliveryMode": "email" }, "orderInformation": { "amountDetails": { "totalAmount": "11955.45", "currency": "USD", "balanceAmount": "11843.71", "discountAmount": "1402.60", "discountPercent": "10.5", "subAmount": "13358.05", "minimumPartialAmount": "100.00", "taxDetails": { "type": "State Tax", "amount": "1018.05", "rate": "8.25" }, "freight": { "amount": "40.00", "taxable": true } }, "lineItems": [ { "productSku": "P653727383", "productName": "First line item's name", "unitPrice": "12.05", "quantity": "20", "discountAmount": "13.04", "discountPercent": "5.0", "taxAmount": "0.0", "taxRate": "0.0", "totalAmount": "247.86" } ] }, "invoiceHistory": [ { "event": "PAYMENT", "date": "2019-06-18T21:57:31.09Z", "transactionDetails": { "transactionId": "2155897958", "amount": "111.74" } }, { "event": "RESEND", "date": "2019-06-18T21:55:01.02Z" }, { "event": "SEND", "date": "2019-06-18T21:51:19.09Z" }, { "event": "CREATE", "date": "2019-06-18T21:51:18.76Z" } ] }, "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." } } }, "update": { "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." } } }, "deliver": { "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." } } }, "cancel": { "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.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the invoice.\n\nPossible values:\n- DRAFT\n- CREATED\n- SENT\n- PARTIAL\n- PAID\n- CANCELED\n" }, "customerInformation": { "type": "object", "description": "Contains all of the customer-related fields for the invoice.", "properties": { "name": { "type": "string", "maxLength": 100, "description": "Payer name for the invoice." }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\nFor processor-specific information, see the `customer_email` request-level field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "merchantCustomerId": { "type": "string", "maxLength": 100, "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n\nFor processor-specific information, see the `customer_account_id` field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "company": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n\n**CyberSource through VisaNet**\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\nFor processor-specific information, see the `company_name` field in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" } } } } }, "invoiceInformation": { "type": "object", "description": "Contains all of the invoice-specific fields, such as the invoice number and due date.", "properties": { "invoiceNumber": { "type": "string", "description": "Invoice Number." }, "description": { "type": "string", "maxLength": 2000, "description": "The description included in the invoice." }, "dueDate": { "type": "string", "maxLength": 10, "format": "date", "description": "The invoice due date. This field is required for creating an invoice.\nFormat: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day\n" }, "allowPartialPayments": { "type": "boolean", "description": "If set to `true`, the payer can make a partial invoice payment." }, "paymentLink": { "type": "string", "description": "Returns the payment link to an invoice when the invoice status is `SENT`, `CREATED`, `PARTIAL`, or `PAID`." }, "deliveryMode": { "type": "string", "description": "If set to `None`, the invoice is created, and its status is set to 'CREATED', but no email is sent. \n\nPossible values: \n - `None` \n - `Email` \n" } } }, "orderInformation": { "type": "object", "description": "Contains all of the order-related fields for the invoice.", "properties": { "amountDetails": { "type": "object", "description": "Contains all of the amount-related fields in the invoice.", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. For details, see:\n- \"Authorization Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Capture Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Credit Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\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. For details, see \"Zero Amount Authorizations,\" \"Credit Information for Specific Processors\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\nRequired for creating a new invoice.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. For details, see `grand_total_amount` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in \"Authorization Information for Specific Processors\" of the [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "balanceAmount": { "type": "string", "maxLength": 12, "description": "Remaining balance on the account.\n\nReturned by authorization service.\n\n#### PIN debit\nRemaining balance on the prepaid card.\n\nReturned by PIN debit purchase.\n" }, "discountAmount": { "type": "string", "maxLength": 15, "description": "Total discount amount applied to the order.\n" }, "discountPercent": { "type": "number", "maxLength": 7, "description": "The total discount percentage applied to the invoice." }, "subAmount": { "type": "number", "maxLength": 25, "description": "Sub-amount of the invoice." }, "minimumPartialAmount": { "type": "number", "description": "The minimum partial amount required to pay the invoice." }, "taxDetails": { "type": "object", "description": "Contains all of the tax-related fields for the invoice.", "properties": { "type": { "type": "string", "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n\nFor processor-specific details, see the `alternate_tax_amount`, `local_tax`, `national_tax` or `vat_tax_amount` field\ndescriptions in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "amount": { "type": "string", "maxLength": 13, "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" }, "rate": { "type": "string", "maxLength": 6, "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n\nFor processor-specific details, see the `alternate_tax_amount`, `vat_rate`, `vat_tax_rate`, `local_tax`, `national_tax`, `vat_tax_amount` or `other_tax#_rate` field descriptions in the [Level II and Level III Processing Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" } } }, "freight": { "type": "object", "description": "Contains all of the shipping-related fields for the invoice.", "properties": { "amount": { "type": "string", "maxLength": 13, "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n\nFor processor-specific information, see the freight_amount field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "taxable": { "type": "boolean", "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nFor processor-specific information, see the `tax_indicator` field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n\nPossible values:\n - **true**\n - **false**\n" }, "taxRate": { "description": "Shipping Tax rate applied to the freight amount.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n", "type": "string", "maxLength": 7 } } } } }, "lineItems": { "type": "array", "maxItems": 30, "items": { "type": "object", "description": "List of the line items from the order, which are included in an invoice.", "properties": { "productSku": { "type": "string", "maxLength": 255, "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" }, "productName": { "type": "string", "maxLength": 255, "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "quantity": { "type": "integer", "minimum": 1, "maximum": 999999999, "default": 1, "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "unitPrice": { "type": "string", "maxLength": 15, "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in the [Merchant Descriptors Using the SCMP API Guide.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Merchant_Descriptors_SCMP_API/html/)\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" }, "discountAmount": { "type": "string", "maxLength": 13, "description": "Discount applied to the item." }, "discountRate": { "type": "string", "maxLength": 6, "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" }, "taxAmount": { "type": "string", "maxLength": 15, "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" }, "taxRate": { "type": "string", "maxLength": 7, "description": "Tax rate applied to the item.\n\nFor details, see `tax_rate` field description in the [Level II and Level III Processing Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" }, "totalAmount": { "type": "string", "maxLength": 13, "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" } } } } } }, "invoiceHistory": { "type": "array", "items": { "type": "object", "properties": { "event": { "type": "string", "description": "The event triggered for the invoice.\n\nPossible values:\n - `CREATE`\n - `UPDATE`\n - `SEND`\n - `RESEND`\n - `REMINDER`\n - `PAYMENT`\n - `CANCEL`\n" }, "date": { "type": "string", "format": "date-time", "description": "The date and time when the invoice event was triggered in ISO 8601 format. Format: YYYY-MM-DDThh:mm:ssZ\n" }, "transactionDetails": { "description": "These details are only returned when the invoice event is `payment`.", "type": "object", "properties": { "transactionId": { "type": "string", "description": "Payer auth Transaction identifier." }, "amount": { "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. For details, see:\n- \"Authorization Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Capture Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Credit Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\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. For details, see \"Zero Amount Authorizations,\" \"Credit Information for Specific Processors\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\nRequired for creating a new invoice.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. For details, see `grand_total_amount` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in \"Authorization Information for Specific Processors\" of the [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### DCC for First Data\nNot used.\n" } } } } } } } } }, "400": { "description": "Invoicing service is not enabled.", "schema": { "title": "invoicingV2InvoicesGet400Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the invoice.\n\nPossible values:\n - BADREQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_MERCHANT_CONFIGURATION\n - PROCESSOR_UNAVAILABLE\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" } } } } }, "example": { "submitTimeUtc": "2019-07-01T21:40:10Z", "status": "BADREQUEST", "reason": "VALIDATION_ERROR", "message": "Field validation errors.", "details": [ { "field": "customerInformation.email", "reason": "Invalid email" } ] } } }, "404": { "description": "Invoice does not exist.", "schema": { "title": "invoicingV2InvoicesGet404Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the invoice.\n\nPossible values:\n - NOTFOUND\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_MERCHANT_CONFIGURATION\n - PROCESSOR_UNAVAILABLE\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" } } } } }, "example": { "submitTimeUtc": "2019-07-01T21:36:29Z", "status": "NOTFOUND", "reason": "NOT_FOUND", "message": "Invoice does not exist." } } }, "default": { "description": "Unexpected error.", "schema": { "title": "invoicingV2InvoicesGet502Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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." } }, "example": { "submitTimeUtc": "2018-06-12T09:27:20.000Z", "status": "SERVER_ERROR", "reason": "SERVER_ERROR", "message": "Error - General system failure." } } } } }, "put": { "tags": [ "invoices" ], "summary": "Update an Invoice", "description": "You can update all information except the invoice number till any payment is received for an invoice. Invoices that are partially or fully paid or cancelled cannot be updated.", "operationId": "updateInvoice", "x-devcenter-metaData": { "categoryTag": "Invoicing", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/invoicing/developer/all/rest/invoicing/Introduction.html" }, "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/json", "application/hal+json", "application/json;charset=utf-8", "application/hal+json;charset=utf-8" ], "parameters": [ { "name": "id", "in": "path", "type": "string", "description": "The invoice number.", "required": true }, { "name": "updateInvoiceRequest", "in": "body", "description": "Updating the invoice does not resend the invoice automatically. You must resend the invoice separately.", "required": true, "schema": { "type": "object", "properties": { "customerInformation": { "type": "object", "description": "Contains all of the customer-related fields for the invoice.", "properties": { "name": { "type": "string", "maxLength": 100, "description": "Payer name for the invoice." }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\nFor processor-specific information, see the `customer_email` request-level field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "merchantCustomerId": { "type": "string", "maxLength": 100, "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n\nFor processor-specific information, see the `customer_account_id` field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "company": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n\n**CyberSource through VisaNet**\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\nFor processor-specific information, see the `company_name` field in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" } } } } }, "invoiceInformation": { "type": "object", "description": "Contains the updatable invoice information.", "properties": { "description": { "type": "string", "maxLength": 2000, "description": "The description included in the invoice." }, "dueDate": { "type": "string", "maxLength": 10, "format": "date", "description": "The invoice due date. This field is required for creating an invoice.\nFormat: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day\n" }, "allowPartialPayments": { "type": "boolean", "description": "If set to `true`, the payer can make a partial invoice payment." }, "deliveryMode": { "type": "string", "description": "If set to `None`, the invoice is created, and its status is set to 'CREATED', but no email is sent. \n\nPossible values: \n - `None` \n - `Email` \n" } } }, "orderInformation": { "type": "object", "description": "Contains all of the order-related fields for the invoice, such as the amount and line item details.", "properties": { "amountDetails": { "type": "object", "description": "Contains all of the amount-related fields in the invoice.", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. For details, see:\n- \"Authorization Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Capture Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Credit Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\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. For details, see \"Zero Amount Authorizations,\" \"Credit Information for Specific Processors\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\nRequired for creating a new invoice.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. For details, see `grand_total_amount` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in \"Authorization Information for Specific Processors\" of the [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "discountAmount": { "type": "string", "maxLength": 15, "description": "Total discount amount applied to the order.\n" }, "discountPercent": { "type": "number", "maxLength": 7, "description": "The total discount percentage applied to the invoice." }, "subAmount": { "type": "number", "maxLength": 25, "description": "Sub-amount of the invoice." }, "minimumPartialAmount": { "type": "number", "description": "The minimum partial amount required to pay the invoice." }, "taxDetails": { "type": "object", "description": "Contains all of the tax-related fields for the invoice.", "properties": { "type": { "type": "string", "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n\nFor processor-specific details, see the `alternate_tax_amount`, `local_tax`, `national_tax` or `vat_tax_amount` field\ndescriptions in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "amount": { "type": "string", "maxLength": 13, "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" }, "rate": { "type": "string", "maxLength": 6, "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n\nFor processor-specific details, see the `alternate_tax_amount`, `vat_rate`, `vat_tax_rate`, `local_tax`, `national_tax`, `vat_tax_amount` or `other_tax#_rate` field descriptions in the [Level II and Level III Processing Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" } } }, "freight": { "type": "object", "description": "Contains all of the shipping-related fields for the invoice.", "properties": { "amount": { "type": "string", "maxLength": 13, "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n\nFor processor-specific information, see the freight_amount field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "taxable": { "type": "boolean", "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nFor processor-specific information, see the `tax_indicator` field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n\nPossible values:\n - **true**\n - **false**\n" }, "taxRate": { "description": "Shipping Tax rate applied to the freight amount.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n", "type": "string", "maxLength": 7 } } } } }, "lineItems": { "type": "array", "maxItems": 30, "items": { "type": "object", "description": "List of the line items from the order, which are included in an invoice.", "properties": { "productSku": { "type": "string", "maxLength": 255, "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" }, "productName": { "type": "string", "maxLength": 255, "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "quantity": { "type": "integer", "minimum": 1, "maximum": 999999999, "default": 1, "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "unitPrice": { "type": "string", "maxLength": 15, "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in the [Merchant Descriptors Using the SCMP API Guide.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Merchant_Descriptors_SCMP_API/html/)\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" }, "discountAmount": { "type": "string", "maxLength": 13, "description": "Discount applied to the item." }, "discountRate": { "type": "string", "maxLength": 6, "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" }, "taxAmount": { "type": "string", "maxLength": 15, "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" }, "taxRate": { "type": "string", "maxLength": 7, "description": "Tax rate applied to the item.\n\nFor details, see `tax_rate` field description in the [Level II and Level III Processing Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" }, "totalAmount": { "type": "string", "maxLength": 13, "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" } } } } } } }, "example": { "customerInformation": { "name": "Tanya Lee", "email": "tanya.lee@my-email.world", "merchantCustomerId": "1234", "company": { "name": "ABC" } }, "invoiceInformation": { "description": "This is a test invoice", "dueDate": "2019-07-11", "allowPartialPayments": true, "deliveryMode": "email" }, "orderInformation": { "amountDetails": { "totalAmount": "2623.64", "currency": "USD", "discountAmount": "126.08", "discountPercent": "5.0", "subAmount": "2749.72", "minimumPartialAmount": "20.00", "taxDetails": { "type": "State Tax", "amount": "208.04", "rate": "8.25" }, "freight": { "amount": "20.00", "taxable": true } }, "lineItems": [ { "productSku": "P653727383", "productName": "First line item's name", "unitPrice": "12.05", "quantity": "20", "discountAmount": "13.04", "discountPercent": "5.0", "taxAmount": "0.0", "taxRate": "0.0", "totalAmount": "247.86" } ] } } } } ], "responses": { "200": { "description": "OK.", "schema": { "title": "invoicingV2InvoicesPut200Response", "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." } } }, "update": { "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." } } }, "deliver": { "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." } } }, "cancel": { "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.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the invoice.\n\nPossible values:\n- DRAFT\n- CREATED\n- SENT\n- PARTIAL\n- PAID\n- CANCELED\n" }, "customerInformation": { "type": "object", "description": "Contains all of the customer-related fields for the invoice.", "properties": { "name": { "type": "string", "maxLength": 100, "description": "Payer name for the invoice." }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\nFor processor-specific information, see the `customer_email` request-level field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "merchantCustomerId": { "type": "string", "maxLength": 100, "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n\nFor processor-specific information, see the `customer_account_id` field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "company": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n\n**CyberSource through VisaNet**\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\nFor processor-specific information, see the `company_name` field in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" } } } } }, "invoiceInformation": { "type": "object", "description": "Contains all of the invoice-specific fields, such as the invoice number and due date.", "properties": { "invoiceNumber": { "type": "string", "description": "Invoice Number." }, "description": { "type": "string", "maxLength": 2000, "description": "The description included in the invoice." }, "dueDate": { "type": "string", "maxLength": 10, "format": "date", "description": "The invoice due date. This field is required for creating an invoice.\nFormat: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day\n" }, "allowPartialPayments": { "type": "boolean", "description": "If set to `true`, the payer can make a partial invoice payment." }, "paymentLink": { "type": "string", "description": "Returns the payment link to an invoice when the invoice status is `SENT`, `CREATED`, `PARTIAL`, or `PAID`." }, "deliveryMode": { "type": "string", "description": "If set to `None`, the invoice is created, and its status is set to 'CREATED', but no email is sent. \n\nPossible values: \n - `None` \n - `Email` \n" } } }, "orderInformation": { "type": "object", "description": "Contains all of the order-related fields for the invoice.", "properties": { "amountDetails": { "type": "object", "description": "Contains all of the amount-related fields in the invoice.", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. For details, see:\n- \"Authorization Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Capture Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Credit Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\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. For details, see \"Zero Amount Authorizations,\" \"Credit Information for Specific Processors\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\nRequired for creating a new invoice.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. For details, see `grand_total_amount` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in \"Authorization Information for Specific Processors\" of the [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "balanceAmount": { "type": "string", "maxLength": 12, "description": "Remaining balance on the account.\n\nReturned by authorization service.\n\n#### PIN debit\nRemaining balance on the prepaid card.\n\nReturned by PIN debit purchase.\n" }, "discountAmount": { "type": "string", "maxLength": 15, "description": "Total discount amount applied to the order.\n" }, "discountPercent": { "type": "number", "maxLength": 7, "description": "The total discount percentage applied to the invoice." }, "subAmount": { "type": "number", "maxLength": 25, "description": "Sub-amount of the invoice." }, "minimumPartialAmount": { "type": "number", "description": "The minimum partial amount required to pay the invoice." }, "taxDetails": { "type": "object", "description": "Contains all of the tax-related fields for the invoice.", "properties": { "type": { "type": "string", "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n\nFor processor-specific details, see the `alternate_tax_amount`, `local_tax`, `national_tax` or `vat_tax_amount` field\ndescriptions in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "amount": { "type": "string", "maxLength": 13, "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" }, "rate": { "type": "string", "maxLength": 6, "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n\nFor processor-specific details, see the `alternate_tax_amount`, `vat_rate`, `vat_tax_rate`, `local_tax`, `national_tax`, `vat_tax_amount` or `other_tax#_rate` field descriptions in the [Level II and Level III Processing Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" } } }, "freight": { "type": "object", "description": "Contains all of the shipping-related fields for the invoice.", "properties": { "amount": { "type": "string", "maxLength": 13, "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n\nFor processor-specific information, see the freight_amount field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "taxable": { "type": "boolean", "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nFor processor-specific information, see the `tax_indicator` field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n\nPossible values:\n - **true**\n - **false**\n" }, "taxRate": { "description": "Shipping Tax rate applied to the freight amount.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n", "type": "string", "maxLength": 7 } } } } }, "lineItems": { "type": "array", "maxItems": 30, "items": { "type": "object", "description": "List of the line items from the order, which are included in an invoice.", "properties": { "productSku": { "type": "string", "maxLength": 255, "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" }, "productName": { "type": "string", "maxLength": 255, "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "quantity": { "type": "integer", "minimum": 1, "maximum": 999999999, "default": 1, "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "unitPrice": { "type": "string", "maxLength": 15, "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in the [Merchant Descriptors Using the SCMP API Guide.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Merchant_Descriptors_SCMP_API/html/)\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" }, "discountAmount": { "type": "string", "maxLength": 13, "description": "Discount applied to the item." }, "discountRate": { "type": "string", "maxLength": 6, "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" }, "taxAmount": { "type": "string", "maxLength": 15, "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" }, "taxRate": { "type": "string", "maxLength": 7, "description": "Tax rate applied to the item.\n\nFor details, see `tax_rate` field description in the [Level II and Level III Processing Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" }, "totalAmount": { "type": "string", "maxLength": 13, "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" } } } } } } }, "example": { "_links": { "self": { "href": "/rest/v2/invoices/98753", "method": "GET" }, "update": { "href": "/rest/v2/invoices/98753", "method": "PUT" }, "send": { "href": "/rest/v2/invoices/98753/delivery", "method": "POST" }, "cancel": { "href": "/rest/v2/invoices/98753/cancelation", "method": "POST" } }, "id": "98753", "submitTimeUtc": "2019-06-28T19:48:06Z", "status": "SENT", "customerInformation": { "name": "Tanya Lee", "email": "tanya.lee@my-email.world", "merchantCustomerId": "1234", "company": { "name": "ABC" } }, "invoiceInformation": { "invoiceNumber": "98753", "description": "This is a test invoice", "dueDate": "2019-07-11", "allowPartialPayments": true, "paymentLink": "https://ebc.cybersource.com/ebc2/invoicing/payInvoice/c7UI9Vz8rdhXbc8FdK6SaoeOATON4TQLhbd5lfib9UCyywvZLhIrSuYYNFMynMCc", "deliveryMode": "email" }, "orderInformation": { "amountDetails": { "totalAmount": "2623.64", "currency": "USD", "balanceAmount": "2623.64", "discountAmount": "126.08", "discountPercent": "5.0", "subAmount": "2749.72", "minimumPartialAmount": "20.00", "taxDetails": { "type": "State Tax", "amount": "208.04", "rate": "8.25" }, "freight": { "amount": "20.00", "taxable": true } }, "lineItems": [ { "productSku": "P653727383", "productName": "First line item's name", "unitPrice": "12.05", "quantity": "20", "discountAmount": "13.04", "discountPercent": "5.0", "taxAmount": "0.0", "taxRate": "0.0", "totalAmount": "247.86" } ] } } } }, "400": { "description": "Field validation errors.", "schema": { "title": "invoicingV2InvoicesPut400Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the invoice.\n\nPossible values:\n - BADREQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_MERCHANT_CONFIGURATION\n - PROCESSOR_UNAVAILABLE\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" } } } } }, "example": { "submitTimeUtc": "2019-07-01T21:40:10Z", "status": "BADREQUEST", "reason": "VALIDATION_ERROR", "message": "Field validation errors.", "details": [ { "field": "customerInformation.email", "reason": "Invalid email" } ] } } }, "404": { "description": "Invoice does not exist.", "schema": { "title": "invoicingV2InvoicesPut404Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the invoice.\n\nPossible values:\n - NOTFOUND\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_MERCHANT_CONFIGURATION\n - PROCESSOR_UNAVAILABLE\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" } } } } }, "example": { "submitTimeUtc": "2019-07-01T21:36:29Z", "status": "NOTFOUND", "reason": "NOT_FOUND", "message": "Invoice does not exist." } } }, "default": { "description": "Unexpected error.", "schema": { "title": "invoicingV2InvoicesPut502Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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." } }, "example": { "submitTimeUtc": "2018-06-12T09:27:20.000Z", "status": "SERVER_ERROR", "reason": "SERVER_ERROR", "message": "Error - General system failure." } } } }, "x-example": { "example0": { "summary": "Update an invoice", "value": { "customerInformation": { "name": "Tanya Lee", "email": "tanya.lee@my-email.world", "merchantCustomerId": "1234", "company": { "name": "ABC" } }, "invoiceInformation": { "description": "This is an updated test invoice", "dueDate": "2019-07-15", "allowPartialPayments": true, "deliveryMode": "none" }, "orderInformation": { "amountDetails": { "totalAmount": "2623.64", "currency": "USD", "discountAmount": "126.08", "discountPercent": "5.0", "subAmount": "2749.72", "minimumPartialAmount": "200.00", "taxDetails": { "type": "State Tax", "amount": "208.00", "rate": "8.25" }, "freight": { "amount": "20.00", "taxable": true } }, "lineItems": [ { "productSku": "P653727383", "productName": "First line item's name", "unitPrice": "12.05", "quantity": "20", "discountAmount": "13.04", "discountPercent": "5.0", "taxAmount": "0.0", "taxRate": "0.0", "totalAmount": "247.86" } ] } } } } } }, "/invoicing/v2/invoices/{id}/delivery": { "post": { "tags": [ "invoices" ], "summary": "Send an Invoice", "description": "You can send an invoice in draft or created state or resend a sent or partially paid invoice. Fully paid or canceled invoices cannot be resent.", "operationId": "performSendAction", "x-devcenter-metaData": { "categoryTag": "Invoicing", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/invoicing/developer/all/rest/invoicing/Introduction.html" }, "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/json", "application/hal+json", "application/json;charset=utf-8", "application/hal+json;charset=utf-8" ], "parameters": [ { "name": "id", "in": "path", "type": "string", "description": "The invoice number.", "required": true } ], "x-depends": { "example": { "path": "/invoicing/v2/invoices", "verb": "post", "exampleId": "example0" }, "fieldMapping": [ { "sourceField": "id", "destinationField": "id", "fieldTypeInDestination": "path" } ] }, "responses": { "200": { "description": "OK.", "schema": { "title": "invoicingV2InvoicesSend200Response", "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." } } }, "update": { "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." } } }, "deliver": { "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." } } }, "cancel": { "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.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the invoice.\n\nPossible values:\n- DRAFT\n- CREATED\n- SENT\n- PARTIAL\n- PAID\n- CANCELED\n" }, "customerInformation": { "type": "object", "description": "Contains all of the customer-related fields for the invoice.", "properties": { "name": { "type": "string", "maxLength": 100, "description": "Payer name for the invoice." }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\nFor processor-specific information, see the `customer_email` request-level field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "merchantCustomerId": { "type": "string", "maxLength": 100, "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n\nFor processor-specific information, see the `customer_account_id` field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "company": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n\n**CyberSource through VisaNet**\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\nFor processor-specific information, see the `company_name` field in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" } } } } }, "invoiceInformation": { "type": "object", "description": "Contains all of the invoice-specific fields, such as the invoice number and due date.", "properties": { "invoiceNumber": { "type": "string", "description": "Invoice Number." }, "description": { "type": "string", "maxLength": 2000, "description": "The description included in the invoice." }, "dueDate": { "type": "string", "maxLength": 10, "format": "date", "description": "The invoice due date. This field is required for creating an invoice.\nFormat: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day\n" }, "allowPartialPayments": { "type": "boolean", "description": "If set to `true`, the payer can make a partial invoice payment." }, "paymentLink": { "type": "string", "description": "Returns the payment link to an invoice when the invoice status is `SENT`, `CREATED`, `PARTIAL`, or `PAID`." }, "deliveryMode": { "type": "string", "description": "If set to `None`, the invoice is created, and its status is set to 'CREATED', but no email is sent. \n\nPossible values: \n - `None` \n - `Email` \n" } } }, "orderInformation": { "type": "object", "description": "Contains all of the order-related fields for the invoice.", "properties": { "amountDetails": { "type": "object", "description": "Contains all of the amount-related fields in the invoice.", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. For details, see:\n- \"Authorization Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Capture Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Credit Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\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. For details, see \"Zero Amount Authorizations,\" \"Credit Information for Specific Processors\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\nRequired for creating a new invoice.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. For details, see `grand_total_amount` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in \"Authorization Information for Specific Processors\" of the [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "balanceAmount": { "type": "string", "maxLength": 12, "description": "Remaining balance on the account.\n\nReturned by authorization service.\n\n#### PIN debit\nRemaining balance on the prepaid card.\n\nReturned by PIN debit purchase.\n" }, "discountAmount": { "type": "string", "maxLength": 15, "description": "Total discount amount applied to the order.\n" }, "discountPercent": { "type": "number", "maxLength": 7, "description": "The total discount percentage applied to the invoice." }, "subAmount": { "type": "number", "maxLength": 25, "description": "Sub-amount of the invoice." }, "minimumPartialAmount": { "type": "number", "description": "The minimum partial amount required to pay the invoice." }, "taxDetails": { "type": "object", "description": "Contains all of the tax-related fields for the invoice.", "properties": { "type": { "type": "string", "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n\nFor processor-specific details, see the `alternate_tax_amount`, `local_tax`, `national_tax` or `vat_tax_amount` field\ndescriptions in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "amount": { "type": "string", "maxLength": 13, "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" }, "rate": { "type": "string", "maxLength": 6, "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n\nFor processor-specific details, see the `alternate_tax_amount`, `vat_rate`, `vat_tax_rate`, `local_tax`, `national_tax`, `vat_tax_amount` or `other_tax#_rate` field descriptions in the [Level II and Level III Processing Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" } } }, "freight": { "type": "object", "description": "Contains all of the shipping-related fields for the invoice.", "properties": { "amount": { "type": "string", "maxLength": 13, "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n\nFor processor-specific information, see the freight_amount field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "taxable": { "type": "boolean", "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nFor processor-specific information, see the `tax_indicator` field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n\nPossible values:\n - **true**\n - **false**\n" }, "taxRate": { "description": "Shipping Tax rate applied to the freight amount.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n", "type": "string", "maxLength": 7 } } } } }, "lineItems": { "type": "array", "maxItems": 30, "items": { "type": "object", "description": "List of the line items from the order, which are included in an invoice.", "properties": { "productSku": { "type": "string", "maxLength": 255, "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" }, "productName": { "type": "string", "maxLength": 255, "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "quantity": { "type": "integer", "minimum": 1, "maximum": 999999999, "default": 1, "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "unitPrice": { "type": "string", "maxLength": 15, "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in the [Merchant Descriptors Using the SCMP API Guide.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Merchant_Descriptors_SCMP_API/html/)\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" }, "discountAmount": { "type": "string", "maxLength": 13, "description": "Discount applied to the item." }, "discountRate": { "type": "string", "maxLength": 6, "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" }, "taxAmount": { "type": "string", "maxLength": 15, "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" }, "taxRate": { "type": "string", "maxLength": 7, "description": "Tax rate applied to the item.\n\nFor details, see `tax_rate` field description in the [Level II and Level III Processing Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" }, "totalAmount": { "type": "string", "maxLength": 13, "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" } } } } } } }, "example": { "_links": { "self": { "href": "/rest/v2/invoices/98753", "method": "GET" }, "update": { "href": "/rest/v2/invoices/98753", "method": "PUT" }, "send": { "href": "/rest/v2/invoices/98753/delivery", "method": "POST" }, "cancel": { "href": "/rest/v2/invoices/98753/cancelation", "method": "POST" } }, "id": "98753", "submitTimeUtc": "2019-06-28T19:48:06Z", "status": "SENT", "customerInformation": { "name": "Tanya Lee", "email": "tanya.lee@my-email.world", "merchantCustomerId": "1234", "company": { "name": "ABC" } }, "invoiceInformation": { "invoiceNumber": "98753", "description": "This is a test invoice", "dueDate": "2019-07-11", "allowPartialPayments": true, "paymentLink": "https://ebc.cybersource.com/ebc2/invoicing/payInvoice/c7UI9Vz8rdhXbc8FdK6SaoeOATON4TQLhbd5lfib9UCyywvZLhIrSuYYNFMynMCc", "deliveryMode": "email" }, "orderInformation": { "amountDetails": { "totalAmount": "2623.64", "currency": "USD", "balanceAmount": "2623.64", "discountAmount": "126.08", "discountPercent": "5.0", "subAmount": "2749.72", "minimumPartialAmount": "20.00", "taxDetails": { "type": "State Tax", "amount": "208.04", "rate": "8.25" }, "freight": { "amount": "20.00", "taxable": true } }, "lineItems": [ { "productSku": "P653727383", "productName": "First line item's name", "unitPrice": "12.05", "quantity": "20", "discountAmount": "13.04", "discountPercent": "5.0", "taxAmount": "0.0", "taxRate": "0.0", "totalAmount": "247.86" } ] } } } }, "400": { "description": "Requested action is not allowed.", "schema": { "title": "invoicingV2InvoicesSend400Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the invoice.\n\nPossible values:\n - BADREQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_MERCHANT_CONFIGURATION\n - PROCESSOR_UNAVAILABLE\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" } } } } }, "example": { "submitTimeUtc": "2019-07-01T21:40:10Z", "status": "BADREQUEST", "reason": "VALIDATION_ERROR", "message": "Field validation errors.", "details": [ { "field": "customerInformation.email", "reason": "Invalid email" } ] } } }, "404": { "description": "Invoice does not exist.", "schema": { "title": "invoicingV2InvoicesSend404Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the invoice.\n\nPossible values:\n - NOTFOUND\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_MERCHANT_CONFIGURATION\n - PROCESSOR_UNAVAILABLE\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" } } } } }, "example": { "submitTimeUtc": "2019-07-01T21:36:29Z", "status": "NOTFOUND", "reason": "NOT_FOUND", "message": "Invoice does not exist." } } }, "default": { "description": "Unexpected error.", "schema": { "title": "invoicingV2InvoicesSend502Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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." } }, "example": { "submitTimeUtc": "2018-06-12T09:27:20.000Z", "status": "SERVER_ERROR", "reason": "SERVER_ERROR", "message": "Error - General system failure." } } } } } }, "/invoicing/v2/invoices/{id}/cancelation": { "post": { "tags": [ "invoices" ], "summary": "Cancel an Invoice", "description": "You can cancel an invoice if no payment is made to it. You cannot cancel partially or fully paid invoices.", "operationId": "performCancelAction", "x-devcenter-metaData": { "categoryTag": "Invoicing", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/invoicing/developer/all/rest/invoicing/Introduction.html" }, "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/json", "application/hal+json", "application/json;charset=utf-8", "application/hal+json;charset=utf-8" ], "parameters": [ { "name": "id", "in": "path", "type": "string", "description": "The invoice number.", "required": true } ], "x-depends": { "example": { "path": "/invoicing/v2/invoices", "verb": "post", "exampleId": "example0" }, "fieldMapping": [ { "sourceField": "id", "destinationField": "id", "fieldTypeInDestination": "path" } ] }, "responses": { "200": { "description": "OK.", "schema": { "title": "invoicingV2InvoicesCancel200Response", "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." } } }, "update": { "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." } } }, "deliver": { "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." } } }, "cancel": { "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.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the invoice.\n\nPossible values:\n- DRAFT\n- CREATED\n- SENT\n- PARTIAL\n- PAID\n- CANCELED\n" }, "customerInformation": { "type": "object", "description": "Contains all of the customer-related fields for the invoice.", "properties": { "name": { "type": "string", "maxLength": 100, "description": "Payer name for the invoice." }, "email": { "type": "string", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\nFor processor-specific information, see the `customer_email` request-level field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n\n#### Invoicing\nEmail address for the customer for sending the invoice. If the invoice is in SENT status and email is updated, the old email customer payment link won't work and you must resend the invoice with the new payment link.\n\n#### Chase Paymentech Solutions\nOptional field.\n\n#### Credit Mutuel-CIC\nOptional field.\n\n#### OmniPay Direct\nOptional field.\n\n#### SIX\nOptional field.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### Worldpay VAP\nOptional field.\n\n#### All other processors\nNot used.\n" }, "merchantCustomerId": { "type": "string", "maxLength": 100, "description": "Your identifier for the customer.\n\nWhen a subscription or customer profile is being created, the maximum length for this field for most processors is 30. Otherwise, the maximum length is 100.\n\n#### Comercio Latino\nFor recurring payments in Mexico, the value is the customer's contract number.\nNote Before you request the authorization, you must inform the issuer of the customer contract numbers that will be used for recurring transactions.\n\n#### Worldpay VAP\nFor a follow-on credit with Worldpay VAP, CyberSource checks the following locations, in the order\ngiven, for a customer account ID value and uses the first value it finds:\n1. `customer_account_id` value in the follow-on credit request\n2. Customer account ID value that was used for the capture that is being credited\n3. Customer account ID value that was used for the original authorization\nIf a customer account ID value cannot be found in any of these locations, then no value is used.\n\nFor processor-specific information, see the `customer_account_id` field description in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" }, "company": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 60, "description": "Name of the customer's company.\n\n**CyberSource through VisaNet**\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.\n\nFor processor-specific information, see the `company_name` field in\n[Credit Card Services Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html)\n" } } } } }, "invoiceInformation": { "type": "object", "description": "Contains all of the invoice-specific fields, such as the invoice number and due date.", "properties": { "invoiceNumber": { "type": "string", "description": "Invoice Number." }, "description": { "type": "string", "maxLength": 2000, "description": "The description included in the invoice." }, "dueDate": { "type": "string", "maxLength": 10, "format": "date", "description": "The invoice due date. This field is required for creating an invoice.\nFormat: `YYYY-MM-DD`, where `YYYY` = year, `MM` = month, and `DD` = day\n" }, "allowPartialPayments": { "type": "boolean", "description": "If set to `true`, the payer can make a partial invoice payment." }, "paymentLink": { "type": "string", "description": "Returns the payment link to an invoice when the invoice status is `SENT`, `CREATED`, `PARTIAL`, or `PAID`." }, "deliveryMode": { "type": "string", "description": "If set to `None`, the invoice is created, and its status is set to 'CREATED', but no email is sent. \n\nPossible values: \n - `None` \n - `Email` \n" } } }, "orderInformation": { "type": "object", "description": "Contains all of the order-related fields for the invoice.", "properties": { "amountDetails": { "type": "object", "description": "Contains all of the amount-related fields in the invoice.", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. For details, see:\n- \"Authorization Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Capture Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Credit Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\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. For details, see \"Zero Amount Authorizations,\" \"Credit Information for Specific Processors\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\nRequired for creating a new invoice.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. For details, see `grand_total_amount` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in \"Authorization Information for Specific Processors\" of the [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "balanceAmount": { "type": "string", "maxLength": 12, "description": "Remaining balance on the account.\n\nReturned by authorization service.\n\n#### PIN debit\nRemaining balance on the prepaid card.\n\nReturned by PIN debit purchase.\n" }, "discountAmount": { "type": "string", "maxLength": 15, "description": "Total discount amount applied to the order.\n" }, "discountPercent": { "type": "number", "maxLength": 7, "description": "The total discount percentage applied to the invoice." }, "subAmount": { "type": "number", "maxLength": 25, "description": "Sub-amount of the invoice." }, "minimumPartialAmount": { "type": "number", "description": "The minimum partial amount required to pay the invoice." }, "taxDetails": { "type": "object", "description": "Contains all of the tax-related fields for the invoice.", "properties": { "type": { "type": "string", "description": "Indicates the type of tax data for the _taxDetails_ object.\n\nPossible values:\n\n- `alternate`\n- `local`\n- `national`\n- `vat`\n- `other`\n- `green`\n\nFor processor-specific details, see the `alternate_tax_amount`, `local_tax`, `national_tax` or `vat_tax_amount` field\ndescriptions in [Level II and Level III Processing Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" }, "amount": { "type": "string", "maxLength": 13, "description": "Indicates the amount of tax based on the `type` field as described in the table below:\n\n| type | type description |\n| ------------- |:-------------:|\n| `alternate` | Total amount of alternate tax for the order. |\n| `local` | Sales tax for the order. |\n| `national` | National tax for the order. |\n| `vat` | Total amount of value added tax (VAT) included in the order. |\n| `other` | Other tax. |\n| `green` | Green tax amount for Korean Processing. |\n" }, "rate": { "type": "string", "maxLength": 6, "description": "Rate of VAT or other tax for the order.\n\nExample 0.040 (=4%)\n\nValid range: 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated)\n\nFor processor-specific details, see the `alternate_tax_amount`, `vat_rate`, `vat_tax_rate`, `local_tax`, `national_tax`, `vat_tax_amount` or `other_tax#_rate` field descriptions in the [Level II and Level III Processing Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n" } } }, "freight": { "type": "object", "description": "Contains all of the shipping-related fields for the invoice.", "properties": { "amount": { "type": "string", "maxLength": 13, "description": "Total freight or shipping and handling charges for the order. When you include this field in your request, you\nmust also include the **totalAmount** field.\n\nFor processor-specific information, see the freight_amount field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" }, "taxable": { "type": "boolean", "description": "Flag that indicates whether an order is taxable. This value must be true if the sum of all _lineItems[].taxAmount_ values > 0.\n\nIf you do not include any `lineItems[].taxAmount` values in your request, CyberSource does not include\n`invoiceDetails.taxable` in the data it sends to the processor.\n\nFor processor-specific information, see the `tax_indicator` field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n\nPossible values:\n - **true**\n - **false**\n" }, "taxRate": { "description": "Shipping Tax rate applied to the freight amount.\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n", "type": "string", "maxLength": 7 } } } } }, "lineItems": { "type": "array", "maxItems": 30, "items": { "type": "object", "description": "List of the line items from the order, which are included in an invoice.", "properties": { "productSku": { "type": "string", "maxLength": 255, "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" }, "productName": { "type": "string", "maxLength": 255, "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "quantity": { "type": "integer", "minimum": 1, "maximum": 999999999, "default": 1, "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "unitPrice": { "type": "string", "maxLength": 15, "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in the [Merchant Descriptors Using the SCMP API Guide.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Merchant_Descriptors_SCMP_API/html/)\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" }, "discountAmount": { "type": "string", "maxLength": 13, "description": "Discount applied to the item." }, "discountRate": { "type": "string", "maxLength": 6, "description": "Rate the item is discounted. Maximum of 2 decimal places.\n\nExample 5.25 (=5.25%)\n" }, "taxAmount": { "type": "string", "maxLength": 15, "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" }, "taxRate": { "type": "string", "maxLength": 7, "description": "Tax rate applied to the item.\n\nFor details, see `tax_rate` field description in the [Level II and Level III Processing Using the SCMP API Guide.](https://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html/)\n\n**Visa**: Valid range is 0.01 to 0.99 (1% to 99%, with only whole percentage values accepted; values with additional\ndecimal places will be truncated).\n\n**Mastercard**: Valid range is 0.00001 to 0.99999 (0.001% to 99.999%).\n" }, "totalAmount": { "type": "string", "maxLength": 13, "description": "Total amount for the item. Normally calculated as the unit price times quantity.\n\nWhen `orderInformation.lineItems[].productCode` is \"gift_card\", this is the purchase amount total\nfor prepaid gift cards in major units.\n\nExample: 123.45 USD = 123\n" } } } } } } }, "example": { "_links": { "self": { "href": "/rest/v2/invoices/98753", "method": "GET" }, "update": { "href": "/rest/v2/invoices/98753", "method": "PUT" }, "send": { "href": "/rest/v2/invoices/98753/delivery", "method": "POST" }, "cancel": { "href": "/rest/v2/invoices/98753/cancelation", "method": "POST" } }, "id": "98753", "submitTimeUtc": "2019-06-28T19:48:06Z", "status": "SENT", "customerInformation": { "name": "Tanya Lee", "email": "tanya.lee@my-email.world", "merchantCustomerId": "1234", "company": { "name": "ABC" } }, "invoiceInformation": { "invoiceNumber": "98753", "description": "This is a test invoice", "dueDate": "2019-07-11", "allowPartialPayments": true, "paymentLink": "https://ebc.cybersource.com/ebc2/invoicing/payInvoice/c7UI9Vz8rdhXbc8FdK6SaoeOATON4TQLhbd5lfib9UCyywvZLhIrSuYYNFMynMCc", "deliveryMode": "email" }, "orderInformation": { "amountDetails": { "totalAmount": "2623.64", "currency": "USD", "balanceAmount": "2623.64", "discountAmount": "126.08", "discountPercent": "5.0", "subAmount": "2749.72", "minimumPartialAmount": "20.00", "taxDetails": { "type": "State Tax", "amount": "208.04", "rate": "8.25" }, "freight": { "amount": "20.00", "taxable": true } }, "lineItems": [ { "productSku": "P653727383", "productName": "First line item's name", "unitPrice": "12.05", "quantity": "20", "discountAmount": "13.04", "discountPercent": "5.0", "taxAmount": "0.0", "taxRate": "0.0", "totalAmount": "247.86" } ] } } } }, "400": { "description": "Requested action is not allowed.", "schema": { "title": "invoicingV2InvoicesCancel400Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the invoice.\n\nPossible values:\n - BADREQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_MERCHANT_CONFIGURATION\n - PROCESSOR_UNAVAILABLE\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" } } } } }, "example": { "submitTimeUtc": "2019-07-01T21:40:10Z", "status": "BADREQUEST", "reason": "VALIDATION_ERROR", "message": "Field validation errors.", "details": [ { "field": "customerInformation.email", "reason": "Invalid email" } ] } } }, "404": { "description": "Invoice does not exist.", "schema": { "title": "invoicingV2InvoicesCancel404Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the invoice.\n\nPossible values:\n - NOTFOUND\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_MERCHANT_CONFIGURATION\n - PROCESSOR_UNAVAILABLE\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" } } } } }, "example": { "submitTimeUtc": "2019-07-01T21:36:29Z", "status": "NOTFOUND", "reason": "NOT_FOUND", "message": "Invoice does not exist." } } }, "default": { "description": "Unexpected error.", "schema": { "title": "invoicingV2InvoicesCancel502Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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." } }, "example": { "submitTimeUtc": "2018-06-12T09:27:20.000Z", "status": "SERVER_ERROR", "reason": "SERVER_ERROR", "message": "Error - General system failure." } } } } } }, "/invoicing/v2/invoiceSettings": { "put": { "tags": [ "invoiceSettings" ], "summary": "Update Invoice Settings", "description": "Allows you to customize the payment page, the checkout experience, email communication and payer authentication. You can customize the invoice to match your brand with your business name, logo and brand colors, and a VAT Tax number. You can choose to capture the payers shipping details, phone number and email during the checkout process. You can add a custom message to all invoice emails and enable or disable payer authentication for invoice payments.", "operationId": "updateInvoiceSettings", "x-devcenter-metaData": { "categoryTag": "Invoicing", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/invoicing/developer/all/rest/invoicing/Introduction.html" }, "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/json", "application/hal+json", "application/json;charset=utf-8", "application/hal+json;charset=utf-8" ], "parameters": [ { "name": "invoiceSettingsRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "invoiceSettingsInformation": { "type": "object", "properties": { "merchantLogo": { "description": "The image file, which must be encoded in Base64 format. Supported file formats are `png`, `jpg`, and `gif`. The image file size restriction is 1 MB.", "type": "string", "maxLength": 10000000 }, "merchantDisplayName": { "description": "The merchant's display name shown on the invoice.", "type": "string", "maxLength": 100 }, "customEmailMessage": { "description": "The content of the email message that we send to your customers.", "type": "string", "maxLength": 2000 }, "enableReminders": { "description": "Whether you would like us to send an auto-generated reminder email to your invoice recipients. Currently, this reminder email is sent five days before the invoice is due and one day after it is past due.", "type": "boolean" }, "headerStyle": { "type": "object", "properties": { "fontColor": { "description": "The invoice font color. The format is a valid hexadecimal code prefixed with `#`, such as `#000000` for black.", "type": "string", "maxLength": 7, "pattern": "^#(?:[0-9a-fA-F]{3}){1,2}$" }, "backgroundColor": { "description": "The invoice background color. The format is a valid hexadecimal code prefixed with `#`, such as `#ffffff` for white.", "type": "string", "maxLength": 7, "pattern": "^#(?:[0-9a-fA-F]{3}){1,2}$" } } }, "deliveryLanguage": { "description": "The language of the email that we send to your customers. Possible values are `zh-CN`, `zh-TW`, `en-US`, `fr-FR`, `de-DE`, `ja-JP`, `pt-BR`, `ru-RU` and `es-419`.", "type": "string", "maxLength": 6 }, "defaultCurrencyCode": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "payerAuthenticationInInvoicing": { "description": "For a merchant's invoice payments, enable 3D Secure payer authentication version 1, update to 3D Secure version 2, or disable 3D Secure. Possible values are: \n- `enable`\n- `update`\n- `disable` \n", "type": "string", "maxLength": 7 }, "showVatNumber": { "description": "Display VAT number on Invoice.", "type": "boolean", "default": false }, "vatRegistrationNumber": { "type": "string", "maxLength": 21, "description": "Your government-assigned tax identification number.\n\n#### Tax Calculation\nRequired field for value added tax only. Not applicable to U.S. and Canadian taxes.\n" } } } }, "example": { "invoiceSettingsInformation": { "merchantLogo": "iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kHGAsGCmSy5V4AAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAALiUlEQVR42u3df6zV9X3H8df3/uBy4Wrl1qsICJQfDqUNSWuYbWyNMZqiXTPppATpGu5Ekpm4qrRbdZ3BdS4U3RZam6gbtmlGFcW2pK0tMAdoXWew6IiVCshQoCoUKaKXX/ee/XFJOp0rCvfH+d7zeCT8Ry7nvt9fnudzLl/OKSqVSgDKoM4IAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAA3q6hp77QppYWH3B4zKQDBwpTACcsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwgIGloZof3OysL+dUWzZ5M0P6zPoDk2rmDSOdsADBAhAsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECyAXtdgBPSVoqhkcPOhDDv9tQwf8WpGjN6VUWN3ZcToXRk+8pWcfsZvclrr/jQP7Uh9fWc6O+vT8UZz9u09NXtefX9e3nlmdr04Ijv+e0R2vTgiL+86I6/tGZaDHU2pVAoDFiw4cc1DDmbM+BczZerGfPzSJ3LBRU++t+N/XVcaTzuSU0/bn9Hjdvze3/vztVPz2KqP5ZknP5TtW0en483BFjAQn/QqlUqPfKFNLS2Vnn5ws7Pehsr084X6rowZ91I+fukTuWrOwzlr1Mv99lh+vWN4Hrxveh5b9bFsf+HsdHUO3J9+rD8wqWaOl4LFyUWqrisTzn0hn575o8y85qGqfZz3//OfZMX9V2TLc+PS1TWw4iVYgsVxtLbtzeWfWZkv3HpX6R77Py24Lj9efln27m4VLMESrIHsnMlbMm/+v+SiTz5e+u9l7U8uzN13/Fmef3aCYAmWYA0kH/rIs/nrO76W8ZNeGHDf29ZN4/LV+V/KxqcmC5ZgCVa5T1Sbs2Dx32XieVsH/Pe6+Zfjc+v1t+T5ZycKVpVy4yjvqG34niy89ytZurq9JmKVJBPP25qlq9uz8N6vpG34HheBYFHt6hs6M6N9eR7ZcGUu+dSampzBJZ9ak0c2XJkZ7ctT39DpovCS0EvCavSBidtz9/Lr09q21zCO2bu7NfM+szjbNo/xktAJi6p41ioqmdG+PA+umy1Wb9PatjcPrpudGe3LUxQVA3HCcsLqT6eetj933HdzPnzBM4ZxHL/4+ZTMn3N79u871QnLCYu+ds7kLXn0uSvE6l368AXP5NHnrsg5k7cYhmDRly6eti5LV88xiBOwdPWcXDxtnUEIFn1h1txlWbTkFoM4CYuW3JJZc5cZhGDRm6778j258bavG0QPuPG2r+e6L99jEH3I+2HViKKo5KbbFlf1OyqU0Zzrv5PmIR2582+u9yaCTlj0lBsWfEOsesnMax7KDQu+YRCCRU+49qb7/Lyll82auyzX3nSfQQgWJ2P67BW5dv4Sg+iLJ4b5SzJ99gqDECxOxNRPrM/NixYZRB+6edGiTP2EG54Fi/dk1Nid+eYDNxhEP/jmAzdk1NidBtELqvq/5pTVpAMH+vmfiw4mr0+oJIcso980JadsKRKf3uOExXF69Zdi1e8OHdsDgsX/7+jKSo4sNYdqcGRp9z4QLN5BZe+16bjaHKpJx9Xde0Gw+D8vBe82BHsRLKpf539WcvT75lCVL9O/370fBIskOZq8Od0Yqtmb07v3hGDVvCMPV5LD5lDVDh/bEyfDfVi9oG/vwzqYvH622ZfFKS+5N8sJq5ZPV8vEyr6csJywynDCOpy8PtLcS3fK2lkkg8zBCavGuCnR3gSL0jh4kxnYm2BRAl2/qqTiQ09LqbK3e38IVs047E357E+wKMfVnhxxwZfakSVx75xg1YbOZ7ycsEfBoizPzg+YgT0KFmXQlRz5tjEMiGB9u3ufCNbA7dVOLyPsU7AoywXuE1nsU7Aoi6M/MQP7FCxK4sjDZmCfgkUJVN4wA3sVLMpyYb/qB7T2KliURNd2M7BXwaIsz8RbzcBeBYuyPBO7sO1VsCjNhb3NDOxVsCjLhb3TDOxVsCiJym4zsFfBoiwX9n4zsFfBoix8crC9Chal0WAE9ipYlERxqhnYq2BRlgu7zQzsVbAoy7ZGmoG9ChZl2dYHzMBeBYuybGu8GdirYFEShQvbXgWL0mxrjBnYq2BRlmfiMwpDsFfBoiQX9lAzsFfBokQap5uBfQoWJdHwSTOwT8GiLBs73wzsU7Aoy8ZG+gGtfQoWJVpZ4+eNYSBo/Ly/goJVCxf6Z83AHgWLkqif4mWEPQoWZTEoaWw3hlKfrtq794hg1UazBMv+BIvSbO4PihSt5lBGRWv3/hCsmjL4TjOwN8GiJBou8yxtb7U1ulr4Jj+3uLlv/8AlbZW++qOuHJfc/BEXcrlOV37Y7oRVo3683QxKpXGG05Vg1a5DncmtT5pDOU5XdyUZbA6CVdt++mJypMscqtugpHG605Vg0VlJ/nytOVS1IQ/HJzwLFsc8vSdZ9ZI5VKWGP07q/9DpSrD43xb+wgyq0uCF8wxBsHib3x5ObnzcHKpK878mRes9BiFYvIPHfp2s2GYOVaFxlptEBYvj+dqG5HCnOfSvpmTwQrESLI7nUGfy2ZXm0K+GPh73XAkW79KOA8l168yhXwx5KKkb63QlWLwXT76S3P6UOfSpwXcm9ReJlWBxIr73QnLPs+bQJ5q+lDT+qVgJFifj3l8m391sDr1q0Lxk0BfFSrDoCf/4dHK/aPVSrOYmTX8rVoJFT6kkufPp5FubzKJnY/WFpOn2ItErwaLH3bUx+YenzaFHNH01abpFqQSL3vTdzckXnzCHk9L8rWTQPLESLPrCmp3JrFXmcEKGrkkarhArwaIvbd6XXPKDZMNus3hX6j+atDx/aeomi5Vg0R/2H07mrUkWbTCL36vp75MhPyhSDFttGIJFP6okWbYlmfHTZO9B83iLoi0Z+rNk0DX+JVCwqCbb9ieX/9Bp6y2nqpb/KlJ3jlIJFtWos9J92rr8h8m/7ajRITT8UdKy8dipyvuwCxZVb3dH8lf/kVy9Ktn821r523BeMvTfk+YlRYrhTlWCRdk8vy+ZtTJpfzTZOlDDVXduMuSRZOjaInUfFCrBouw2/iaZubL73q21uwbKS79p3fdUDV1XpP58oSrDyoyA92LzvmT+z5LWwcnlo5O/mFLCb6JpQdJ41VMp2s630XIpKpVKj3yhTS0tlWr9Jj+3uNmme+uIXiTj35d8emwyc2IVP9BBc5PGq5O6cwsvLARLsEhdkYw5JbnwrOSqCclZQ/rzwZydNLYnDZcldeOLpN6CvCSE3+mqdN/LtW1/8p1fJc0N3QGb8v7kwhHJBWf25pV8cVJ/WVI/NambUKQYYiGCBe9ex9Fk02vdvx7Y0n2f+OCGZFhTcuaQZOTQ3/2aNu6jSeWVpPJaUnkjydHuy7MYmhTDkuLMpG5UUoxO6sYmdWOSYmRSnF6kaI670AULelTlWMQ6jia73njrf7qe9sEVisPxX+kbASBYAIIFCBaAYAEIFiBYAIIFIFiAYAEIFoBgAYIFIFgAggUIFoBgAQgWIFgAggUgWIBgAQgWgGABggUgWACCBQgWgGABggUgWACCBQgWgGABCBYgWACCBSBYgGABCBaAYAGCBSBYAIIFCBZA/2noqS806cCBomq/yyVtFasGJywAwQIQLECwAAQLQLAAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAug/RaXiM0YBJywAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAhAsAMECBAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAPrG/wDHqLt3n4mBDgAAAABJRU5ErkJgggiVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kHGAsGCmSy5V4AAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAALiUlEQVR42u3df6zV9X3H8df3/uBy4Wrl1qsICJQfDqUNSWuYbWyNMZqiXTPppATpGu5Ekpm4qrRbdZ3BdS4U3RZam6gbtmlGFcW2pK0tMAdoXWew6IiVCshQoCoUKaKXX/ee/XFJOp0rCvfH+d7zeCT8Ry7nvt9fnudzLl/OKSqVSgDKoM4IAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAA3q6hp77QppYWH3B4zKQDBwpTACcsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwgIGloZof3OysL+dUWzZ5M0P6zPoDk2rmDSOdsADBAhAsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECyAXtdgBPSVoqhkcPOhDDv9tQwf8WpGjN6VUWN3ZcToXRk+8pWcfsZvclrr/jQP7Uh9fWc6O+vT8UZz9u09NXtefX9e3nlmdr04Ijv+e0R2vTgiL+86I6/tGZaDHU2pVAoDFiw4cc1DDmbM+BczZerGfPzSJ3LBRU++t+N/XVcaTzuSU0/bn9Hjdvze3/vztVPz2KqP5ZknP5TtW0en483BFjAQn/QqlUqPfKFNLS2Vnn5ws7Pehsr084X6rowZ91I+fukTuWrOwzlr1Mv99lh+vWN4Hrxveh5b9bFsf+HsdHUO3J9+rD8wqWaOl4LFyUWqrisTzn0hn575o8y85qGqfZz3//OfZMX9V2TLc+PS1TWw4iVYgsVxtLbtzeWfWZkv3HpX6R77Py24Lj9efln27m4VLMESrIHsnMlbMm/+v+SiTz5e+u9l7U8uzN13/Fmef3aCYAmWYA0kH/rIs/nrO76W8ZNeGHDf29ZN4/LV+V/KxqcmC5ZgCVa5T1Sbs2Dx32XieVsH/Pe6+Zfjc+v1t+T5ZycKVpVy4yjvqG34niy89ytZurq9JmKVJBPP25qlq9uz8N6vpG34HheBYFHt6hs6M6N9eR7ZcGUu+dSampzBJZ9ak0c2XJkZ7ctT39DpovCS0EvCavSBidtz9/Lr09q21zCO2bu7NfM+szjbNo/xktAJi6p41ioqmdG+PA+umy1Wb9PatjcPrpudGe3LUxQVA3HCcsLqT6eetj933HdzPnzBM4ZxHL/4+ZTMn3N79u871QnLCYu+ds7kLXn0uSvE6l368AXP5NHnrsg5k7cYhmDRly6eti5LV88xiBOwdPWcXDxtnUEIFn1h1txlWbTkFoM4CYuW3JJZc5cZhGDRm6778j258bavG0QPuPG2r+e6L99jEH3I+2HViKKo5KbbFlf1OyqU0Zzrv5PmIR2582+u9yaCTlj0lBsWfEOsesnMax7KDQu+YRCCRU+49qb7/Lyll82auyzX3nSfQQgWJ2P67BW5dv4Sg+iLJ4b5SzJ99gqDECxOxNRPrM/NixYZRB+6edGiTP2EG54Fi/dk1Nid+eYDNxhEP/jmAzdk1NidBtELqvq/5pTVpAMH+vmfiw4mr0+oJIcso980JadsKRKf3uOExXF69Zdi1e8OHdsDgsX/7+jKSo4sNYdqcGRp9z4QLN5BZe+16bjaHKpJx9Xde0Gw+D8vBe82BHsRLKpf539WcvT75lCVL9O/370fBIskOZq8Od0Yqtmb07v3hGDVvCMPV5LD5lDVDh/bEyfDfVi9oG/vwzqYvH622ZfFKS+5N8sJq5ZPV8vEyr6csJywynDCOpy8PtLcS3fK2lkkg8zBCavGuCnR3gSL0jh4kxnYm2BRAl2/qqTiQ09LqbK3e38IVs047E357E+wKMfVnhxxwZfakSVx75xg1YbOZ7ycsEfBoizPzg+YgT0KFmXQlRz5tjEMiGB9u3ufCNbA7dVOLyPsU7AoywXuE1nsU7Aoi6M/MQP7FCxK4sjDZmCfgkUJVN4wA3sVLMpyYb/qB7T2KliURNd2M7BXwaIsz8RbzcBeBYuyPBO7sO1VsCjNhb3NDOxVsCjLhb3TDOxVsCiJym4zsFfBoiwX9n4zsFfBoix8crC9Chal0WAE9ipYlERxqhnYq2BRlgu7zQzsVbAoy7ZGmoG9ChZl2dYHzMBeBYuybGu8GdirYFEShQvbXgWL0mxrjBnYq2BRlmfiMwpDsFfBoiQX9lAzsFfBokQap5uBfQoWJdHwSTOwT8GiLBs73wzsU7Aoy8ZG+gGtfQoWJVpZ4+eNYSBo/Ly/goJVCxf6Z83AHgWLkqif4mWEPQoWZTEoaWw3hlKfrtq794hg1UazBMv+BIvSbO4PihSt5lBGRWv3/hCsmjL4TjOwN8GiJBou8yxtb7U1ulr4Jj+3uLlv/8AlbZW++qOuHJfc/BEXcrlOV37Y7oRVo3683QxKpXGG05Vg1a5DncmtT5pDOU5XdyUZbA6CVdt++mJypMscqtugpHG605Vg0VlJ/nytOVS1IQ/HJzwLFsc8vSdZ9ZI5VKWGP07q/9DpSrD43xb+wgyq0uCF8wxBsHib3x5ObnzcHKpK878mRes9BiFYvIPHfp2s2GYOVaFxlptEBYvj+dqG5HCnOfSvpmTwQrESLI7nUGfy2ZXm0K+GPh73XAkW79KOA8l168yhXwx5KKkb63QlWLwXT76S3P6UOfSpwXcm9ReJlWBxIr73QnLPs+bQJ5q+lDT+qVgJFifj3l8m391sDr1q0Lxk0BfFSrDoCf/4dHK/aPVSrOYmTX8rVoJFT6kkufPp5FubzKJnY/WFpOn2ItErwaLH3bUx+YenzaFHNH01abpFqQSL3vTdzckXnzCHk9L8rWTQPLESLPrCmp3JrFXmcEKGrkkarhArwaIvbd6XXPKDZMNus3hX6j+atDx/aeomi5Vg0R/2H07mrUkWbTCL36vp75MhPyhSDFttGIJFP6okWbYlmfHTZO9B83iLoi0Z+rNk0DX+JVCwqCbb9ieX/9Bp6y2nqpb/KlJ3jlIJFtWos9J92rr8h8m/7ajRITT8UdKy8dipyvuwCxZVb3dH8lf/kVy9Ktn821r523BeMvTfk+YlRYrhTlWCRdk8vy+ZtTJpfzTZOlDDVXduMuSRZOjaInUfFCrBouw2/iaZubL73q21uwbKS79p3fdUDV1XpP58oSrDyoyA92LzvmT+z5LWwcnlo5O/mFLCb6JpQdJ41VMp2s630XIpKpVKj3yhTS0tlWr9Jj+3uNmme+uIXiTj35d8emwyc2IVP9BBc5PGq5O6cwsvLARLsEhdkYw5JbnwrOSqCclZQ/rzwZydNLYnDZcldeOLpN6CvCSE3+mqdN/LtW1/8p1fJc0N3QGb8v7kwhHJBWf25pV8cVJ/WVI/NambUKQYYiGCBe9ex9Fk02vdvx7Y0n2f+OCGZFhTcuaQZOTQ3/2aNu6jSeWVpPJaUnkjydHuy7MYmhTDkuLMpG5UUoxO6sYmdWOSYmRSnF6kaI670AULelTlWMQ6jia73njrf7qe9sEVisPxX+kbASBYAIIFCBaAYAEIFiBYAIIFIFiAYAEIFoBgAYIFIFgAggUIFoBgAQgWIFgAggUgWIBgAQgWgGABggUgWACCBQgWgGABggUgWACCBQgWgGABCBYgWACCBSBYgGABCBaAYAGCBSBYAIIFCBZA/2noqS806cCBomq/yyVtFasGJywAwQIQLECwAAQLQLAAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAug/RaXiM0YBJywAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAhAsAMECBAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAPrG/wDHqLt3n4mBDgAAAABJRU5ErkJgggiVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kHGAsGCmSy5V4AAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAALiUlEQVR42u3df6zV9X3H8df3/uBy4Wrl1qsICJQfDqUNSWuYbWyNMZqiXTPppATpGu5Ekpm4qrRbdZ3BdS4U3RZam6gbtmlGFcW2pK0tMAdoXWew6IiVCshQoCoUKaKXX/ee/XFJOp0rCvfH+d7zeCT8Ry7nvt9fnudzLl/OKSqVSgDKoM4IAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAA3q6hp77QppYWH3B4zKQDBwpTACcsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwgIGloZof3OysL+dUWzZ5M0P6zPoDk2rmDSOdsADBAhAsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECyAXtdgBPSVoqhkcPOhDDv9tQwf8WpGjN6VUWN3ZcToXRk+8pWcfsZvclrr/jQP7Uh9fWc6O+vT8UZz9u09NXtefX9e3nlmdr04Ijv+e0R2vTgiL+86I6/tGZaDHU2pVAoDFiw4cc1DDmbM+BczZerGfPzSJ3LBRU++t+N/XVcaTzuSU0/bn9Hjdvze3/vztVPz2KqP5ZknP5TtW0en483BFjAQn/QqlUqPfKFNLS2Vnn5ws7Pehsr084X6rowZ91I+fukTuWrOwzlr1Mv99lh+vWN4Hrxveh5b9bFsf+HsdHUO3J9+rD8wqWaOl4LFyUWqrisTzn0hn575o8y85qGqfZz3//OfZMX9V2TLc+PS1TWw4iVYgsVxtLbtzeWfWZkv3HpX6R77Py24Lj9efln27m4VLMESrIHsnMlbMm/+v+SiTz5e+u9l7U8uzN13/Fmef3aCYAmWYA0kH/rIs/nrO76W8ZNeGHDf29ZN4/LV+V/KxqcmC5ZgCVa5T1Sbs2Dx32XieVsH/Pe6+Zfjc+v1t+T5ZycKVpVy4yjvqG34niy89ytZurq9JmKVJBPP25qlq9uz8N6vpG34HheBYFHt6hs6M6N9eR7ZcGUu+dSampzBJZ9ak0c2XJkZ7ctT39DpovCS0EvCavSBidtz9/Lr09q21zCO2bu7NfM+szjbNo/xktAJi6p41ioqmdG+PA+umy1Wb9PatjcPrpudGe3LUxQVA3HCcsLqT6eetj933HdzPnzBM4ZxHL/4+ZTMn3N79u871QnLCYu+ds7kLXn0uSvE6l368AXP5NHnrsg5k7cYhmDRly6eti5LV88xiBOwdPWcXDxtnUEIFn1h1txlWbTkFoM4CYuW3JJZc5cZhGDRm6778j258bavG0QPuPG2r+e6L99jEH3I+2HViKKo5KbbFlf1OyqU0Zzrv5PmIR2582+u9yaCTlj0lBsWfEOsesnMax7KDQu+YRCCRU+49qb7/Lyll82auyzX3nSfQQgWJ2P67BW5dv4Sg+iLJ4b5SzJ99gqDECxOxNRPrM/NixYZRB+6edGiTP2EG54Fi/dk1Nid+eYDNxhEP/jmAzdk1NidBtELqvq/5pTVpAMH+vmfiw4mr0+oJIcso980JadsKRKf3uOExXF69Zdi1e8OHdsDgsX/7+jKSo4sNYdqcGRp9z4QLN5BZe+16bjaHKpJx9Xde0Gw+D8vBe82BHsRLKpf539WcvT75lCVL9O/370fBIskOZq8Od0Yqtmb07v3hGDVvCMPV5LD5lDVDh/bEyfDfVi9oG/vwzqYvH622ZfFKS+5N8sJq5ZPV8vEyr6csJywynDCOpy8PtLcS3fK2lkkg8zBCavGuCnR3gSL0jh4kxnYm2BRAl2/qqTiQ09LqbK3e38IVs047E357E+wKMfVnhxxwZfakSVx75xg1YbOZ7ycsEfBoizPzg+YgT0KFmXQlRz5tjEMiGB9u3ufCNbA7dVOLyPsU7AoywXuE1nsU7Aoi6M/MQP7FCxK4sjDZmCfgkUJVN4wA3sVLMpyYb/qB7T2KliURNd2M7BXwaIsz8RbzcBeBYuyPBO7sO1VsCjNhb3NDOxVsCjLhb3TDOxVsCiJym4zsFfBoiwX9n4zsFfBoix8crC9Chal0WAE9ipYlERxqhnYq2BRlgu7zQzsVbAoy7ZGmoG9ChZl2dYHzMBeBYuybGu8GdirYFEShQvbXgWL0mxrjBnYq2BRlmfiMwpDsFfBoiQX9lAzsFfBokQap5uBfQoWJdHwSTOwT8GiLBs73wzsU7Aoy8ZG+gGtfQoWJVpZ4+eNYSBo/Ly/goJVCxf6Z83AHgWLkqif4mWEPQoWZTEoaWw3hlKfrtq794hg1UazBMv+BIvSbO4PihSt5lBGRWv3/hCsmjL4TjOwN8GiJBou8yxtb7U1ulr4Jj+3uLlv/8AlbZW++qOuHJfc/BEXcrlOV37Y7oRVo3683QxKpXGG05Vg1a5DncmtT5pDOU5XdyUZbA6CVdt++mJypMscqtugpHG605Vg0VlJ/nytOVS1IQ/HJzwLFsc8vSdZ9ZI5VKWGP07q/9DpSrD43xb+wgyq0uCF8wxBsHib3x5ObnzcHKpK878mRes9BiFYvIPHfp2s2GYOVaFxlptEBYvj+dqG5HCnOfSvpmTwQrESLI7nUGfy2ZXm0K+GPh73XAkW79KOA8l168yhXwx5KKkb63QlWLwXT76S3P6UOfSpwXcm9ReJlWBxIr73QnLPs+bQJ5q+lDT+qVgJFifj3l8m391sDr1q0Lxk0BfFSrDoCf/4dHK/aPVSrOYmTX8rVoJFT6kkufPp5FubzKJnY/WFpOn2ItErwaLH3bUx+YenzaFHNH01abpFqQSL3vTdzckXnzCHk9L8rWTQPLESLPrCmp3JrFXmcEKGrkkarhArwaIvbd6XXPKDZMNus3hX6j+atDx/aeomi5Vg0R/2H07mrUkWbTCL36vp75MhPyhSDFttGIJFP6okWbYlmfHTZO9B83iLoi0Z+rNk0DX+JVCwqCbb9ieX/9Bp6y2nqpb/KlJ3jlIJFtWos9J92rr8h8m/7ajRITT8UdKy8dipyvuwCxZVb3dH8lf/kVy9Ktn821r523BeMvTfk+YlRYrhTlWCRdk8vy+ZtTJpfzTZOlDDVXduMuSRZOjaInUfFCrBouw2/iaZubL73q21uwbKS79p3fdUDV1XpP58oSrDyoyA92LzvmT+z5LWwcnlo5O/mFLCb6JpQdJ41VMp2s630XIpKpVKj3yhTS0tlWr9Jj+3uNmme+uIXiTj35d8emwyc2IVP9BBc5PGq5O6cwsvLARLsEhdkYw5JbnwrOSqCclZQ/rzwZydNLYnDZcldeOLpN6CvCSE3+mqdN/LtW1/8p1fJc0N3QGb8v7kwhHJBWf25pV8cVJ/WVI/NambUKQYYiGCBe9ex9Fk02vdvx7Y0n2f+OCGZFhTcuaQZOTQ3/2aNu6jSeWVpPJaUnkjydHuy7MYmhTDkuLMpG5UUoxO6sYmdWOSYmRSnF6kaI670AULelTlWMQ6jia73njrf7qe9sEVisPxX+kbASBYAIIFCBaAYAEIFiBYAIIFIFiAYAEIFoBgAYIFIFgAggUIFoBgAQgWIFgAggUgWIBgAQgWgGABggUgWACCBQgWgGABggUgWACCBQgWgGABCBYgWACCBSBYgGABCBaAYAGCBSBYAIIFCBZA/2noqS806cCBomq/yyVtFasGJywAwQIQLECwAAQLQLAAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAug/RaXiM0YBJywAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAhAsAMECBAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAPrG/wDHqLt3n4mBDgAAAABJRU5ErkJgggiVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kHGAsGCmSy5V4AAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAALiUlEQVR42u3df6zV9X3H8df3/uBy4Wrl1qsICJQfDqUNSWuYbWyNMZqiXTPppATpGu5Ekpm4qrRbdZ3BdS4U3RZam6gbtmlGFcW2pK0tMAdoXWew6IiVCshQoCoUKaKXX/ee/XFJOp0rCvfH+d7zeCT8Ry7nvt9fnudzLl/OKSqVSgDKoM4IAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAA3q6hp77QppYWH3B4zKQDBwpTACcsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwgIGloZof3OysL+dUWzZ5M0P6zPoDk2rmDSOdsADBAhAsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECyAXtdgBPSVoqhkcPOhDDv9tQwf8WpGjN6VUWN3ZcToXRk+8pWcfsZvclrr/jQP7Uh9fWc6O+vT8UZz9u09NXtefX9e3nlmdr04Ijv+e0R2vTgiL+86I6/tGZaDHU2pVAoDFiw4cc1DDmbM+BczZerGfPzSJ3LBRU++t+N/XVcaTzuSU0/bn9Hjdvze3/vztVPz2KqP5ZknP5TtW0en483BFjAQn/QqlUqPfKFNLS2Vnn5ws7Pehsr084X6rowZ91I+fukTuWrOwzlr1Mv99lh+vWN4Hrxveh5b9bFsf+HsdHUO3J9+rD8wqWaOl4LFyUWqrisTzn0hn575o8y85qGqfZz3//OfZMX9V2TLc+PS1TWw4iVYgsVxtLbtzeWfWZkv3HpX6R77Py24Lj9efln27m4VLMESrIHsnMlbMm/+v+SiTz5e+u9l7U8uzN13/Fmef3aCYAmWYA0kH/rIs/nrO76W8ZNeGHDf29ZN4/LV+V/KxqcmC5ZgCVa5T1Sbs2Dx32XieVsH/Pe6+Zfjc+v1t+T5ZycKVpVy4yjvqG34niy89ytZurq9JmKVJBPP25qlq9uz8N6vpG34HheBYFHt6hs6M6N9eR7ZcGUu+dSampzBJZ9ak0c2XJkZ7ctT39DpovCS0EvCavSBidtz9/Lr09q21zCO2bu7NfM+szjbNo/xktAJi6p41ioqmdG+PA+umy1Wb9PatjcPrpudGe3LUxQVA3HCcsLqT6eetj933HdzPnzBM4ZxHL/4+ZTMn3N79u871QnLCYu+ds7kLXn0uSvE6l368AXP5NHnrsg5k7cYhmDRly6eti5LV88xiBOwdPWcXDxtnUEIFn1h1txlWbTkFoM4CYuW3JJZc5cZhGDRm6778j258bavG0QPuPG2r+e6L99jEH3I+2HViKKo5KbbFlf1OyqU0Zzrv5PmIR2582+u9yaCTlj0lBsWfEOsesnMax7KDQu+YRCCRU+49qb7/Lyll82auyzX3nSfQQgWJ2P67BW5dv4Sg+iLJ4b5SzJ99gqDECxOxNRPrM/NixYZRB+6edGiTP2EG54Fi/dk1Nid+eYDNxhEP/jmAzdk1NidBtELqvq/5pTVpAMH+vmfiw4mr0+oJIcso980JadsKRKf3uOExXF69Zdi1e8OHdsDgsX/7+jKSo4sNYdqcGRp9z4QLN5BZe+16bjaHKpJx9Xde0Gw+D8vBe82BHsRLKpf539WcvT75lCVL9O/370fBIskOZq8Od0Yqtmb07v3hGDVvCMPV5LD5lDVDh/bEyfDfVi9oG/vwzqYvH622ZfFKS+5N8sJq5ZPV8vEyr6csJywynDCOpy8PtLcS3fK2lkkg8zBCavGuCnR3gSL0jh4kxnYm2BRAl2/qqTiQ09LqbK3e38IVs047E357E+wKMfVnhxxwZfakSVx75xg1YbOZ7ycsEfBoizPzg+YgT0KFmXQlRz5tjEMiGB9u3ufCNbA7dVOLyPsU7AoywXuE1nsU7Aoi6M/MQP7FCxK4sjDZmCfgkUJVN4wA3sVLMpyYb/qB7T2KliURNd2M7BXwaIsz8RbzcBeBYuyPBO7sO1VsCjNhb3NDOxVsCjLhb3TDOxVsCiJym4zsFfBoiwX9n4zsFfBoix8crC9Chal0WAE9ipYlERxqhnYq2BRlgu7zQzsVbAoy7ZGmoG9ChZl2dYHzMBeBYuybGu8GdirYFEShQvbXgWL0mxrjBnYq2BRlmfiMwpDsFfBoiQX9lAzsFfBokQap5uBfQoWJdHwSTOwT8GiLBs73wzsU7Aoy8ZG+gGtfQoWJVpZ4+eNYSBo/Ly/goJVCxf6Z83AHgWLkqif4mWEPQoWZTEoaWw3hlKfrtq794hg1UazBMv+BIvSbO4PihSt5lBGRWv3/hCsmjL4TjOwN8GiJBou8yxtb7U1ulr4Jj+3uLlv/8AlbZW++qOuHJfc/BEXcrlOV37Y7oRVo3683QxKpXGG05Vg1a5DncmtT5pDOU5XdyUZbA6CVdt++mJypMscqtugpHG605Vg0VlJ/nytOVS1IQ/HJzwLFsc8vSdZ9ZI5VKWGP07q/9DpSrD43xb+wgyq0uCF8wxBsHib3x5ObnzcHKpK878mRes9BiFYvIPHfp2s2GYOVaFxlptEBYvj+dqG5HCnOfSvpmTwQrESLI7nUGfy2ZXm0K+GPh73XAkW79KOA8l168yhXwx5KKkb63QlWLwXT76S3P6UOfSpwXcm9ReJlWBxIr73QnLPs+bQJ5q+lDT+qVgJFifj3l8m391sDr1q0Lxk0BfFSrDoCf/4dHK/aPVSrOYmTX8rVoJFT6kkufPp5FubzKJnY/WFpOn2ItErwaLH3bUx+YenzaFHNH01abpFqQSL3vTdzckXnzCHk9L8rWTQPLESLPrCmp3JrFXmcEKGrkkarhArwaIvbd6XXPKDZMNus3hX6j+atDx/aeomi5Vg0R/2H07mrUkWbTCL36vp75MhPyhSDFttGIJFP6okWbYlmfHTZO9B83iLoi0Z+rNk0DX+JVCwqCbb9ieX/9Bp6y2nqpb/KlJ3jlIJFtWos9J92rr8h8m/7ajRITT8UdKy8dipyvuwCxZVb3dH8lf/kVy9Ktn821r523BeMvTfk+YlRYrhTlWCRdk8vy+ZtTJpfzTZOlDDVXduMuSRZOjaInUfFCrBouw2/iaZubL73q21uwbKS79p3fdUDV1XpP58oSrDyoyA92LzvmT+z5LWwcnlo5O/mFLCb6JpQdJ41VMp2s630XIpKpVKj3yhTS0tlWr9Jj+3uNmme+uIXiTj35d8emwyc2IVP9BBc5PGq5O6cwsvLARLsEhdkYw5JbnwrOSqCclZQ/rzwZydNLYnDZcldeOLpN6CvCSE3+mqdN/LtW1/8p1fJc0N3QGb8v7kwhHJBWf25pV8cVJ/WVI/NambUKQYYiGCBe9ex9Fk02vdvx7Y0n2f+OCGZFhTcuaQZOTQ3/2aNu6jSeWVpPJaUnkjydHuy7MYmhTDkuLMpG5UUoxO6sYmdWOSYmRSnF6kaI670AULelTlWMQ6jia73njrf7qe9sEVisPxX+kbASBYAIIFCBaAYAEIFiBYAIIFIFiAYAEIFoBgAYIFIFgAggUIFoBgAQgWIFgAggUgWIBgAQgWgGABggUgWACCBQgWgGABggUgWACCBQgWgGABCBYgWACCBSBYgGABCBaAYAGCBSBYAIIFCBZA/2noqS806cCBomq/yyVtFasGJywAwQIQLECwAAQLQLAAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAug/RaXiM0YBJywAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAhAsAMECBAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAPrG/wDHqLt3n4mBDgAAAABJRU5ErkJgggiVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kHGAsGCmSy5V4AAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAALiUlEQVR42u3df6zV9X3H8df3/uBy4Wrl1qsICJQfDqUNSWuYbWyNMZqiXTPppATpGu5Ekpm4qrRbdZ3BdS4U3RZam6gbtmlGFcW2pK0tMAdoXWew6IiVCshQoCoUKaKXX/ee/XFJOp0rCvfH+d7zeCT8Ry7nvt9fnudzLl/OKSqVSgDKoM4IAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAA3q6hp77QppYWH3B4zKQDBwpTACcsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwgIGloZof3OysL+dUWzZ5M0P6zPoDk2rmDSOdsADBAhAsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECyAXtdgBPSVoqhkcPOhDDv9tQwf8WpGjN6VUWN3ZcToXRk+8pWcfsZvclrr/jQP7Uh9fWc6O+vT8UZz9u09NXtefX9e3nlmdr04Ijv+e0R2vTgiL+86I6/tGZaDHU2pVAoDFiw4cc1DDmbM+BczZerGfPzSJ3LBRU++t+N/XVcaTzuSU0/bn9Hjdvze3/vztVPz2KqP5ZknP5TtW0en483BFjAQn/QqlUqPfKFNLS2Vnn5ws7Pehsr084X6rowZ91I+fukTuWrOwzlr1Mv99lh+vWN4Hrxveh5b9bFsf+HsdHUO3J9+rD8wqWaOl4LFyUWqrisTzn0hn575o8y85qGqfZz3//OfZMX9V2TLc+PS1TWw4iVYgsVxtLbtzeWfWZkv3HpX6R77Py24Lj9efln27m4VLMESrIHsnMlbMm/+v+SiTz5e+u9l7U8uzN13/Fmef3aCYAmWYA0kH/rIs/nrO76W8ZNeGHDf29ZN4/LV+V/KxqcmC5ZgCVa5T1Sbs2Dx32XieVsH/Pe6+Zfjc+v1t+T5ZycKVpVy4yjvqG34niy89ytZurq9JmKVJBPP25qlq9uz8N6vpG34HheBYFHt6hs6M6N9eR7ZcGUu+dSampzBJZ9ak0c2XJkZ7ctT39DpovCS0EvCavSBidtz9/Lr09q21zCO2bu7NfM+szjbNo/xktAJi6p41ioqmdG+PA+umy1Wb9PatjcPrpudGe3LUxQVA3HCcsLqT6eetj933HdzPnzBM4ZxHL/4+ZTMn3N79u871QnLCYu+ds7kLXn0uSvE6l368AXP5NHnrsg5k7cYhmDRly6eti5LV88xiBOwdPWcXDxtnUEIFn1h1txlWbTkFoM4CYuW3JJZc5cZhGDRm6778j258bavG0QPuPG2r+e6L99jEH3I+2HViKKo5KbbFlf1OyqU0Zzrv5PmIR2582+u9yaCTlj0lBsWfEOsesnMax7KDQu+YRCCRU+49qb7/Lyll82auyzX3nSfQQgWJ2P67BW5dv4Sg+iLJ4b5SzJ99gqDECxOxNRPrM/NixYZRB+6edGiTP2EG54Fi/dk1Nid+eYDNxhEP/jmAzdk1NidBtELqvq/5pTVpAMH+vmfiw4mr0+oJIcso980JadsKRKf3uOExXF69Zdi1e8OHdsDgsX/7+jKSo4sNYdqcGRp9z4QLN5BZe+16bjaHKpJx9Xde0Gw+D8vBe82BHsRLKpf539WcvT75lCVL9O/370fBIskOZq8Od0Yqtmb07v3hGDVvCMPV5LD5lDVDh/bEyfDfVi9oG/vwzqYvH622ZfFKS+5N8sJq5ZPV8vEyr6csJywynDCOpy8PtLcS3fK2lkkg8zBCavGuCnR3gSL0jh4kxnYm2BRAl2/qqTiQ09LqbK3e38IVs047E357E+wKMfVnhxxwZfakSVx75xg1YbOZ7ycsEfBoizPzg+YgT0KFmXQlRz5tjEMiGB9u3ufCNbA7dVOLyPsU7AoywXuE1nsU7Aoi6M/MQP7FCxK4sjDZmCfgkUJVN4wA3sVLMpyYb/qB7T2KliURNd2M7BXwaIsz8RbzcBeBYuyPBO7sO1VsCjNhb3NDOxVsCjLhb3TDOxVsCiJym4zsFfBoiwX9n4zsFfBoix8crC9Chal0WAE9ipYlERxqhnYq2BRlgu7zQzsVbAoy7ZGmoG9ChZl2dYHzMBeBYuybGu8GdirYFEShQvbXgWL0mxrjBnYq2BRlmfiMwpDsFfBoiQX9lAzsFfBokQap5uBfQoWJdHwSTOwT8GiLBs73wzsU7Aoy8ZG+gGtfQoWJVpZ4+eNYSBo/Ly/goJVCxf6Z83AHgWLkqif4mWEPQoWZTEoaWw3hlKfrtq794hg1UazBMv+BIvSbO4PihSt5lBGRWv3/hCsmjL4TjOwN8GiJBou8yxtb7U1ulr4Jj+3uLlv/8AlbZW++qOuHJfc/BEXcrlOV37Y7oRVo3683QxKpXGG05Vg1a5DncmtT5pDOU5XdyUZbA6CVdt++mJypMscqtugpHG605Vg0VlJ/nytOVS1IQ/HJzwLFsc8vSdZ9ZI5VKWGP07q/9DpSrD43xb+wgyq0uCF8wxBsHib3x5ObnzcHKpK878mRes9BiFYvIPHfp2s2GYOVaFxlptEBYvj+dqG5HCnOfSvpmTwQrESLI7nUGfy2ZXm0K+GPh73XAkW79KOA8l168yhXwx5KKkb63QlWLwXT76S3P6UOfSpwXcm9ReJlWBxIr73QnLPs+bQJ5q+lDT+qVgJFifj3l8m391sDr1q0Lxk0BfFSrDoCf/4dHK/aPVSrOYmTX8rVoJFT6kkufPp5FubzKJnY/WFpOn2ItErwaLH3bUx+YenzaFHNH01abpFqQSL3vTdzckXnzCHk9L8rWTQPLESLPrCmp3JrFXmcEKGrkkarhArwaIvbd6XXPKDZMNus3hX6j+atDx/aeomi5Vg0R/2H07mrUkWbTCL36vp75MhPyhSDFttGIJFP6okWbYlmfHTZO9B83iLoi0Z+rNk0DX+JVCwqCbb9ieX/9Bp6y2nqpb/KlJ3jlIJFtWos9J92rr8h8m/7ajRITT8UdKy8dipyvuwCxZVb3dH8lf/kVy9Ktn821r523BeMvTfk+YlRYrhTlWCRdk8vy+ZtTJpfzTZOlDDVXduMuSRZOjaInUfFCrBouw2", "merchantDisplayName": "string", "customEmailMessage": "string", "enableReminders": true, "headerStyle": { "fontColor": "#000001", "backgroundColor": "#FFFFFF" }, "deliveryLanguage": "fr-FR", "defaultCurrencyCode": "USD", "payerAuthenticationInInvoicing": "enable", "showVatNumber": false, "vatRegistrationNumber": "Inv1234" } } } } ], "responses": { "200": { "description": "OK.", "schema": { "title": "invoicingV2InvoiceSettingsPut200Response", "example": { "submitTimeUtc": "2019-07-03T19:26:48Z", "invoiceSettingsInformation": { "merchantLogo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kHGAsGCmSy5V4AAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAALiUlEQVR42u3df6zV9X3H8df3/uBy4Wrl1qsICJQfDqUNSWuYbWyNMZqiXTPppATpGu5Ekpm4qrRbdZ3BdS4U3RZam6gbtmlGFcW2pK0tMAdoXWew6IiVCshQoCoUKaKXX/ee/XFJOp0rCvfH+d7zeCT8Ry7nvt9fnudzLl/OKSqVSgDKoM4IAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAA3q6hp77QppYWH3B4zKQDBwpTACcsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwgIGloZof3OysL+dUWzZ5M0P6zPoDk2rmDSOdsADBAhAsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECyAXtdgBPSVoqhkcPOhDDv9tQwf8WpGjN6VUWN3ZcToXRk+8pWcfsZvclrr/jQP7Uh9fWc6O+vT8UZz9u09NXtefX9e3nlmdr04Ijv+e0R2vTgiL+86I6/tGZaDHU2pVAoDFiw4cc1DDmbM+BczZerGfPzSJ3LBRU++t+N/XVcaTzuSU0/bn9Hjdvze3/vztVPz2KqP5ZknP5TtW0en483BFjAQn/QqlUqPfKFNLS2Vnn5ws7Pehsr084X6rowZ91I+fukTuWrOwzlr1Mv99lh+vWN4Hrxveh5b9bFsf+HsdHUO3J9+rD8wqWaOl4LFyUWqrisTzn0hn575o8y85qGqfZz3//OfZMX9V2TLc+PS1TWw4iVYgsVxtLbtzeWfWZkv3HpX6R77Py24Lj9efln27m4VLMESrIHsnMlbMm/+v+SiTz5e+u9l7U8uzN13/Fmef3aCYAmWYA0kH/rIs/nrO76W8ZNeGHDf29ZN4/LV+V/KxqcmC5ZgCVa5T1Sbs2Dx32XieVsH/Pe6+Zfjc+v1t+T5ZycKVpVy4yjvqG34niy89ytZurq9JmKVJBPP25qlq9uz8N6vpG34HheBYFHt6hs6M6N9eR7ZcGUu+dSampzBJZ9ak0c2XJkZ7ctT39DpovCS0EvCavSBidtz9/Lr09q21zCO2bu7NfM+szjbNo/xktAJi6p41ioqmdG+PA+umy1Wb9PatjcPrpudGe3LUxQVA3HCcsLqT6eetj933HdzPnzBM4ZxHL/4+ZTMn3N79u871QnLCYu+ds7kLXn0uSvE6l368AXP5NHnrsg5k7cYhmDRly6eti5LV88xiBOwdPWcXDxtnUEIFn1h1txlWbTkFoM4CYuW3JJZc5cZhGDRm6778j258bavG0QPuPG2r+e6L99jEH3I+2HViKKo5KbbFlf1OyqU0Zzrv5PmIR2582+u9yaCTlj0lBsWfEOsesnMax7KDQu+YRCCRU+49qb7/Lyll82auyzX3nSfQQgWJ2P67BW5dv4Sg+iLJ4b5SzJ99gqDECxOxNRPrM/NixYZRB+6edGiTP2EG54Fi/dk1Nid+eYDNxhEP/jmAzdk1NidBtELqvq/5pTVpAMH+vmfiw4mr0+oJIcso980JadsKRKf3uOExXF69Zdi1e8OHdsDgsX/7+jKSo4sNYdqcGRp9z4QLN5BZe+16bjaHKpJx9Xde0Gw+D8vBe82BHsRLKpf539WcvT75lCVL9O/370fBIskOZq8Od0Yqtmb07v3hGDVvCMPV5LD5lDVDh/bEyfDfVi9oG/vwzqYvH622ZfFKS+5N8sJq5ZPV8vEyr6csJywynDCOpy8PtLcS3fK2lkkg8zBCavGuCnR3gSL0jh4kxnYm2BRAl2/qqTiQ09LqbK3e38IVs047E357E+wKMfVnhxxwZfakSVx75xg1YbOZ7ycsEfBoizPzg+YgT0KFmXQlRz5tjEMiGB9u3ufCNbA7dVOLyPsU7AoywXuE1nsU7Aoi6M/MQP7FCxK4sjDZmCfgkUJVN4wA3sVLMpyYb/qB7T2KliURNd2M7BXwaIsz8RbzcBeBYuyPBO7sO1VsCjNhb3NDOxVsCjLhb3TDOxVsCiJym4zsFfBoiwX9n4zsFfBoix8crC9Chal0WAE9ipYlERxqhnYq2BRlgu7zQzsVbAoy7ZGmoG9ChZl2dYHzMBeBYuybGu8GdirYFEShQvbXgWL0mxrjBnYq2BRlmfiMwpDsFfBoiQX9lAzsFfBokQap5uBfQoWJdHwSTOwT8GiLBs73wzsU7Aoy8ZG+gGtfQoWJVpZ4+eNYSBo/Ly/goJVCxf6Z83AHgWLkqif4mWEPQoWZTEoaWw3hlKfrtq794hg1UazBMv+BIvSbO4PihSt5lBGRWv3/hCsmjL4TjOwN8GiJBou8yxtb7U1ulr4Jj+3uLlv/8AlbZW++qOuHJfc/BEXcrlOV37Y7oRVo3683QxKpXGG05Vg1a5DncmtT5pDOU5XdyUZbA6CVdt++mJypMscqtugpHG605Vg0VlJ/nytOVS1IQ/HJzwLFsc8vSdZ9ZI5VKWGP07q/9DpSrD43xb+wgyq0uCF8wxBsHib3x5ObnzcHKpK878mRes9BiFYvIPHfp2s2GYOVaFxlptEBYvj+dqG5HCnOfSvpmTwQrESLI7nUGfy2ZXm0K+GPh73XAkW79KOA8l168yhXwx5KKkb63QlWLwXT76S3P6UOfSpwXcm9ReJlWBxIr73QnLPs+bQJ5q+lDT+qVgJFifj3l8m391sDr1q0Lxk0BfFSrDoCf/4dHK/aPVSrOYmTX8rVoJFT6kkufPp5FubzKJnY/WFpOn2ItErwaLH3bUx+YenzaFHNH01abpFqQSL3vTdzckXnzCHk9L8rWTQPLESLPrCmp3JrFXmcEKGrkkarhArwaIvbd6XXPKDZMNus3hX6j+atDx/aeomi5Vg0R/2H07mrUkWbTCL36vp75MhPyhSDFttGIJFP6okWbYlmfHTZO9B83iLoi0Z+rNk0DX+JVCwqCbb9ieX/9Bp6y2nqpb/KlJ3jlIJFtWos9J92rr8h8m/7ajRITT8UdKy8dipyvuwCxZVb3dH8lf/kVy9Ktn821r523BeMvTfk+YlRYrhTlWCRdk8vy+ZtTJpfzTZOlDDVXduMuSRZOjaInUfFCrBouw2/iaZubL73q21uwbKS79p3fdUDV1XpP58oSrDyoyA92LzvmT+z5LWwcnlo5O/mFLCb6JpQdJ41VMp2s630XIpKpVKj3yhTS0tlWr9Jj+3uNmme+uIXiTj35d8emwyc2IVP9BBc5PGq5O6cwsvLARLsEhdkYw5JbnwrOSqCclZQ/rzwZydNLYnDZcldeOLpN6CvCSE3+mqdN/LtW1/8p1fJc0N3QGb8v7kwhHJBWf25pV8cVJ/WVI/NambUKQYYiGCBe9ex9Fk02vdvx7Y0n2f+OCGZFhTcuaQZOTQ3/2aNu6jSeWVpPJaUnkjydHuy7MYmhTDkuLMpG5UUoxO6sYmdWOSYmRSnF6kaI670AULelTlWMQ6jia73njrf7qe9sEVisPxX+kbASBYAIIFCBaAYAEIFiBYAIIFIFiAYAEIFoBgAYIFIFgAggUIFoBgAQgWIFgAggUgWIBgAQgWgGABggUgWACCBQgWgGABggUgWACCBQgWgGABCBYgWACCBSBYgGABCBaAYAGCBSBYAIIFCBZA/2noqS806cCBomq/yyVtFasGJywAwQIQLECwAAQLQLAAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAug/RaXiM0YBJywAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAhAsAMECBAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAPrG/wDHqLt3n4mBDgAAAABJRU5ErkJgggiVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kHGAsGCmSy5V4AAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAALiUlEQVR42u3df6zV9X3H8df3/uBy4Wrl1qsICJQfDqUNSWuYbWyNMZqiXTPppATpGu5Ekpm4qrRbdZ3BdS4U3RZam6gbtmlGFcW2pK0tMAdoXWew6IiVCshQoCoUKaKXX/ee/XFJOp0rCvfH+d7zeCT8Ry7nvt9fnudzLl/OKSqVSgDKoM4IAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAA3q6hp77QppYWH3B4zKQDBwpTACcsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwgIGloZof3OysL+dUWzZ5M0P6zPoDk2rmDSOdsADBAhAsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECyAXtdgBPSVoqhkcPOhDDv9tQwf8WpGjN6VUWN3ZcToXRk+8pWcfsZvclrr/jQP7Uh9fWc6O+vT8UZz9u09NXtefX9e3nlmdr04Ijv+e0R2vTgiL+86I6/tGZaDHU2pVAoDFiw4cc1DDmbM+BczZerGfPzSJ3LBRU++t+N/XVcaTzuSU0/bn9Hjdvze3/vztVPz2KqP5ZknP5TtW0en483BFjAQn/QqlUqPfKFNLS2Vnn5ws7Pehsr084X6rowZ91I+fukTuWrOwzlr1Mv99lh+vWN4Hrxveh5b9bFsf+HsdHUO3J9+rD8wqWaOl4LFyUWqrisTzn0hn575o8y85qGqfZz3//OfZMX9V2TLc+PS1TWw4iVYgsVxtLbtzeWfWZkv3HpX6R77Py24Lj9efln27m4VLMESrIHsnMlbMm/+v+SiTz5e+u9l7U8uzN13/Fmef3aCYAmWYA0kH/rIs/nrO76W8ZNeGHDf29ZN4/LV+V/KxqcmC5ZgCVa5T1Sbs2Dx32XieVsH/Pe6+Zfjc+v1t+T5ZycKVpVy4yjvqG34niy89ytZurq9JmKVJBPP25qlq9uz8N6vpG34HheBYFHt6hs6M6N9eR7ZcGUu+dSampzBJZ9ak0c2XJkZ7ctT39DpovCS0EvCavSBidtz9/Lr09q21zCO2bu7NfM+szjbNo/xktAJi6p41ioqmdG+PA+umy1Wb9PatjcPrpudGe3LUxQVA3HCcsLqT6eetj933HdzPnzBM4ZxHL/4+ZTMn3N79u871QnLCYu+ds7kLXn0uSvE6l368AXP5NHnrsg5k7cYhmDRly6eti5LV88xiBOwdPWcXDxtnUEIFn1h1txlWbTkFoM4CYuW3JJZc5cZhGDRm6778j258bavG0QPuPG2r+e6L99jEH3I+2HViKKo5KbbFlf1OyqU0Zzrv5PmIR2582+u9yaCTlj0lBsWfEOsesnMax7KDQu+YRCCRU+49qb7/Lyll82auyzX3nSfQQgWJ2P67BW5dv4Sg+iLJ4b5SzJ99gqDECxOxNRPrM/NixYZRB+6edGiTP2EG54Fi/dk1Nid+eYDNxhEP/jmAzdk1NidBtELqvq/5pTVpAMH+vmfiw4mr0+oJIcso980JadsKRKf3uOExXF69Zdi1e8OHdsDgsX/7+jKSo4sNYdqcGRp9z4QLN5BZe+16bjaHKpJx9Xde0Gw+D8vBe82BHsRLKpf539WcvT75lCVL9O/370fBIskOZq8Od0Yqtmb07v3hGDVvCMPV5LD5lDVDh/bEyfDfVi9oG/vwzqYvH622ZfFKS+5N8sJq5ZPV8vEyr6csJywynDCOpy8PtLcS3fK2lkkg8zBCavGuCnR3gSL0jh4kxnYm2BRAl2/qqTiQ09LqbK3e38IVs047E357E+wKMfVnhxxwZfakSVx75xg1YbOZ7ycsEfBoizPzg+YgT0KFmXQlRz5tjEMiGB9u3ufCNbA7dVOLyPsU7AoywXuE1nsU7Aoi6M/MQP7FCxK4sjDZmCfgkUJVN4wA3sVLMpyYb/qB7T2KliURNd2M7BXwaIsz8RbzcBeBYuyPBO7sO1VsCjNhb3NDOxVsCjLhb3TDOxVsCiJym4zsFfBoiwX9n4zsFfBoix8crC9Chal0WAE9ipYlERxqhnYq2BRlgu7zQzsVbAoy7ZGmoG9ChZl2dYHzMBeBYuybGu8GdirYFEShQvbXgWL0mxrjBnYq2BRlmfiMwpDsFfBoiQX9lAzsFfBokQap5uBfQoWJdHwSTOwT8GiLBs73wzsU7Aoy8ZG+gGtfQoWJVpZ4+eNYSBo/Ly/goJVCxf6Z83AHgWLkqif4mWEPQoWZTEoaWw3hlKfrtq794hg1UazBMv+BIvSbO4PihSt5lBGRWv3/hCsmjL4TjOwN8GiJBou8yxtb7U1ulr4Jj+3uLlv/8AlbZW++qOuHJfc/BEXcrlOV37Y7oRVo3683QxKpXGG05Vg1a5DncmtT5pDOU5XdyUZbA6CVdt++mJypMscqtugpHG605Vg0VlJ/nytOVS1IQ/HJzwLFsc8vSdZ9ZI5VKWGP07q/9DpSrD43xb+wgyq0uCF8wxBsHib3x5ObnzcHKpK878mRes9BiFYvIPHfp2s2GYOVaFxlptEBYvj+dqG5HCnOfSvpmTwQrESLI7nUGfy2ZXm0K+GPh73XAkW79KOA8l168yhXwx5KKkb63QlWLwXT76S3P6UOfSpwXcm9ReJlWBxIr73QnLPs+bQJ5q+lDT+qVgJFifj3l8m391sDr1q0Lxk0BfFSrDoCf/4dHK/aPVSrOYmTX8rVoJFT6kkufPp5FubzKJnY/WFpOn2ItErwaLH3bUx+YenzaFHNH01abpFqQSL3vTdzckXnzCHk9L8rWTQPLESLPrCmp3JrFXmcEKGrkkarhArwaIvbd6XXPKDZMNus3hX6j+atDx/aeomi5Vg0R/2H07mrUkWbTCL36vp75MhPyhSDFttGIJFP6okWbYlmfHTZO9B83iLoi0Z+rNk0DX+JVCwqCbb9ieX/9Bp6y2nqpb/KlJ3jlIJFtWos9J92rr8h8m/7ajRITT8UdKy8dipyvuwCxZVb3dH8lf/kVy9Ktn821r523BeMvTfk+YlRYrhTlWCRdk8vy+ZtTJpfzTZOlDDVXduMuSRZOjaInUfFCrBouw2/iaZubL73q21uwbKS79p3fdUDV1XpP58oSrDyoyA92LzvmT+z5LWwcnlo5O/mFLCb6JpQdJ41VMp2s630XIpKpVKj3yhTS0tlWr9Jj+3uNmme+uIXiTj35d8emwyc2IVP9BBc5PGq5O6cwsvLARLsEhdkYw5JbnwrOSqCclZQ/rzwZydNLYnDZcldeOLpN6CvCSE3+mqdN/LtW1/8p1fJc0N3QGb8v7kwhHJBWf25pV8cVJ/WVI/NambUKQYYiGCBe9ex9Fk02vdvx7Y0n2f+OCGZFhTcuaQZOTQ3/2aNu6jSeWVpPJaUnkjydHuy7MYmhTDkuLMpG5UUoxO6sYmdWOSYmRSnF6kaI670AULelTlWMQ6jia73njrf7qe9sEVisPxX+kbASBYAIIFCBaAYAEIFiBYAIIFIFiAYAEIFoBgAYIFIFgAggUIFoBgAQgWIFgAggUgWIBgAQgWgGABggUgWACCBQgWgGABggUgWACCBQgWgGABCBYgWACCBSBYgGABCBaAYAGCBSBYAIIFCBZA/2noqS806cCBomq/yyVtFasGJywAwQIQLECwAAQLQLAAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAug/RaXiM0YBJywAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAhAsAMECBAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAPrG/wDHqLt3n4mBDgAAAABJRU5ErkJgggiVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kHGAsGCmSy5V4AAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAALiUlEQVR42u3df6zV9X3H8df3/uBy4Wrl1qsICJQfDqUNSWuYbWyNMZqiXTPppATpGu5Ekpm4qrRbdZ3BdS4U3RZam6gbtmlGFcW2pK0tMAdoXWew6IiVCshQoCoUKaKXX/ee/XFJOp0rCvfH+d7zeCT8Ry7nvt9fnudzLl/OKSqVSgDKoM4IAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAA3q6hp77QppYWH3B4zKQDBwpTACcsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwgIGloZof3OysL+dUWzZ5M0P6zPoDk2rmDSOdsADBAhAsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECyAXtdgBPSVoqhkcPOhDDv9tQwf8WpGjN6VUWN3ZcToXRk+8pWcfsZvclrr/jQP7Uh9fWc6O+vT8UZz9u09NXtefX9e3nlmdr04Ijv+e0R2vTgiL+86I6/tGZaDHU2pVAoDFiw4cc1DDmbM+BczZerGfPzSJ3LBRU++t+N/XVcaTzuSU0/bn9Hjdvze3/vztVPz2KqP5ZknP5TtW0en483BFjAQn/QqlUqPfKFNLS2Vnn5ws7Pehsr084X6rowZ91I+fukTuWrOwzlr1Mv99lh+vWN4Hrxveh5b9bFsf+HsdHUO3J9+rD8wqWaOl4LFyUWqrisTzn0hn575o8y85qGqfZz3//OfZMX9V2TLc+PS1TWw4iVYgsVxtLbtzeWfWZkv3HpX6R77Py24Lj9efln27m4VLMESrIHsnMlbMm/+v+SiTz5e+u9l7U8uzN13/Fmef3aCYAmWYA0kH/rIs/nrO76W8ZNeGHDf29ZN4/LV+V/KxqcmC5ZgCVa5T1Sbs2Dx32XieVsH/Pe6+Zfjc+v1t+T5ZycKVpVy4yjvqG34niy89ytZurq9JmKVJBPP25qlq9uz8N6vpG34HheBYFHt6hs6M6N9eR7ZcGUu+dSampzBJZ9ak0c2XJkZ7ctT39DpovCS0EvCavSBidtz9/Lr09q21zCO2bu7NfM+szjbNo/xktAJi6p41ioqmdG+PA+umy1Wb9PatjcPrpudGe3LUxQVA3HCcsLqT6eetj933HdzPnzBM4ZxHL/4+ZTMn3N79u871QnLCYu+ds7kLXn0uSvE6l368AXP5NHnrsg5k7cYhmDRly6eti5LV88xiBOwdPWcXDxtnUEIFn1h1txlWbTkFoM4CYuW3JJZc5cZhGDRm6778j258bavG0QPuPG2r+e6L99jEH3I+2HViKKo5KbbFlf1OyqU0Zzrv5PmIR2582+u9yaCTlj0lBsWfEOsesnMax7KDQu+YRCCRU+49qb7/Lyll82auyzX3nSfQQgWJ2P67BW5dv4Sg+iLJ4b5SzJ99gqDECxOxNRPrM/NixYZRB+6edGiTP2EG54Fi/dk1Nid+eYDNxhEP/jmAzdk1NidBtELqvq/5pTVpAMH+vmfiw4mr0+oJIcso980JadsKRKf3uOExXF69Zdi1e8OHdsDgsX/7+jKSo4sNYdqcGRp9z4QLN5BZe+16bjaHKpJx9Xde0Gw+D8vBe82BHsRLKpf539WcvT75lCVL9O/370fBIskOZq8Od0Yqtmb07v3hGDVvCMPV5LD5lDVDh/bEyfDfVi9oG/vwzqYvH622ZfFKS+5N8sJq5ZPV8vEyr6csJywynDCOpy8PtLcS3fK2lkkg8zBCavGuCnR3gSL0jh4kxnYm2BRAl2/qqTiQ09LqbK3e38IVs047E357E+wKMfVnhxxwZfakSVx75xg1YbOZ7ycsEfBoizPzg+YgT0KFmXQlRz5tjEMiGB9u3ufCNbA7dVOLyPsU7AoywXuE1nsU7Aoi6M/MQP7FCxK4sjDZmCfgkUJVN4wA3sVLMpyYb/qB7T2KliURNd2M7BXwaIsz8RbzcBeBYuyPBO7sO1VsCjNhb3NDOxVsCjLhb3TDOxVsCiJym4zsFfBoiwX9n4zsFfBoix8crC9Chal0WAE9ipYlERxqhnYq2BRlgu7zQzsVbAoy7ZGmoG9ChZl2dYHzMBeBYuybGu8GdirYFEShQvbXgWL0mxrjBnYq2BRlmfiMwpDsFfBoiQX9lAzsFfBokQap5uBfQoWJdHwSTOwT8GiLBs73wzsU7Aoy8ZG+gGtfQoWJVpZ4+eNYSBo/Ly/goJVCxf6Z83AHgWLkqif4mWEPQoWZTEoaWw3hlKfrtq794hg1UazBMv+BIvSbO4PihSt5lBGRWv3/hCsmjL4TjOwN8GiJBou8yxtb7U1ulr4Jj+3uLlv/8AlbZW++qOuHJfc/BEXcrlOV37Y7oRVo3683QxKpXGG05Vg1a5DncmtT5pDOU5XdyUZbA6CVdt++mJypMscqtugpHG605Vg0VlJ/nytOVS1IQ/HJzwLFsc8vSdZ9ZI5VKWGP07q/9DpSrD43xb+wgyq0uCF8wxBsHib3x5ObnzcHKpK878mRes9BiFYvIPHfp2s2GYOVaFxlptEBYvj+dqG5HCnOfSvpmTwQrESLI7nUGfy2ZXm0K+GPh73XAkW79KOA8l168yhXwx5KKkb63QlWLwXT76S3P6UOfSpwXcm9ReJlWBxIr73QnLPs+bQJ5q+lDT+qVgJFifj3l8m391sDr1q0Lxk0BfFSrDoCf/4dHK/aPVSrOYmTX8rVoJFT6kkufPp5FubzKJnY/WFpOn2ItErwaLH3bUx+YenzaFHNH01abpFqQSL3vTdzckXnzCHk9L8rWTQPLESLPrCmp3JrFXmcEKGrkkarhArwaIvbd6XXPKDZMNus3hX6j+atDx/aeomi5Vg0R/2H07mrUkWbTCL36vp75MhPyhSDFttGIJFP6okWbYlmfHTZO9B83iLoi0Z+rNk0DX+JVCwqCbb9ieX/9Bp6y2nqpb/KlJ3jlIJFtWos9J92rr8h8m/7ajRITT8UdKy8dipyvuwCxZVb3dH8lf/kVy9Ktn821r523BeMvTfk+YlRYrhTlWCRdk8vy+ZtTJpfzTZOlDDVXduMuSRZOjaInUfFCrBouw2/iaZubL73q21uwbKS79p3fdUDV1XpP58oSrDyoyA92LzvmT+z5LWwcnlo5O/mFLCb6JpQdJ41VMp2s630XIpKpVKj3yhTS0tlWr9Jj+3uNmme+uIXiTj35d8emwyc2IVP9BBc5PGq5O6cwsvLARLsEhdkYw5JbnwrOSqCclZQ/rzwZydNLYnDZcldeOLpN6CvCSE3+mqdN/LtW1/8p1fJc0N3QGb8v7kwhHJBWf25pV8cVJ/WVI/NambUKQYYiGCBe9ex9Fk02vdvx7Y0n2f+OCGZFhTcuaQZOTQ3/2aNu6jSeWVpPJaUnkjydHuy7MYmhTDkuLMpG5UUoxO6sYmdWOSYmRSnF6kaI670AULelTlWMQ6jia73njrf7qe9sEVisPxX+kbASBYAIIFCBaAYAEIFiBYAIIFIFiAYAEIFoBgAYIFIFgAggUIFoBgAQgWIFgAggUgWIBgAQgWgGABggUgWACCBQgWgGABggUgWACCBQgWgGABCBYgWACCBSBYgGABCBaAYAGCBSBYAIIFCBZA/2noqS806cCBomq/yyVtFasGJywAwQIQLECwAAQLQLAAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAug/RaXiM0YBJywAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAhAsAMECBAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAPrG/wDHqLt3n4mBDgAAAABJRU5ErkJgggiVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kHGAsGCmSy5V4AAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAALiUlEQVR42u3df6zV9X3H8df3/uBy4Wrl1qsICJQfDqUNSWuYbWyNMZqiXTPppATpGu5Ekpm4qrRbdZ3BdS4U3RZam6gbtmlGFcW2pK0tMAdoXWew6IiVCshQoCoUKaKXX/ee/XFJOp0rCvfH+d7zeCT8Ry7nvt9fnudzLl/OKSqVSgDKoM4IAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAA3q6hp77QppYWH3B4zKQDBwpTACcsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwgIGloZof3OysL+dUWzZ5M0P6zPoDk2rmDSOdsADBAhAsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECyAXtdgBPSVoqhkcPOhDDv9tQwf8WpGjN6VUWN3ZcToXRk+8pWcfsZvclrr/jQP7Uh9fWc6O+vT8UZz9u09NXtefX9e3nlmdr04Ijv+e0R2vTgiL+86I6/tGZaDHU2pVAoDFiw4cc1DDmbM+BczZerGfPzSJ3LBRU++t+N/XVcaTzuSU0/bn9Hjdvze3/vztVPz2KqP5ZknP5TtW0en483BFjAQn/QqlUqPfKFNLS2Vnn5ws7Pehsr084X6rowZ91I+fukTuWrOwzlr1Mv99lh+vWN4Hrxveh5b9bFsf+HsdHUO3J9+rD8wqWaOl4LFyUWqrisTzn0hn575o8y85qGqfZz3//OfZMX9V2TLc+PS1TWw4iVYgsVxtLbtzeWfWZkv3HpX6R77Py24Lj9efln27m4VLMESrIHsnMlbMm/+v+SiTz5e+u9l7U8uzN13/Fmef3aCYAmWYA0kH/rIs/nrO76W8ZNeGHDf29ZN4/LV+V/KxqcmC5ZgCVa5T1Sbs2Dx32XieVsH/Pe6+Zfjc+v1t+T5ZycKVpVy4yjvqG34niy89ytZurq9JmKVJBPP25qlq9uz8N6vpG34HheBYFHt6hs6M6N9eR7ZcGUu+dSampzBJZ9ak0c2XJkZ7ctT39DpovCS0EvCavSBidtz9/Lr09q21zCO2bu7NfM+szjbNo/xktAJi6p41ioqmdG+PA+umy1Wb9PatjcPrpudGe3LUxQVA3HCcsLqT6eetj933HdzPnzBM4ZxHL/4+ZTMn3N79u871QnLCYu+ds7kLXn0uSvE6l368AXP5NHnrsg5k7cYhmDRly6eti5LV88xiBOwdPWcXDxtnUEIFn1h1txlWbTkFoM4CYuW3JJZc5cZhGDRm6778j258bavG0QPuPG2r+e6L99jEH3I+2HViKKo5KbbFlf1OyqU0Zzrv5PmIR2582+u9yaCTlj0lBsWfEOsesnMax7KDQu+YRCCRU+49qb7/Lyll82auyzX3nSfQQgWJ2P67BW5dv4Sg+iLJ4b5SzJ99gqDECxOxNRPrM/NixYZRB+6edGiTP2EG54Fi/dk1Nid+eYDNxhEP/jmAzdk1NidBtELqvq/5pTVpAMH+vmfiw4mr0+oJIcso980JadsKRKf3uOExXF69Zdi1e8OHdsDgsX/7+jKSo4sNYdqcGRp9z4QLN5BZe+16bjaHKpJx9Xde0Gw+D8vBe82BHsRLKpf539WcvT75lCVL9O/370fBIskOZq8Od0Yqtmb07v3hGDVvCMPV5LD5lDVDh/bEyfDfVi9oG/vwzqYvH622ZfFKS+5N8sJq5ZPV8vEyr6csJywynDCOpy8PtLcS3fK2lkkg8zBCavGuCnR3gSL0jh4kxnYm2BRAl2/qqTiQ09LqbK3e38IVs047E357E+wKMfVnhxxwZfakSVx75xg1YbOZ7ycsEfBoizPzg+YgT0KFmXQlRz5tjEMiGB9u3ufCNbA7dVOLyPsU7AoywXuE1nsU7Aoi6M/MQP7FCxK4sjDZmCfgkUJVN4wA3sVLMpyYb/qB7T2KliURNd2M7BXwaIsz8RbzcBeBYuyPBO7sO1VsCjNhb3NDOxVsCjLhb3TDOxVsCiJym4zsFfBoiwX9n4zsFfBoix8crC9Chal0WAE9ipYlERxqhnYq2BRlgu7zQzsVbAoy7ZGmoG9ChZl2dYHzMBeBYuybGu8GdirYFEShQvbXgWL0mxrjBnYq2BRlmfiMwpDsFfBoiQX9lAzsFfBokQap5uBfQoWJdHwSTOwT8GiLBs73wzsU7Aoy8ZG+gGtfQoWJVpZ4+eNYSBo/Ly/goJVCxf6Z83AHgWLkqif4mWEPQoWZTEoaWw3hlKfrtq794hg1UazBMv+BIvSbO4PihSt5lBGRWv3/hCsmjL4TjOwN8GiJBou8yxtb7U1ulr4Jj+3uLlv/8AlbZW++qOuHJfc/BEXcrlOV37Y7oRVo3683QxKpXGG05Vg1a5DncmtT5pDOU5XdyUZbA6CVdt++mJypMscqtugpHG605Vg0VlJ/nytOVS1IQ/HJzwLFsc8vSdZ9ZI5VKWGP07q/9DpSrD43xb+wgyq0uCF8wxBsHib3x5ObnzcHKpK878mRes9BiFYvIPHfp2s2GYOVaFxlptEBYvj+dqG5HCnOfSvpmTwQrESLI7nUGfy2ZXm0K+GPh73XAkW79KOA8l168yhXwx5KKkb63QlWLwXT76S3P6UOfSpwXcm9ReJlWBxIr73QnLPs+bQJ5q+lDT+qVgJFifj3l8m391sDr1q0Lxk0BfFSrDoCf/4dHK/aPVSrOYmTX8rVoJFT6kkufPp5FubzKJnY/WFpOn2ItErwaLH3bUx+YenzaFHNH01abpFqQSL3vTdzckXnzCHk9L8rWTQPLESLPrCmp3JrFXmcEKGrkkarhArwaIvbd6XXPKDZMNus3hX6j+atDx/aeomi5Vg0R/2H07mrUkWbTCL36vp75MhPyhSDFttGIJFP6okWbYlmfHTZO9B83iLoi0Z+rNk0DX+JVCwqCbb9ieX/9Bp6y2nqpb/KlJ3jlIJFtWos9J92rr8h8m/7ajRITT8UdKy8dipyvuwCxZVb3dH8lf/kVy9Ktn821r523BeMvTfk+YlRYrhTlWCRdk8vy+ZtTJpfzTZOlDDVXduMuSRZOjaInUfFCrBouw2/iaZubL73q21uwbKS79p3fdUDV1XpP58oSrDyoyA92LzvmT+z5LWwcnlo5O/mFLCb6JpQdJ41VMp2s630XIpKpVKj3yhTS0tlWr9Jj+3uNmme+uIXiTj35d8emwyc2IVP9BBc5PGq5O6cwsvLARLsEhdkYw5JbnwrOSqCclZQ/rzwZydNLYnDZcldeOLpN6CvCSE3+mqdN/LtW1/8p1fJc0N3QGb8v7kwhHJBWf25pV8cVJ/WVI/NambUKQYYiGCBe9ex9Fk02vdvx7Y0n2f+OCGZFhTcuaQZOTQ3/2aNu6jSeWVpPJaUnkjydHuy7MYmhTDkuLMpG5UUoxO6sYmdWOSYmRSnF6kaI670AULelTlWMQ6jia73njrf7qe9sEVisPxX+kbASBYAIIFCBaAYAEIFiBYAIIFIFiAYAEIFoBgAYIFIFgAggUIFoBgAQgWIFgAggUgWIBgAQgWgGABggUgWACCBQgWgGABggUgWACCBQgWgGABCBYgWACCBSBYgGABCBaAYAGCBSBYAIIFCBZA/2noqS806cCBomq/yyVtFasGJywAwQIQLECwAAQLQLAAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAug/RaXiM0YBJywAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAhAsAMECBAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAPrG/wDHqLt3n4mBDgAAAABJRU5ErkJgggiVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kHGAsGCmSy5V4AAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAALiUlEQVR42u3df6zV9X3H8df3/uBy4Wrl1qsICJQfDqUNSWuYbWyNMZqiXTPppATpGu5Ekpm4qrRbdZ3BdS4U3RZam6gbtmlGFcW2pK0tMAdoXWew6IiVCshQoCoUKaKXX/ee/XFJOp0rCvfH+d7zeCT8Ry7nvt9fnudzLl/OKSqVSgDKoM4IAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAA3q6hp77QppYWH3B4zKQDBwpTACcsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwgIGloZof3OysL+dUWzZ5M0P6zPoDk2rmDSOdsADBAhAsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECyAXtdgBPSVoqhkcPOhDDv9tQwf8WpGjN6VUWN3ZcToXRk+8pWcfsZvclrr/jQP7Uh9fWc6O+vT8UZz9u09NXtefX9e3nlmdr04Ijv+e0R2vTgiL+86I6/tGZaDHU2pVAoDFiw4cc1DDmbM+BczZerGfPzSJ3LBRU++t+N/XVcaTzuSU0/bn9Hjdvze3/vztVPz2KqP5ZknP5TtW0en483BFjAQn/QqlUqPfKFNLS2Vnn5ws7Pehsr084X6rowZ91I+fukTuWrOwzlr1Mv99lh+vWN4Hrxveh5b9bFsf+HsdHUO3J9+rD8wqWaOl4LFyUWqrisTzn0hn575o8y85qGqfZz3//OfZMX9V2TLc+PS1TWw4iVYgsVxtLbtzeWfWZkv3HpX6R77Py24Lj9efln27m4VLMESrIHsnMlbMm/+v+SiTz5e+u9l7U8uzN13/Fmef3aCYAmWYA0kH/rIs/nrO76W8ZNeGHDf29ZN4/LV+V/KxqcmC5ZgCVa5T1Sbs2Dx32XieVsH/Pe6+Zfjc+v1t+T5ZycKVpVy4yjvqG34niy89ytZurq9JmKVJBPP25qlq9uz8N6vpG34HheBYFHt6hs6M6N9eR7ZcGUu+dSampzBJZ9ak0c2XJkZ7ctT39DpovCS0EvCavSBidtz9/Lr09q21zCO2bu7NfM+szjbNo/xktAJi6p41ioqmdG+PA+umy1Wb9PatjcPrpudGe3LUxQVA3HCcsLqT6eetj933HdzPnzBM4ZxHL/4+ZTMn3N79u871QnLCYu+ds7kLXn0uSvE6l368AXP5NHnrsg5k7cYhmDRly6eti5LV88xiBOwdPWcXDxtnUEIFn1h1txlWbTkFoM4CYuW3JJZc5cZhGDRm6778j258bavG0QPuPG2r+e6L99jEH3I+2HViKKo5KbbFlf1OyqU0Zzrv5PmIR2582+u9yaCTlj0lBsWfEOsesnMax7KDQu+YRCCRU+49qb7/Lyll82auyzX3nSfQQgWJ2P67BW5dv4Sg+iLJ4b5SzJ99gqDECxOxNRPrM/NixYZRB+6edGiTP2EG54Fi/dk1Nid+eYDNxhEP/jmAzdk1NidBtELqvq/5pTVpAMH+vmfiw4mr0+oJIcso980JadsKRKf3uOExXF69Zdi1e8OHdsDgsX/7+jKSo4sNYdqcGRp9z4QLN5BZe+16bjaHKpJx9Xde0Gw+D8vBe82BHsRLKpf539WcvT75lCVL9O/370fBIskOZq8Od0Yqtmb07v3hGDVvCMPV5LD5lDVDh/bEyfDfVi9oG/vwzqYvH622ZfFKS+5N8sJq5ZPV8vEyr6csJywynDCOpy8PtLcS3fK2lkkg8zBCavGuCnR3gSL0jh4kxnYm2BRAl2/qqTiQ09LqbK3e38IVs047E357E+wKMfVnhxxwZfakSVx75xg1YbOZ7ycsEfBoizPzg+YgT0KFmXQlRz5tjEMiGB9u3ufCNbA7dVOLyPsU7AoywXuE1nsU7Aoi6M/MQP7FCxK4sjDZmCfgkUJVN4wA3sVLMpyYb/qB7T2KliURNd2M7BXwaIsz8RbzcBeBYuyPBO7sO1VsCjNhb3NDOxVsCjLhb3TDOxVsCiJym4zsFfBoiwX9n4zsFfBoix8crC9Chal0WAE9ipYlERxqhnYq2BRlgu7zQzsVbAoy7ZGmoG9ChZl2dYHzMBeBYuybGu8GdirYFEShQvbXgWL0mxrjBnYq2BRlmfiMwpDsFfBoiQX9lAzsFfBokQap5uBfQoWJdHwSTOwT8GiLBs73wzsU7Aoy8ZG+gGtfQoWJVpZ4+eNYSBo/Ly/goJVCxf6Z83AHgWLkqif4mWEPQoWZTEoaWw3hlKfrtq794hg1UazBMv+BIvSbO4PihSt5lBGRWv3/hCsmjL4TjOwN8GiJBou8yxtb7U1ulr4Jj+3uLlv/8AlbZW++qOuHJfc/BEXcrlOV37Y7oRVo3683QxKpXGG05Vg1a5DncmtT5pDOU5XdyUZbA6CVdt++mJypMscqtugpHG605Vg0VlJ/nytOVS1IQ/HJzwLFsc8vSdZ9ZI5VKWGP07q/9DpSrD43xb+wgyq0uCF8wxBsHib3x5ObnzcHKpK878mRes9BiFYvIPHfp2s2GYOVaFxlptEBYvj+dqG5HCnOfSvpmTwQrESLI7nUGfy2ZXm0K+GPh73XAkW79KOA8l168yhXwx5KKkb63QlWLwXT76S3P6UOfSpwXcm9ReJlWBxIr73QnLPs+bQJ5q+lDT+qVgJFifj3l8m391sDr1q0Lxk0BfFSrDoCf/4dHK/aPVSrOYmTX8rVoJFT6kkufPp5FubzKJnY/WFpOn2ItErwaLH3bUx+YenzaFHNH01abpFqQSL3vTdzckXnzCHk9L8rWTQPLESLPrCmp3JrFXmcEKGrkkarhArwaIvbd6XXPKDZMNus3hX6j+atDx/aeomi5Vg0R/2H07mrUkWbTCL36vp75MhPyhSDFttGIJFP6okWbYlmfHTZO9B83iLoi0Z+rNk0DX+JVCwqCbb9ieX/9Bp6y2nqpb/KlJ3jlIJFtWos9J92rr8h8m/7ajRITT8UdKy8dipyvuwCxZVb3dH8lf/kVy9Ktn821r523BeMvTfk+YlRYrhTlWCRdk8vy+ZtTJpfzTZOlDDVXduMuSRZOjaInUfFCrBouw2", "merchantDisplayName": "string", "customEmailMessage": "string", "enableReminders": true, "headerStyle": { "fontColor": "#000001", "backgroundColor": "#FFFFFF" }, "deliveryLanguage": "en-US", "defaultCurrencyCode": "USD", "payerAuthentication3DSVersion": true, "showVatNumber": false, "vatRegistrationNumber": "Inv1234" } }, "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "invoiceSettingsInformation": { "type": "object", "properties": { "merchantLogo": { "description": "The image file, which must be encoded in Base64 format. Supported file formats are `png`, `jpg`, and `gif`. The image file size restriction is 1 MB.", "type": "string", "maxLength": 10000000 }, "merchantDisplayName": { "description": "The merchant's display name shown on the invoice.", "type": "string", "maxLength": 100 }, "customEmailMessage": { "description": "The content of the email message that we send to your customers.", "type": "string", "maxLength": 2000 }, "enableReminders": { "description": "Whether you would like us to send an auto-generated reminder email to your invoice recipients. Currently, this reminder email is sent five days before the invoice is due and one day after it is past due.", "type": "boolean" }, "headerStyle": { "type": "object", "properties": { "fontColor": { "description": "The invoice font color. The format is a valid hexadecimal code prefixed with `#`, such as `#000000` for black.", "type": "string", "maxLength": 7, "pattern": "^#(?:[0-9a-fA-F]{3}){1,2}$" }, "backgroundColor": { "description": "The invoice background color. The format is a valid hexadecimal code prefixed with `#`, such as `#ffffff` for white.", "type": "string", "maxLength": 7, "pattern": "^#(?:[0-9a-fA-F]{3}){1,2}$" } } }, "deliveryLanguage": { "description": "The language of the email that we send to your customers. Possible values are `zh-CN`, `zh-TW`, `en-US`, `fr-FR`, `de-DE`, `ja-JP`, `pt-BR`, `ru-RU` and `es-419`.", "type": "string", "maxLength": 6 }, "defaultCurrencyCode": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "payerAuthentication3DSVersion": { "description": "The 3D Secure payer authentication status for a merchant's invoice payments.", "type": "boolean", "default": false }, "showVatNumber": { "description": "Display VAT number on Invoice.", "type": "boolean", "default": false }, "vatRegistrationNumber": { "type": "string", "maxLength": 21, "description": "Your government-assigned tax identification number.\n\n#### Tax Calculation\nRequired field for value added tax only. Not applicable to U.S. and Canadian taxes. \n" } } } } } }, "400": { "description": "Could not update the invoice settings for this merchant.", "schema": { "title": "invoicingV2InvoiceSettingsPut400Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the invoice.\n\nPossible values:\n - BADREQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_MERCHANT_CONFIGURATION\n - PROCESSOR_UNAVAILABLE\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" } } } } }, "example": { "submitTimeUtc": "2019-07-01T21:40:10Z", "status": "BADREQUEST", "reason": "VALIDATION_ERROR", "message": "Field validation errors.", "details": [ { "field": "customerInformation.email", "reason": "Invalid email" } ] } } }, "default": { "description": "Unexpected error.", "schema": { "title": "invoicingV2InvoiceSettingsPut502Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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." } }, "example": { "submitTimeUtc": "2018-06-12T09:27:20.000Z", "status": "SERVER_ERROR", "reason": "SERVER_ERROR", "message": "Error - General system failure." } } } }, "x-example": { "example0": { "summary": "UpdateInvoiceSettings", "value": { "invoiceSettingsInformation": { "merchantLogo": "/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAQCAwMDAgQDAwMEBAQEBQkGBQUFBQsICAYJDQsNDQ0LDAwOEBQRDg8TDwwMEhgSExUWFxcXDhEZGxkWGhQWFxb/2wBDAQQEBAUFBQoGBgoWDwwPFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhb/wAARCADHAM0DASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwDlPBvhzU77xaYFVhHnIIPf3rp/il4d1+w0lFWRwi4PBPWvQtG0+LSv+Jj5e1gM9OteP/tCfFjUJPEUOl29q0kEOPMYD9K8aMYVpc0Y3kehgOIcfGrDC4jSLeunTubXwa0i4F95+s3DttwQGbPFeqa1rNnJY/ZUnIyMKoavEdD8R6nq+mK9hbMJFXCgHkmtjwB4P8Y6zqzahqly1uMYjXooFY+wrzbex9X7SjKvGFBuSv8Ah6m1d648OqtbeeyjHB3GuV1bTrrUdUkuGuHwx+XntXWeM/AesabD9uX/AEjbye9cm9/NCu1wc5wR6V14TCUormqfEfF8XZtmWGxCp01aO6Y7T9DkhufNW4kD/wC8ea6jwrosk10Lue4c+UOBmsXR5TOwfdxXRWOo2lvGyyyFePWtMRQwk99z8+jDEV63tK0bnX2+sSRxi1DOY8YIBrzn4w+ENO1q1e8hH+kAEqe+fers3iu1s5NoYSBugBq5Z6ot7A0giPTI+lcFOp9WqXjZo9SjhqsJRqRlb9D508UeHNQtLGRzDJujHYdaytHmm+yeTNCyseNx4r7A8F+HNM8QWckVxbrv52r6mq83wu0LT42k1ezijkJLRkjOeeK9hYnnjdo9+WZRp+9TnzL+up4D8OfDzuyzybhu5xmvQF0KytolkUfMeTz3rrp/DlrbttswqxgZOBTU0tJVVSQMnFcsqkXJts8jMcTiq0ISk7R6HP2pji27m2qPer9jr8aSeRFub1wTS+LfB995kAtH/dvjcPWgaNBp0KoXXzcc/WsKbbTaR5kK86CfVl+3mS9uIxc5K56Z7V07LHbRwy6Wm0DBYiuWsbaNrYmR8GrMl9PZRqI3O0HOetc/PTcrXO/D8U4jDrllBNHdate3F1o2+V3Qkd2rjtTvIbMFWuHY/wC8aNR8SG/0c20jkFRwcVx3iOW5it/PKs6qOWFb16kIWUNUYyzN4qXO46nQaTDZXF488srYPcsa7jQ9Bjn0Geeyuf3mOPnPpXjukX7v9wt83tXW6Tf6zp9kXt5ZI43HP0q6VXnjY0jUcp/DdeW5xvi+XxQNYmtbUXLMr/OyseOa7T4SXeuWS5nuLqJz1IkINVtO1K7juJJfKjmd85Zu5q9YXlyu+WYRruz8oFcdfFTo3cYo6f8AZlR5m2pdrfqdTDqb/wBoOzM8nPzMWJJrivFUl9LrUr2s7pGeg3GtSyvlKlvvNzXG+KLu6OrN5SSFdo6VjgMTXV3Ld9z5ydduNm9D1n48ar4V0v4dn+zdYt2vfKxFEjBmY++OnNeEeDfBHiHx9eb0sAEJz5hHHSqfi34fS7vtlrePJHjdnf0FXPhz8VNU8A3P2WL/AEiJPvR5yfzr0LVJx/cpep+sfWstlJc03fax1F54S8R+BbyHbYpNbqw3YHOK7v8A4Sm3/wCEbSSS2NvKV71wl/8AFTxF4zt55obKO3Vc7VJyWrk/EfiDxJNpLWjw4Kn7y1tSoYqfuOy+Z6FDM8Jhdb6PyPV7HxvPc2strs8whSBn0rgtQsxPeTNdoU3SE4/wryqx+JOp+G9YIuhuw2MkYrdl+K9rdyebdIDuHyqi55960+qVU7X1PNznE4TMaa3TV7HYXkT2kG60iZh61j6vaa/c2rXEVvJtxnFa2heMo59DV4rTeHwcba2tP8USvZeQ1gwD8A7KzVOMZ6q7PgpVnhq3u62PG9H1a7PjGO0uonyrcqT717DpPiTQrScQX1xHbybRhXOPaovCvh7Tzr8uv3NsqiFeXPCrn1PQV5r8V7zSNS8f+fEhaONvL3oOGPt69auVKhVrxTjsj0YTp5g3CcbWPZdK8W20OoL/AGVcKWJ4dTkVu6t4pvNcYNqMgkaNNqYGABXnfwz8PDT9JW7CCVJOUYNuC9OpHFaHijWIdIt3cjLAZCr3NYVJwU7Q1PnMRR9nN0sO3bqX/E3iGLSbFpJ7hYQ428ntUvw1lj1mN7iC+QxqeRur5t8YTeJfGnif/S7hre3jYiGFDwo9TVjwzf654VvxZRao4jY9AfwraWET66nr0MtpyoRVSTc157eR9SeLNbgtNGf7LL5kkakde9cF4VvbzUL6W5vmPLHH0qh4O1E3Vuq3ETkMOp7mt2Aqtwfl2rjoPSuGXLCLhfVnNi/Y0sOrL3+36mzMvnR/uXxjtWbPqaw3SwS7Xz2BqSbWrKwtT5zCJepZj2riNSMt9r39oafLmPHHvWdLAUvaKVN6+Zx4PD1Kt6k42Xc7aPyp3/fN5KNmtOW/0e30c21wu7APOO2K5yxkgms40vZv3/REXqasap4F17W7UzRTrBFt4UHkj1/Wuvka0irnp08Mov3VcTwrcaJdaxN5EirGnPPSoPjF8QovD2kpp+n2/wBoluMIrL0XPf8AlXP6b4NuIbiS2kunVh1YHrVLV9AtbGQ3GrztLHH90k1m5U6lXlvouhrRdLm5YO12aWg+JL6awjYrhzyQavnXLgzbZmx9K43XvGXhfT7BY7C58ycYG1OceuTVBdbnuYVurWBnyO9Kjh9HJQ+86c0yKra0aqb8noeq6XeTM2IZMKetXpHgJBldN2Oc15xofiy5XT3imtDDKVwpJ/lVR7/XpmLxFmXPXrW0qNSrpy2PDo5Go+9OdzrPg/40tNd06SwLKzlCoVjz0rlvFGljw9rrSTxZWdy3P1ryDwbrV74f8SR31o7FVYeYM8YzXs/jMS+OvCNvqGlMXuIAHkRDzjHNXSTw1W32X+DPsK+GdOoklftY0PB91HK/lQR7VkPQe9d5pEdhbws86K2ASSw6cVgfA/wyDo41TUQV2HADd6zvjtr40LSbmLTH3TXa7E4+5ngmvAzH63jMZDD0Z2jfWxhUyXGfVo42tor7dbPqed/EHT9P8ReJLqW2gxbmQhCDnOD1p3hjwVYHbDLgKOpIrmfCd5rNvtkCNNhsn3r23wr4P8a3ujpqsnhu4NrIu4MF6ivrKkvYRSUrerPOqLG1JNUNV6X0LOhaDa6Tp8cjXMflPhVGK0Nblt9Ps98AM8mVwqA4AJxuY9gOP88iO40O+ubqCI2ssENvjzVcdPWuyutH06XRYktIvLntZmQuUz5qsqkZ9FAJ+teLicdQoSVSu7ruj69cJ0KsIuEf3jSvro31Z47rEOp60iPrEs8sTNn7KvEYHXaqZwOACWPPNYM9h9lkUr5UXkhki/dhtiH2PVj6nmvZ49CtXkuFnmKpG5wpQKCgHJ78VheLNH0GDR3uJ7t4Y1YYbZvL+wVecnGMdfx4rD/WLL5TUIt39D0IcN4ylD4UkvM8Xe7uNOvVOnPcWcik4kjmZZHPqSpGee1WI/E+qyXKjWLprqLO3e/3l/x/GtaG48O+JINcu/DVvqkcmhywLdRXdt5TtHLkJMFySF3rjBwfmU96zZNKkvGzHbCRsfxYBP0B6V7EIxqLmcdV33R4GIoU+fVJ+a1/Ez/F2r29ncxyWkgLSdwa5t5b+XVUuIyZMc59/Sui1rwuJ7RcKDLDn2OPeq2h6bfLex21tbPIpP3guRXVF3drHLXoqFJOG5uaT4t1i2sxGtrllGFzUcnjfxIkzF4l57e1dtoXgbUbl4WkgG3gHiuouPh1o6Sxi7wzMcMqda86tXo0p25fuPElKnCTdVad+h4jq+tajrepRyanKfJhORGrYH/166XQfE0MIEYJRAccmvR/GnwP+3rDqHh5RFAynzRj2ritK8FPa+JBa2FsdQmhbEwI6H0HpWdPF0aq/du9uh6kaLrvVpL+tu52/wAN9e8GXWoxWsyO144+/gjmvTVv/C8kx0q01f8A0lVzJCH5Ue9cv4O+H1wL3N9py206puUqOTXLn4f3mlfEC+1bS/PdpARPI5+6e9EsY4xbS6fK53YTJ54lpVElC9n3+7/Mwv2kfHll4eW3m8Pzx3EivtkAbknP/wBauE8OfF7S9dQWWrw+WzjByO9R+LPAq3es3N3dXqxnzHOxz15PNcPrnhN9KuxNDaNcbuVC966aMMNOGmr7nAsppVnLk6M9Kg+H8eoXEmo6UiPHJyAK057L+w9HYzMsckK52Eda898C+LfF+jagreXKltCP9U3Tiu1j8a2viyykkubfy54/4SO9ctP6/SrNVPep91uvUqnh/Z1OX4ku+hTk8TNNC0n2XKqBnaK6bwv4u0FtJTzIm3AkHK15PrV5NHrE0cLFVzgjFdz4EvdJj0BUkRS/mHdx34r0cRU9lT5oxuejhsow+KqeznP2a3udNJ8H7C80+RtOnjdgv4k1v/CTwhqXhG6VfszPBcHZIg+b8am/aCE/hD46S+HtLZ7WwjgjkjjDfeB5zXeeGfiNZ6T4diM9lH5zfIrvzk/1rx8bjqnO8PUVl5K59ZRyejThTxrnZrbXS/z18jQn8PSSW62kSm3ibk8dc1y3ij4d6TfYhn3TMfx5rcvvGV826+uIiYx82FHQdeBWA3xv0CTVlt7RY/tQ42unOe/avPo0587lSv8AI9LF1KMoqNZRt0Urfqd78G/g34M8PwJruvQRvNvzBFKcqOnbua7Xxh8T9D8P25gGl3UkcK8CKIBQPauV8I6nHqGmw6rd+ZKznG1x07jA9KreNV/thGks4zJ5kfl4fgL15xVYitarGnUerW7PhqmOVHGulRprlTSsuvocj8RvilJrGjXr+AfDUNxrMgCRLqEZ8lf7zkD7xAPAOBnr6HwXw1pPxr13UtS1GWDWbl7GRDcva3UMbWTH7uxNyhQQBnaOmBX2t8LfBFjovhcS3UULyFPMk8teTgZ4z3qbw1pEcVvNIIFj+2ymWVcDn0B9cDArjlm8sLQcORO+10fV1KNOpUvGTSj5nzx4f0fxHcSLFrF7JDc3IBRHtB8uMkq2HCkkA8j8jUniD4ft4nsZtGu7t7OO8hGZo5fLlQA5BjPIDKVU89TxXuPjTRIlZWES/Kx2nA49P51yP2WUR+TchXiydrZ2lRXxsswq063PD3Wn0/Q+mopYihyt3TVtTxjwH8IbTwFpuqxRazd6xfalHGl3d3kWzckbbljVAW4BwSSxzgDgDlkegO0mPMV3Xk5XBA9vUV65NYW0nCXk0Mf/AC0z8w/Xmue8SW9nbK0Uf2Jo2OwyzR7sgg5GARzwa+oynOMVicR7z5pSt0PDzPKcNQw3uqyR5u2lhlEiFtzEjDDPrwc981c8I3MmgXc2+3S4s5uJEAy8J/vpnH4j+taWszWChY4iknGdwATntz2rHlm88N5aLhSCgc5YHPU//rr7mu4S90+C+r+0ptTWjPQdH13SnjBhufkfGGBqaLybW8mnkfzI5VOwk56148zOmpSCK58h93KsPkc57+n4Yp9l4p1aG7/s5ndPMxsWX7r5/ut0P0615dTB1ISUlK68zxcRlKk1FbHuHh3Xru2W6s2lZUdCIcng8VZ+EN5pWmXd9qU9hmZXbBI/1j/WuFtI7y505I1kLXD8q684PcCqd/eeNYLeOzsbOWRJOC6rjafcmt5YGNC1Wkt9dD3KeErUHyULXWmqvbs0ei+JPFGonUGvDerbbcui7vujrWXpPxO0uHS7yTEc0sisHkznnnmuCs/Cvim+uvN1plUzcAzS44/zmr+n/Dbw7pgYeIPiLoOkpIclGmBbHfA5/lWPLiKs2orT0PSyvB08thOvWquUpb301+Z4f45TWtX8WT6ilyfs7SblRW4UZ4qWCbUnjw0y/IPlyemK9UvfCfwG0iO4e9+Ld9evnKR2NkzD6A4ArOsdV/Zx0GA3Z0TxV4hlVvl8+ZYY2+uT/Svcp0VGCp209Dx6dbEczmmrt9H/AJXPMFv9RubgWzeW7M2CcdqxNWtdX8O6s64ZVlG88djXttt8YPCUrGLwl8LdH0qNT/x8XkrTSe3oK5/xRHqPibVE1G8tIpjJjiNMKB6AVTcY+6kayqvkcpv3vn+v+R5K89/qUu2GIl8/eA71c0ttVtIGhdG3ByTlfpXqWn2kVnJmPSfLZB6VIdLnuGaU2iruOcZrneIglZrQ462OpU0nKorvzPZPjdo0Pjr4oW2t2Lx7pIliuZmboB0qxqXin4T+BtGjttSt21nVLZD8sS7tp9fQV5+3iPS7VEtTfSGe4G6GFWOXGfQf1rgfjUz2d5HPFYzIlzGGMir97sQa8WlD22MXO9036nvVs3WIUJUYtQ6N7J+XmdtN8V5/EHipbTR9Ejgs5jtCSvzzXp3w18NaJp2uG91LSNPMj4JZzkgn0zXzT4BEl/J5aQSWgjG4zPwWxzxXbN4j1O2bzbe/mupI0KqCchTXRiMPClJKlZN9NTlxWcVZTjD2l7eVz6R8QeJtLns4rKzW3idJAdpAXIHoRU/g2SDxJ4iCyytHBDjcoP38Y4r5Yt/F2strdrFqYlZZm/d7R9456DjrX0j4BSTw/Z2esahprQRTxb40Y4L+9eTjsuVapCpVbSj9x3RqYOso4mUveW/+fkeyanHaWujqivt3Dy413fe9f0rNju7e3jUyuFAOBnvXG6Xqx13xpJqPnLJHHbbIUVspGDycD1+X9a1dQi+WRyc7Tx78f/Xr53OK8HUjGnqkj28t5MTR57uzb/yE8X6vYNC2ZlDKpwB3GDz+YrzbWtek8x0igYxc/OPwA4/OtzxFbBGXzCVJAI3NgZ7E+39awIdMillnLh5C8OMJIMjHceuOuD7YIr1Mg4boY6m8TX1XRX/MnM85qZfJYbD79W/0OH1PVdWu5jL5zW8RBU+Q/t09cZH86x7madpFlUvuiXudwA65zWvqdu8MjIiZVX+Yng4/pWVqimFkkJPqOK+ko4ahhbxowUTx6+Kr4qzrTbM0IdpJGC2dzKoIyevHaoLxTFJ8qhgDkgHhxT5JSDJtQ/NhlXd0wTkA1DcEYxv3Ryev8B7fj2rov2OXl7jpntpI23RKQ33WyeT2z9P6VkPaS/aB5F08YkwxRhuCOD0I6Ee/UVoKTHu6sDztYc4zms43DRagksb4bBB7b/8A64qoSsJwRcuvHfjWxFtpOj2lnE6OcbIwWYnuCTyKbrnjTxrDp7xeI9QutNaX7jxkRhjjpkVn3x8vUY54mba5G1u6t2bPY5rqv+E9vodOW7v/AA9p2t6eq+VdWc65YP3ZT75z+NdMK0E0mtGL2k0/Jeen9en3Hmei67pCTX1zrV7e6hqW0mzd7hnUN2JyelczrWoTa5q32q5dd68AqvQZr17wz4O+EfxKkmg0W8v/AA14gZyVtZUJt+/H0H4V6r8KP2U9I0zw+brxRfNqN27HY1qf3YHY1ljK+HwadatJ/m/uJljIxgoRimt9LWv59b+qPlu2st9n8xDYORnqeKoyW095q0MQfy4IT8yk8da+rtX+CXhnTdaEjTShVJKRk/4fSq114E8NQWNzF9igfzAcPt+bPbmvNocTZdWaVOb+45aGIw0p8krRfqfNOrR6jPiHTbLzRnkoOeO9em/BvVb64t47K/01lSFcBmXBzWvZ+ALfS1nu0l8qSbIQxk/KKgs/D93p1ldXWnaxcNPtLLFKc7sDOAK1ea4erNwjZr5nPisVhq1R00m5LtZ/g7Gv4mtEtw+pNIvlY+5j5uKwJdYt9w2eaRjshOK2/hNqHiLxPpd7catbx2+nae+2UzxYZz6L6966CTWdLjwtjoaNHj7zR43HpnFZ4iWHo1OWe/rc8upluUVHzzm438n/AJs5Y6Dp22LxW9/YW9rKqrbxLKDIFUY5HbvUusa94butOSO81aCSINgA/McegriZvD3hY3ULypLtC7mQzEAnPpXW+GtN8PR2s11/ZdpEIIzKMLubA6ZJ+lRUnSilNNrtoepSw+FrVbc7s+l3b8v1NCbwpp2s2ebW6m+woAUCpsb3BP8AnrVfTfCekabdJc2xeJIm4DNu3H3rX8O+K7CPTbiKGZpN6Z8p13BPxFea614n8T6j4hWx0yK3jWR+5wNufelSp4urUlryxXmYzwmL9uowjGMH13f6s9f8Ajw/ceLBdatBADb5e3BUbd30rR8ZfGrw1q8lvpd9dxrNYkqIYxk9ec49sVV8M+D9Mk8Jx6Tq99DdXbKWmmiYqCSM4HOa838ReCPB3w98SLeXmoRyJdK0iQyHLRgHqO55FL2eHqz5asm7fieo8pqYTDupWle+/wDXX5Hq/wALfEmn2GsXdxHqhls79oYbW1jXLQuzEMzHsAMfSvaZozGuJTtVl2sp7EZr4l1L4lQWcb/8Iv4fnuZgS8bLFgOw5HB/CvsmHXo9c8O6b4ih3NDqFlDdZ/2pFG9T6MjblPoRXgcQYOm19Yp03FaK3y/4HU97IsZzwVDlaS2v1MbV/Kub4q2ZVVtpU9Dx1rm9Wu4kYRND9lnt3z5iL+7IHHIHQdOe3NdRqMaS6dcS7CPnEaMDjJ6kjFcX4he4W43qSXQEHHU4r7Hh6Hscsgr6dDx83lz4yTOX8RXoXU5fPgaSO45jZF5UH7y4/i6Z9cEGssXGn3BJjYTKOGXPKfUHn/PNaN7cWSTL9pikZHYKywg8H146H3x65qp4y8F3Kaf/AMJNoN/Ff28P37m24kgJ/guI+qE/3vut2x0p1oJzbNqFWLppPcz7y00+eBtj7WUgg+nsf8ayZNJ4mjV1O5vmibg1c0WSKe233aTW0nzAhFDBjjoORgH8RUS+J7CzvhYN4f8AtcrQsu+4uCpH+5gHlcZyfX0rmk5JtJXsdHs4vd2uZ15p03kiaVtiiU85wSf6Vm3FpKJVLdFJ3ZHQGu7h18X+krpz2lqscZDTZgAnBwB8wOcqcDkZHvUN1Y2r26rEhhZQShRQQw9/UUU6nN0syJ0XHqcRrWnD7Ostu7vAeWCDJT8PSneGdT+wa00jRrNDIvlXMZYFSR91weh9/UH6Vqa5ps0TGbSZVs9RxwhOYrge2f5Vwsl48eqN9ttBaXDOfPjjY7C3qq4+Ud8cit6lJVKbT2ODEUY1YSg+p7j4XvNAsNSj1W206OO524dkAzivV/BXxK0m1VFjaaF2P3W5T8a+e/CyXeqaOJIZI1AUhyVO7I/yPzpbpdb0KwF815avDIdvlzEIxPtn6V8vLLa3trupr2u/1PiYVsfh6nLzxb7a/nY+hfHM3gr4gWb2T68/hvUXIEN9Ef3Mjddrdq+f/Hln448M6pqOnPrNtdTQSeXam3cOJRjhs/Qiud0nxnpevLqdvc3T28sdpIohz9zHVgfX39q2Phnpp1q4jt4rlp5GXPmvJkt7mu+caOHoWq0lzR3dj3HjowoP2tD3vTS/e5L4V1bxk2lsuuQ2q3BbAzwCPXFbl5rWgaDo0t34iu4vtQjzBBEeWPsPSnfG3RtQ8LeH7PUBNGUuX8lpGG7ymIOOOh6GvFNqxfbbvxFaf2h5qZiujKQWPbiuzC0FXp+3UVyvsc2Fw8azVZR/r8TvPEvxI1DVfDcNt4a0lpmRfmAbALepHeuej8T+LWiX7baSedjkINoHtiq3hBYreDzbORolHOFf7td5o/iVTYIJDp9wy8GQuOa0lShTk7QTfd7l4nEVJy5oqP3f5nNeHZ9O1C+mmu7IzEnKoW2iQ9h7Cu70mLT77Tprf7PDHJdEYjiZmWNR/DzWTd+HbaQAi3W3nAyjwnn8u9bPwusddj1Ce01KC3Syt9rb2U758nt9Mc/Wj2tKrHmXTozPD4yNaP7mXL01Wv6mv4U8K6VZaSJI7B1Z2JMqgjPPqawfGGgD7RnTLLzpnGVJj+YdeteleKobabS7m7sLvdJboii2UZVB0ypH1rzzWtZ1K1vjpmh6Tc6prGMSCMfJbg9DI3Yc9Kwq4qUWla7+5fNmuIlGhJQhNvzW33dPQ4RbXWtHZ5b61u1knYqoRmD5PGQO1Ub/AEtX1yOwv9RSS/uPlihuJvMYLjP+P617BpvhS+t4Tf8Aiy4RZ5kWVlkbaqDsQT0X3rh/G8nw30LUpPEOn3ovdQjj8sQ2Z85iT/dI4z1Gc11UMTGo23v5I9F51RppUqF5O27V9fIqWng67uIYvMns4DEMfu4yWA9c9K9p/ZS11bae9+H19qy3STXK3Omic7RGzKVmgX03Da6j+8rf3q8btfFkly1r9n0q/t47hSSLtNuAOvAzjjpTPDusSjxBPP4WsYWhiuInMk7kyRybuWUjoc8jmuyjhVXjOnVXuk4LG42rUdStPZ/jbyPrXxBoNxpeneUMNbSzFjKRkowHT2BH8q5HW9LkS/e52BlwPNj454HNdl8N/ES+O/CshLbL4R+TdQsOBMoOJU/2XGcjsVIqvqmgzRzqnmbGZeGKkAMB0P8ASu6OHjRoqNP4TpqTnKo/abnmGqaNCkDyGISxzZ3MB831xWJf6SJVkWIzR+bEI1mglMchX0bHJHHQ16LrmlSG1ljdlRlUlQh4fj9K4uSwuHgGYpF2ZJy3ysOenuK8isnGTfQ66VpLzOD8Q6fe6au+3TzfLAEkeAFf3U9FY+nQ84x0PFalqdvceILN4/MjuEuFDxyjBPOMEYJz9AfpXutxE01v5M8as3GYyMbh6+hrjvFHg2ZGN/YoNzKR5ToGV07owPDKfQ8fSs6VaKlqjq5nKKuU7iwQTBwhIX54/mwy9tyMDkemQfbr8tSQzS2tv++fzYef3ypjBzyHUfd+oGPUAc1jWWry2M3k3VtcFI2yIyWaSHjBKnrIoA9fMAGP3q8Vu77e4tEvLS4WTfys0YBUjn72DjrgZ6Z4+Q/LXHNuErSR6EeWavEi1CKOe3aJgWhYBiFb54iejKe49Ox7E9K4jx3FFDH9m1vahfiw1iMfKW7LJ/d9+30rsJom2MsYS3n3MBCpC89SUJHGe6kYPcd6x9Zkgms57G8RSssZ8yCTIjlbH8GfuuPT8iw5rqoV2nZnJXo3Whk/DPX7jSrG8JjeZ1JhntVcZWVe6n3BH1GKwfFFvr3jC88/WNQMNrFL/o9pGuFjXoST61F4fd9E1ZbMEG3mO62lJ/1ij+E+69MV1q6NJqeoRudUitYJEwGlUmPJ6DjkV1OUY1NN+54GKwTm/a04+9+Ji+GNDi0q6uokkh/f2roAw+Zxjkn9a7P4PWs+g+KLe9tLQNtUq6RnC4YDJOe9V9D8B6v9quG07W/D+pwwPtmZdTUMhIHy/OBg89M8VB468P8AxCght49Ok1K20tZCb3+ywsxfA6CRM5rnxOGnVcqbd1JanB9Xrqpyzi2uu9vvPRP2pB/wlngnR9Js5DHbLMbm6kHqvAXjvyf0rkPAPhnwpd/DfxHbeLDeM1jamTTnWFlKOMAE5xlCT1rnvBt9qnhrTrnUv7SmN1Fj7DFMSW+bjcyt6enrXo+j/F/VNU0u7g8RQWbRW1oSzvGMz/7G3HGeK8/CxxuBp+xguaC63s/u6/eaYaTp+5DZp/l6+XY8Y0HSILGzuYLW9t7gXQKhpUPyJnPHvx1q1HpRC4tiqRjoANo/Kuk+JGu+E9R1CxvNJ0RtIjb5b2ONsrI3UFQOg61zeuDw/pF99lg1T7cGUStJbFmRS3OzkA5HANehTqVaqVRppvy/yOapGUt3dI37jx1oN1p8ssAvIRbtiaX7OP3WT6H6VV0X4paF4YvI5JdX1TUI23M1rdoBvz0w689hXnfxO8DeKtD8RLpXiHQ9W03T2YD7VLbNErM2MK7DKsAeATjkmorrTbPTbW001NRdpAzmFJFEj79vy7cD5s9OCa9F4SEo8sndfL/I76eXwg4vmene2/oe3eFfjBDrGk3+mpcwWr30mBGM7o4gdww2MkjFVZfEXibVINWit7NdDsTMv2MWEjGe5A6mSQdC2OfTNcx8JfCGkeGbxtQ+JOm6pZ3GpQM2hHUA1qs0gA3EIw+cAMM5wBmuguNYsbO4uFgurBfLbY0UbABSRn6E9+PWuCeGoRbSTdtuy9DjzCM8Jy1FSUlK/wDTS27o4XXrtJtTmOp6Tqcl2YgJF1C4klLY6KNxOF9ulV18WzWHkW8ejWltngRn5QMehxXZ6hd2+oeJreS/eSxtBCsUOoKw23EwblcZ+ZRkZP5V2UPheKxuYrLWbG2mkj5e7tQsoVCN24sM7Tj+Hr7VtCpD4Zxd/VmUcPOcISVG7l01Vr9+3keX2vjq8+1GDULBFgkB8428nmSBfUA4qjHrdtpt3LdWGmXiOkuU+z/Kpzzkn+gr1S+g0uG8CS6RbvDKWFvI6CNiASPmyMg8dD7Vl65oaXOLWR9R0iFl4YBfJbPT1B/A1tzU46JtN+Z2KNPDO1Sm15rX9TS+GvxS8YJrh1U3mn6Hb6asbtBPCD/aYI/1QRcEkgcnjHDZyOPpT4TfEnw18Q9Kk1HSLpg6N5dza3cLLJayY4GGA3o3JSQcMAeh4HxLa+DdDtPF9n4smu7jVLayulknCSb8kH7hyflU479q7+6+Jo1bxpBquleNbrRDYylYYn0rzo5YSMiHy42yOQOvHAPFaQqTo1ORK8H+H53PXjGniaCmnaXrfm+/Y+kfFljeJeyTWMEe0A+bsl/1TDuARkD2rBuoJpLVYrgC3bqXIDAH+tSaH4mn1jSYbiS78m5kiBL+WFLr0DbG/IZ54x2rQh1HTr+2NrdskV7FJzvXCsPfsOv40VqXN8LMoT5dJIxLzTmh08ZAfzDhTs5T6DqawtSt7sR7oGhkVOjMcHcOo/KvSb6zgttNwGW4t9uVOM4+jCuA1S8sxdMhVoFDYBU5DfWvJrpR0vqdlJt+hz9zpNnq9rNaXCxKsi9Tg5NeVeMNMvPDusNdWTyq6g/6TCfn9/MHSQe5+b3r2i4VDGZCVMOcAYOTXG/EDTlVWnUmQMP4XPA9DWUak+xvG0djjNH8TQ6hCsF7aQMwbGYmwG75UdR344I7betSaklvfadJHchisinbNIpyAOz4+8M4Iccjqf71YN54cmfVA9rLbwtIeN8yoCRz3IFac9xFpultdaxrWi7EXIjN/G0knuioTk8cnj8+a6Y0o3XKrF+2clq9DzzXDdxeIItGkgkmnkkDWcifeZgOc44Py5ye4GeDXV6PdsjtaXij90SpBPBPp+NHibTF1K1t9X0C4jme3dbiBV+8hB3Aoe4PdemCce9A6xo1zrEU94/9lvelhukI8ssCAyE9DgkZB5wQe9dU1zRTtqcvtPZz8mbOtaNc6hpLWmn3Ez2MsgkmtUkI3t2LD+L0z14rlk1i90d20vw9e6no3kvk+XK0bscZwCD0zXoT+G9S0+3W+06SG7jODtjk3YHqPT8fzouodK8SbHuhFb6pbtuSaWEOrsP4ZVP3h+tTSxCulU27/wCZp7NSTlS/r0MTSfHPxE1bT2n1hNIvtPZRa+frEaTnpj5XX51bnPGTSXL2OoXcaPJZ2ETIHd4i+W28DhsnaT3PPtXOeLbO80HxVbaj4htppoYZ/NYIf9GlTpkKmMD/AHfxrtfAY8Oazo5vLTQbqSEqTK7zKqdThVUncOBmu1UHON47eRzfu6k2qq1Oba+0+73TvZSXKqCIx9qwwPY4Uf1qKLUrpV2weFLeQd3dXYk+5zXU+M9N0/w/4YfxF4cmFtdR3CqLGVBJ5iHqQe59sVztpr+r6nEbm11e6to92PKYlcNgZOO3NQsO4bK69TmVOdNtafcv1PWP2YPB/wARIdD1DXNQ+K0unaFp6nbptvcNeM7Kh5EU/wAgAbGB174wKy/Cfxz8ZwzW+l694Y0vxlrFxOv9mXJsYbZYguDKIjHHlpAvUnHOPxvfDzwR4r8HWc2n6lpc1prGtP8AZVinaKTy0MbMzoy7lzkqACT91jivLdc+GviDQ7+SLWfEBeXTpWfNvI+EViMnd2b3AH6V59Ct9YqVVJWirJeb67fd8jeOK5HzRUtOrWifU92+O3xW8Q63DoNz4N8J6Zf2vkXEmtQeINAS+fTWBXavzZCtgPnbxjBPavBfEfxF1G6njtIPDuhQ2rWrxQnTtNW2AbORKyryxBJGeuCB2rYsY7dLq0uBf/Z5CQGnQtJL838TAsSACR19aj8aeAtT0+zlkg1uymsGuY2mVI2DrDnqsmME9TjAA9eMnpwvsqdH2beidterepHtPrLnVcbaa27W6dTiHlW6upLNPNuIPNw0xhSL5go3gRgnGGLd+RjgZrq/CPi7W/CH2aHRLtpPslybpoZUGztyO+SAAVPHArR+D/gPSI/FKa1Ho7axbXV6YYrzz2aJn/jiUoxQlQN7A844NXvi5p8HiLxBbW/g+w0vRtPsX8q5u7mCeOR23EFj8h+QDoBuLE8ECvRji8HKk4NX9RYaNad6tJ6beZr+OPitoWt+GLF79rdtSu/N+1vMwiZHAGwj+8Of5isPT79r/S2s4p5WhuIS8sKMSkiY5yBwQB3rhby1uY7ORc295Es5gDIqyxu6nIOD8ykcHnGMit618bQ+HrXQzo1ppGpW0Max6tayWHlJFcgMuPlcmQbcEvkZbFYVsKlC9LWx1fWoO/t0ZFxc6PoWuXaaNqN3p8ckW2axnKzpcMR8rQso3Bef4hwQRmnaTF5dutw0lmdvzK0L7GbnkL0zx1HtxWrdeIdQuby2n8K6ToNlcgSsIYNNG0RFOry/fIX0zj29WWMF5dW8MVzb2t1dTPlVFrljJjO1MEYAPIzwO/SueVSa0a/E4JfV5PmjOzfSz/S/5Fy1+36ZeRaxpOo21ncX5MUMrgfNhd2CzN90A5yeMnHWtmw+J3xA8qB7ltOmubD5Zbpov3NxCp5MyhgVBwQrKc5OCCMY5e5sfEk0LLqOh+WI2kiNtNE6mNhyZODhlwfXsfWprhrafTW0k6KttbyY3mCaRDJgDJZueOCenoPeuqjVpRio1It+lv8AMmTs7e0SfmpL/wBtPefhX8XdO8Q+HxcQXsWnTNKsctnLN5kW8naAr9VLEfKMZx1NbWrXFnqJYh44pVfDyRsJY0b/AGiucV8z+H/C+neGLX/hMU0+/wBN1CQSR6XDeXSzNBFjDXWAo2MVJVDk4BLcEqaxvDdxqMPiu7hi8Q2tukame1ZpdvmycYiTjlyC3XjjrWMqMK0mktPPodSkoRXva+XXz2R9T3FoI4G8xCr7Cyk8Dpycnt/nNcXqWspJpsqXbHgkCeJgWH1HGR+tedeNvjV8U49ChhuNUkEZbELrborIFGADjnnGSrdzk+lZHwH8a6v4l+NWk6bq00bRXyyqVeNVUuELbwigfMMcCsp4RuD5NLG1GvDnUZu9+xd1jUbBry8tNYtLi6tVG3zYxvdO25ARwa1PDfgubU7P+1NC8Kva6f8AZ90Y1gou/qCFGd2CMHJA5z9Tg+Jr3WG+IFy50fT2S2u5Io7m4uHRp9shCu7A9cYGAMcfjWX4+8f+NbKOfQ2axW3mjPmpZNv3J/dD8k8V1W0iqauKKo8zVe9lt/w52fhvQmgsJdW1GQado9ncLbu8UvmSXMzZURW4QMSysRxwCSOaszeG00lrnVNa0CHxH4XupPL1HyG3G1kxtWWZF+46hx8w7cZ4FcX8O/it4m8P6T/Y9/e29tDb2slzpttbWqs4uN3CyYHy7gTyRwcGpvA/xLmv9J1ePXbr915dpm1trryfPdZGRpZN3DOEPpyoA7UO8E3a8gp0qDt72nZ9LF3xlZ6Lo93AnhPUryYjaYbiMqI5I8AZBYhmxjHI5q1p3iJ7y8it721M0CkrFqCwrDNnsHOdrDI68dx6Vzln4r0HxDqx0zR9F+23Dv5dijK6s7dTtAP3e5Jxx6VstoGs+FraYa5a20c19K0ltaW1ys/lIy52Er1Iw30GATms6snOPvRt8jphRhGblFppdmzsmlM9iNO1mzSe2uI96bzztORv4yVPB5Hp3rm9a0V9FVrvSWa4stuWTADxj0YA9MjqP0o8Ite6tqkF1Jdx2sEMeyGPzt5ZQcFymeTwQT2247Gu91u1ttL097w3UVuwAMrSFRBMD3YZ4z+dclOu8PNKPX7jxcbnGE+sOk4veyf+Z5vPB4m1yO1s9MtCDMRsljnO3aAzEEkYB4PGe1XtP+H1hJE0jeLNPkLOTmAuEX1ALY3YPfGM1ZuxqeiXklz4euLi3kfElxZI5USL94FfXsfWotN8XaRdxtNqC2S3DMS/2iJRJ16HjnHrXZXxlaylH8DDEYqNNJqDlfsd54israz0WPwA3hPxbqTaZAIUvILe5tUvF2KxdJRt8yORmkbcpIwO4riPiFZ2+l/2HL4E8MTxrKHS9EMZkaP5Uk3eax3McSL7Aqce/qHhG+TT0heHQtU0+7S8mubS4k8STQXjkSBdzKCbfkyAECL7pGeKl8Y+KfD1z4rt38Ryatot7bwMEsr3U1EcnmFtzCSO3QbGy2WbI4GOmK86hGNKMFG7te/nf/g6nuQoVowhCMkkuunT5nnvg/4j6/cXgs/GuieE4LedTa7PEFn9oUuoJQKSGkAIByQwAx68VzurfEDwPqF1BZan8KNPljbCyPofiKezgILYY4kWRD97oAM96sy3mm6d4ok07w5qNzrVrC7y3up3Yubgx/LuWCO8kjUun3UUBUPA5PU1fGmmeJV8uOPVPDGichYdN1DUmgmuYmRXEgQRFFT5gANwOQ2AcE16iope90OZ1Oa3LG8l1sv8j1v4OeLPAt78CYZrPSNetfDWkTyW6w311aXAhk2BGL4EAkXZIcp/FuPGea5L9or4keBp7iODwb4fl8yW2jcz3KC0dTjO14o33BQAuMnr9K47QYPE2mxSTxv4WSSG2ZTJDeeejsSyL1QrHkFvrhecmurvvD/h34lXF1r/AImtl0nVLmGD/iY6dbJawXUW4os0cG3hMDHKt7FjWMacYyftNj0PaSnTSpp81tf+AeUXEF4dWj18Wlxd2DLtt7tLN4LdsqFeMKeMg5Ulvvbcgmr664reGbjQb2zs7ix+0iZgI1ilZ9uzO4AMw2jbznA6Y613Pjzwv4i+Hfi618MeEvG2raXb3Fsk99pniy2D6aJGbACXESNCylB5gdcLtOPlIIqHxF4cg1bwnNdS/wDCE2GqOFaK+0vUJvImy2G3RFdxJ6Dhe55ArZ1Ka0uZRpVWuaOve6/pfeYXh+7h1Rb6GygWGQ754bKIssaRd41bBKqMjGcnt3qDQ/EGu3WoXFvJpq20McywySGT5S2eNu4ZHTt6++Krt4XsfB/iqZD8QIZryM7XWGFuFznGwsMg4yD6fWnalqFmt212ZxP5jGR1UkEsV65wQB2x1rnlyOVkr/ecuJw/LTVVQV/kaa65LcTW0E3mXMm+UBDd7duDnLKFHUnqe34VqaLp9prmrXc/iKwl0/S9GiEt9JHfM25jjy4M7RlpBkkDoASeozm+D7DXNWmaxsbmwS5edEmvU2Dliu93TfuO1chQB85UrkZBpfjh4t0ew0ldB8FfNZ6Y8by3RgIed3zmSRclSzsvOF4yB6Y1jQcUn1ZzU4zrLnrL3V5LXyJ/EWo2Wr60t/qNjqVzazIIJYLTUI4YY0ByqbDE2QOB1x8vbgVkySeCLLdJPZ6opQmRYbe5gTavRQziMkDpzt59q5ptR8by6CGuvDNzp1lJGGnupreUSTqTwApxlcjIyvGM56VNrl1aTw2d9c6KyXULbLRApV5ZeMbx02gckHjpnrSjT5dyK8v3mtpX62t/VjQ1Wa0g1JbWKxmDSQtNColEpgJJwGYoN/Q5wAenpz2Hwu1HQdP+J2haNaztLdvdQsjLY/Z3cNneCpycg5HXPTpXJ6Sl1e6fDcvsD7z/AK6UMVGehA+6p5yeAOTmuz+HngrWv7Y0TxrF4Furm1fUreRNcSEqtsiTbZSF3DkEEMcHH61UnBp6amVGdOWIjaNtSv4tu7QaxPpUjadp6Q6pdM9zdkJEoDEAO2Gyxw5wPvHAAzXPQ/EPwro2sR3mp2N3ckShhpcebN7yJQwTMgU7FJCk9wCeM1Z+IdrPf3GopJeXEcV7dySzpBCVE6LK3lMxZcEA7sN6nryaxYdK8I29jHLr0t/crM8iWmlaPPEJG2dfMnYcZx0QccfMTxUUfZWTd7r8f6/plckZVGr+8nu9EvIofEbx5D4v1L+0IvC1ppc+xUxbT4DhQAQxCgHpxx+dc9JqN3czeaNF0KGTADNFFtZwB/Fjqa9Gs9K8LC3mkf4ZFFjiBgXUPEdxMZ5CQFTEZHXJyxAAwevWtNbPwokjzW3w28CW88CJ5zXEcsvlDB+baXIYggA9TkjtkjWWKhGOkHb1X+Z1SVG/NOsvkpf/ACJ554T8WaroFvcLpP8AZunyzgLd3UMAWSQdADL1VRnpjmtmLwH4v8RXUd02t3T7oWkR5EbYwP8ACGHXccjp74rs4PEVxEIbCxuvDtmbe48/ZpmkWsKR4GCTkcnA45OTjiresePvEtto7XFjrd3qr3DOha8vBDGrAfMwMe1egwqZJJ7VhLEOUlaCv5/8N+pFXEU1Dkp1JfKOn/pSMXwr4U1nRdbV4dB1rUZrV40L/ZJY4JAc5CEDlecnrjHvXV694VurjULaK90oKED+ZeyX1uv2Z84V/Lc/MDngdfauUtfEj3ektcancXkl3O7BIo8vGFLEqB5jAKVX5ScNuPOahh1C8uNWSFf7Q0yCABSbp7V4fOkA2hkUrJ26/OAT0IrWVSs+y/r5HMlRkkrSv5SS/wDbX+ZqX17pllotva32rTWmqLKS6MjTAnAAO6MsijABwrY+mMVg6xF4QjulbUtT0triZBIxe5+bnnnaePoeaLixi1q3S31O+KxNKBNMl03k5V/mf5cRgEgg9BhiK7HwvaMNGW4eSz1lbiV3S6uobaQ4zjYrGPOFxjBJxzSjZ7u3oiKVKpG9r2v11/yNPxH4i8Yw/De/1fwb44uNcvodet4nvZruK3kRZwV/fo3yQ7XSMbwxRg+Q3BA4P4vTfFUR295488P6xp+n2zKj61qcaur5OFCSKMKmUbDZAbB5raXSPC+g3X9g6xqttEupWyy/YbmaSX7QPNV4pXYZcfPHxxtbBrrPF2t67c2+tX8fihdNF3c/apdjrFHfOqoyRwBw7FgST1+XLAAda4KVTkWkU1320foe9Ro1pRlztr8TivC/jD4gJ8O9RuPBHibQdUs9K2vJpFlN9jm08FgFk2KwWdchtxjLEDBHXI6bw/deH774eNruuRprlxZ3yadPNFFJcxKrGOTEHm5dVVSeBjcPMxzg07SdQ0zWoWfxH4F8JXniK1UNNaRRtps0aOztCUubfywGIOSZFbkHODyen8My6OfhnFr2lSx+HdLh1U280V3fRzyK7EysrsAhRCInjLEFgVA+YcjlzKpOnQdShHWLV7WWnW/fT59ip4qrTpcy95NeqW2qv9zXmW7f4F+CfEV5Ipj1uK1eTAurMRxxzozbVlTdHvUYJI3dQM4rkviFovw9+F/iWz03UdQ8SWsCTF9MlaGG5liKNn5SzqSCzAhQMd+ua7H+19a0XXdY8SaffXtxazW1u2RdfaLeCDyvMDGFQGgG5nTL4B2jDEMK4i61zQ/EeoW/jjxRDNq+oaY6pDZW5JgiZznKxNhmbaDliMcYAya48txOYVZx57uNr+t108k+uh1UcRg6uFdRwfPotU7X73WjXbqMsvFtong8/D/S/ih4i1HUpppJbFNU8EedcpDKXM8JUXDpLG+5WVvl8sglGUMQavgvSNPs4f8AhX1/8R9Yu5LK4W7Jm8EtJe+Hy8gYCBhKwhWXcQyysYgP4QTuHpdnpdrr3wwsvGOnXM8X9pWn9oR6bcWu1k80hljRRkMDGFIwMYIA5zm7+z9oz/C+71LU1SPVta8RIq6raIjLHO8eCSE3t+8dNwyTt5JI617MqkKMvfnZPyv+hX1dVIaR5n6tf8A828Z+EbfU5be48T+ObLzNPtTbJdT+HLtGKKTtJ8oyKAe+4krj5eCRXO6d4Gs9c1Q6Lo/xI0nUZwGcW0OkaluEa4BfP2cjCkjr69q7T4mfGHQ9Q8VXNnY6NdWSwaYEu55TFPJNvkcgsgOESMAAv1APyqO/jvjDUtP1W8tkg/tLSJHthtM92sCEdAGyNp4OQCy5HXrW/tZ8zV7rvYx+r0klbS/S57l8Kfhlfm6W007XvCV/ZJl5biz1MXV2fl4YQyiI8NnAXoR3JxXJ/Fjw54j8CXCm08KTxT3E8sYurrQpPMhUZzLlWkhIYZIOcjqQK8vTwzr2sX1vbWksUemMipaXxg823lJZkjIaMlljZwu9s/KGJAIXA6vx58RtU8MQnxD4Ya80e8is4bT+z4ryW3t9JuUdIpRJChPnSDytuGYY84udxK1jOVRyjyvmb6baeupjOcFzQjpy67floZeg+JrrxdZrctqsN8I2+03omxMEZWCkHBLYG8dOm4kdDjtvF3hbw/pmj6jq2i2d/p+oaFaxzE2Ya9W6gl8pZQY5WJKqGMhJOAAR6YxpPiprc99oOt+IvAPhDxVcatCt9FJe2C2upWrEkBPtEZjkYksdrMWyOSM4z2d94x+GcvhLV4tQuPE/g241Wzh069trpoL2O1kyokWJS0czLiNVJJG3GcA4FClLRqNovfr/AJk0VRrUZOT5pdOlvy/A8stRpsmkahbveXCswlVJ47ZVaZVwULk/d3Et0ORge+ex+DPi/wAR6Lav4Hmmjk0/XrmJvs14wZrUsU3SRDcvzMuCdw2kL69VsfCWh6nYJb+DvijoeoaisG2eS3s7mNmcsxUmxmQg/KUUmORiMFsHNc38NfB0i/EhtUudYtmm0eSdpbqzDuJZYwwa4dzykYOAu4ZJQ9ARnojHnlbp/kc0MHCn+8jJp9v+CWfHcWvWXxYnu9EuF0+GSwicypI3mRYbCyOeBsZmCFRx8vYVia9YTX+qKHgjWZZREryOZGEpbBaGNTnJYjr19a6jxLFZ+O9W8zRr4q1vbrClvJMIZJlBLF0LDB5YkKe2Kg1DQ9es7W7vbLSQ1np433sk8hhjZQrZXzVyyucEgYyc8A94c3pyf16nPjaNSck1d/j+RlxaDcXVw8qXMl4q5KOco7FCyhSpPyAYH1OemMFbMwPqa3VxpWrzzb2zI7bg0bMOZSpUMxGflUn096j8MnV31q30tZW2lFaSLT5ftDICpdBGV5Y7yFxxgk5xXTaxoOr6peNC3g7UnRGVWey2+bFMxOUucMygrjOXAYjgnIzRKUlO0jh+rzfexzen6fDI0htrBGtMv/oxt2SZiOAq7uikjuCQORnNZF5uuPs8c0m+OzixFasVSG3PzBljVjy3Xk/MSTnNeqWvw1/4lSzajE0H25R5S7lIGGG7zFQnoOOoK9R70PEnwb8PHT5tbm8cXrXPnQrLoq2awrcEBQJVlcOqZx353fNk5IpU6l5a7HVTwNe13on95x9hDaR+Hba/MevRaoGaKGMW6PG78ZKyZHy4z91XOT61iaw/2y1VhqMl35as1xczRlWViSyqqHlwMqM8ZyemK6uT4V3Nxr0I0/xVdMsjbrd5YUixxuBYptG7gEDHp65GX8SvC+ueGb2ytbvxB+8ktGkaV51HzI7BiFUsQchTtbDc5xjBOylHm0ev9eRtUw9TlVoJef8ATI9H07WLvSZpba1N9pb5AhkO2G4IBGdu4BiuSf8AZyBzS33gqeSfEehyyiNQpdXVQT9M+9ex/CXw3oWmeA9P0Nr5beWGz33zSAkvIw3SNyScs5bpwc9K53xZdaLp+uS2vhtrvULVVXzLl7kfvJNozgADpwPwrnrYj2dtTto5R7ZJt7fI2NL8BWMWmyTm7lvrBpjEk+r6SZAUAbYZZrSQMDlcBlTP0xVfxN4R13QY7HW9Pm0XVvCVup81rDxNLuhYrgMjXiggjpsIbJPOScDPbwd4dv4bf+2PFt3PHHu823ijZryWR2JLP0jC/KOgAChsYzzBd/DO/sfDSrDbabHBNcZhjvf3mwNyTEV3oJMZGSAfcHmkp3evp1RXLVUbpfl/w5qW+uXsulxapoEF/cWU8WI5tf06CNZmOCQoCqX4wMx4BOTk1Pa2/hy600Q618KtA1LcskzxaZPLpscjhfupEsm3cFB3SYJwx565paZH458GwPYN4g1SCG4tCxtBdLMbkAn9yIWIjyAQgYnA6j0qlJ4C8XIkl/4h8X2lveBpLiy0eEm4s52eMrIZWO0A7TtKqCBhjn7tKvFQm48yTFGjOrT5oxsd342n0hL6GSy8P3+h6taqSHtddyqWpiZHRTFGsgjA2cMWTr8uK5K60qw8faV5mpXfiCDVNLlKpevqcsiJI4ChlR2dBIudu5QuByQetc3rUq6JqunadoWn3Gual9gii1hnv5EW31AIHkkaRAhKmMgDDhVLDBAG2p/DPxKk07xtfWesQreafZ2kqwNAArXF1ztRpAfmXJYbgD/CeStYYOi40uWkrLsv8isJyU4qTdkr6bW/E9eW9Twz8NbHwxHDctFp9gtpdSW6h1eGKNstEoBYFgsYOBuOD0Brzbxn8bLOHw7YQ6b4evrM7UD3t26wrcW5+6qCQZzuxyBgbe+SBpaN8X9N17UpNPOjrpseobrbzDqBlVXKnYjHyxtDt8pbnGSTwM1prNqdtp9vFP4N0ucxv5TrLDDLBE4QuoDqWyNoY7V64GT3EV6LjK9ZP7+h69Ct7SF6TX/BPDpNWtNfvrIPZWNjILjbFKZizkn5V+cgKOSOg4wPWuttdFtltTYXv+rt70/2lMwSREdeRGHYlVO3ac9QTjcMYrd0Lw5ZWc15A+kWcT3UouHUSeXCHaMOigLxjlfmGAOepFGvy6r4ft9E0l9J0NdT1a5F7MljqSS2trGDtCyqE3Bjjjjkg59a2jO8UoK1u7PKxlKak5t69WtEc5q+tapF4Zj0jxG8LWkVuwjTT43Xyownyh2AYIOD04JJJNX/ABc1p4g8K2evaZZ3k1xaqNOvtFELOxmSJVju2dzgySxAozfKcwDIOc10lnptxqmvW+nWUyiSBvNvr1UhV51DH93CpYYcgYVivAywwQAeem0vV7e11DQL/Trzw9DPpM1y7tp8sixGAGczjJ+ZysDqcNnDn6FJqo1Ubs1+XU5J4hqC1u1+RhaLaWt7eJqd/wCHpIb7TQJIJmcxC3lX51dkYNu74xkVrWI164vr3UdNvbu7t7iDzJJrgoxWc4zgDJIGT6dhzziHQbTU38YSeG7rWruPUNLgSZJTZvJBJFgOsgkI2tEVZT2JBI4INdjqDaw+uhW8GW+lW8tx5NvFZooEkW7BleQthhydojz0Peun94naD07ip0uaHOp6/mchLH4zOqW8XhprILbwiMpHfSCW7Lc+Y4A4yTkqCSAByelct/Zviu08J3mlJDctZb1VWtljK6r+8Ls7gncxBIBDEA4yRxXqiwNNeTAF7NomCJJb3SpLGWXGBt+YEgDnPOcgCtuPTrS1037UbjTnRFMZIdkmRht4OOOd2FJPJJ6HbWXtppe9ubqjUcNWeLWPh6/nS6tP+EfWy3zxteXTXAmaVchZHijyQGxuIGAv5V7D4it/htH4fn8LeCZPFWn6dqaxJdlNk0l7CrgJE5bLKNzRnnkBeoA4rmOy09pbi7h1OR9LZXtbS0RnycFg0igjzVUEEqTzlfQ4wfCOvaBrWkxx6lDq+lzTRyebp8Vk2YGU/PsjCqzB3kKjJPTk1pySnBN21FRpyjJ2nb0KfxQ+H0OleVpemWN1ofyyxtJc3UTyzPjodkm4L6BjyeK7KG7t/B8K+Gpp/wCxdMs4FMupfapLl5BkhiGyjmR03EoQMYABOK5uxmuE8N32sah4etYrSWFLixXUrpttwpUYQui8SAj0bhlwRzVnxlqWiN8IltNV0aG/v9bupLW1jhJZp52YlpGLPu4wp8zdhcKOehqMpte+9f69ToVL2adnp/XyL+g/E2PX/Hj6d4T0HSNYKLPcltRXb5tsqlTcTbGxGqBN7c5GBljnmtqPipNb8J2/hzQLmxhuLH7R/aWpSXAnW5gz8qwAgBXIz2wRtPB4rG0m6m8JaFfaDoHlR6l4gkeGRQqSRTRH955JfBdoVWIM4z1yD1rKbUbfXNPuYoooYfL1AtPcQWrQxTiQLwrtliq88dcEZpqEZap3uL2rte+hueH9RvpdPVZpILeZYBIpnY446Ngncy5z0Han+EdOi1hpbrxZqFjrZsi6u8C7y0ucomN23aOeDzgjFXPh74D0TWNQ1Mya1qWmrZ2kk1lLbW4uFu33cbmkOEHpkbRn1xVfwUbDQvBNsbOGy8tLhwLaCYedK4bGCcfMxIOX6ciuiKpqXoZclWaV3oaSeIrHUrq6sLeG4nmZRDOU/diJXzysgGGHGCD3NeaXWm3Ed9cR22oTeUkzKvlEFcZ9e9dtYeOb6ZDAdHWS6MkoIXHlxNtJUSEdduByPXNeY3WuaxfXEk63ViFMjYEc4jXrzgH3PWuWvFSnojtjUUafxanostrL4W0S51C1Ms8lq4xIdoPVQSfUkn9aZ4i8Sa5bfDmHxJrUki2+q6nIIYTsBKqY93lJGNqKOBljuO48YGaKKxpSc+VSd02b4iKpX5NNDs/CNp/wsXS7bVV0WzhtX1m4trK5A/0+8ZGJaInISJfMcJ3ztLZFFv8Aa5tJmv8AwxMsd3aTfZzBej7VGpLFWjXzc4yQCWBH3RzjIJRWlWnGT18wptqm2ux53b+HTqviW+1+602zjk1Nla90uK5ljtWCOgSQhT97KkjAOCTnNbGpfDfwZafEa3utOmv9XszCJrxWH2ezjudxLR28ZYyBVULy5OWBK4BxRRVYeUo2SZ5/s4ypty11/Ux9DsfCmr+PtDvH8DX1zY2NtM+qPcX6wq8x4jmCxyEu3ylgpGBvIPAzXrWpeI/h/o3hRb6LSPEa2oQC4t11CNBGNxQYKpuA5PAYnpn1oorDGc1avG7t6HTg+WjRdlf1v+jRxcPxc+GmnqYNJ+H+pXD2dv5J+0avIBGgJRFj+bHCHvjGawPB3xP8J3jXt7P4DkPmXA3ytqk0sik8biWYEZB6AnFFFbRwkZQs5St6s5q2NktVBfdf8z0HwrrVtqcbJpPg/TJPJYsscssqCMbgDvPmHcW9gcZre1e9i8GaOuqv4H0e2t5I5YIWW9uHaSR0ZHXZ5m1FKu2T2B46UUVxfVacnZ3+9/5nVTrNwV4rXyRjal4iu7l7fXG8F6cBLGqeS8pMZLr94/vDwAcAYyM/jTLLxheXlnOYvB+hwJDE4n8+MyDAPQZZuD9PrRRU1qEYWUW0vV9PmebicwrUZKMFH/wFf5FPxP4x8Qatomn2lr4Y0TT4Uc3KyW8UcatncqswVQxOVbuevT0yPCOtg332jUtE03X7JVaW5t72zja2jmUERzGIn5ipPAwecZoorqpUoxp6fm/1KjiqlWqr2XorCy6hb3V1d+HmY2k2o2itOIYgkHlyJlf3YyAApjwOgyeK6Hwb8PHma1nW7uPJeBQ0ksolbk/MG3ckEnO3px3oorOcmoHbQipSfkbPx++DWsaz4fW7tJWt9BsbeISW8MqplYUIyMknPPcHIHrg15H4k8O+GtK0WKTQvCT6vrezyrdrgRJBCmwDJBkG75iTyOwoorPC1pyvc1qU4yV/OxH4ZnXw7cQLfwXT3a25MrQzKJrYhQJEjbhcMGGc5+7xiuw1HwtcavfwJatHpFjZuubSKFDBcBl5kG0gqQMLgjsfXNFFehTqS9mpExw8HJ0+hj+dqSLfWOkLNcC8Xyot1yIV24IbIAzgkDj2rl/Ffi2XwvrVstrYxveWMH2WV7tAV8w8kDYc4Gcg/nRRWdGtOa1FiqMaekTz/wAaala3EUU9lrFxfapeQtPqcywGBRKW+4P7w298CuUW8JGRa+d6uzYJP50UV0RVonFJv2trn//Z", "merchantDisplayName": "Custom Merchant Display Name", "customEmailMessage": "Custom merchant email message", "enableReminders": true, "headerStyle": { "fontColor": "#000001", "backgroundColor": "#FFFFFF" }, "deliveryLanguage": "en-US", "defaultCurrencyCode": "USD", "payerAuthenticationInInvoicing": "enable", "showVatNumber": false, "vatRegistrationNumber": "Inv1234" } } } } }, "get": { "tags": [ "invoiceSettings" ], "summary": "Get Invoice Settings", "description": "Allows you to retrieve the invoice settings for the payment page.", "operationId": "getInvoiceSettings", "x-devcenter-metaData": { "categoryTag": "Invoicing", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/invoicing/developer/all/rest/invoicing/Introduction.html" }, "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/json", "application/hal+json", "application/json;charset=utf-8", "application/hal+json;charset=utf-8" ], "responses": { "200": { "description": "OK.", "schema": { "title": "invoicingV2InvoiceSettingsGet200Response", "example": { "submitTimeUtc": "2019-07-03T19:26:48Z", "invoiceSettingsInformation": { "merchantLogo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kHGAsGCmSy5V4AAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAALiUlEQVR42u3df6zV9X3H8df3/uBy4Wrl1qsICJQfDqUNSWuYbWyNMZqiXTPppATpGu5Ekpm4qrRbdZ3BdS4U3RZam6gbtmlGFcW2pK0tMAdoXWew6IiVCshQoCoUKaKXX/ee/XFJOp0rCvfH+d7zeCT8Ry7nvt9fnudzLl/OKSqVSgDKoM4IAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAA3q6hp77QppYWH3B4zKQDBwpTACcsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwgIGloZof3OysL+dUWzZ5M0P6zPoDk2rmDSOdsADBAhAsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECyAXtdgBPSVoqhkcPOhDDv9tQwf8WpGjN6VUWN3ZcToXRk+8pWcfsZvclrr/jQP7Uh9fWc6O+vT8UZz9u09NXtefX9e3nlmdr04Ijv+e0R2vTgiL+86I6/tGZaDHU2pVAoDFiw4cc1DDmbM+BczZerGfPzSJ3LBRU++t+N/XVcaTzuSU0/bn9Hjdvze3/vztVPz2KqP5ZknP5TtW0en483BFjAQn/QqlUqPfKFNLS2Vnn5ws7Pehsr084X6rowZ91I+fukTuWrOwzlr1Mv99lh+vWN4Hrxveh5b9bFsf+HsdHUO3J9+rD8wqWaOl4LFyUWqrisTzn0hn575o8y85qGqfZz3//OfZMX9V2TLc+PS1TWw4iVYgsVxtLbtzeWfWZkv3HpX6R77Py24Lj9efln27m4VLMESrIHsnMlbMm/+v+SiTz5e+u9l7U8uzN13/Fmef3aCYAmWYA0kH/rIs/nrO76W8ZNeGHDf29ZN4/LV+V/KxqcmC5ZgCVa5T1Sbs2Dx32XieVsH/Pe6+Zfjc+v1t+T5ZycKVpVy4yjvqG34niy89ytZurq9JmKVJBPP25qlq9uz8N6vpG34HheBYFHt6hs6M6N9eR7ZcGUu+dSampzBJZ9ak0c2XJkZ7ctT39DpovCS0EvCavSBidtz9/Lr09q21zCO2bu7NfM+szjbNo/xktAJi6p41ioqmdG+PA+umy1Wb9PatjcPrpudGe3LUxQVA3HCcsLqT6eetj933HdzPnzBM4ZxHL/4+ZTMn3N79u871QnLCYu+ds7kLXn0uSvE6l368AXP5NHnrsg5k7cYhmDRly6eti5LV88xiBOwdPWcXDxtnUEIFn1h1txlWbTkFoM4CYuW3JJZc5cZhGDRm6778j258bavG0QPuPG2r+e6L99jEH3I+2HViKKo5KbbFlf1OyqU0Zzrv5PmIR2582+u9yaCTlj0lBsWfEOsesnMax7KDQu+YRCCRU+49qb7/Lyll82auyzX3nSfQQgWJ2P67BW5dv4Sg+iLJ4b5SzJ99gqDECxOxNRPrM/NixYZRB+6edGiTP2EG54Fi/dk1Nid+eYDNxhEP/jmAzdk1NidBtELqvq/5pTVpAMH+vmfiw4mr0+oJIcso980JadsKRKf3uOExXF69Zdi1e8OHdsDgsX/7+jKSo4sNYdqcGRp9z4QLN5BZe+16bjaHKpJx9Xde0Gw+D8vBe82BHsRLKpf539WcvT75lCVL9O/370fBIskOZq8Od0Yqtmb07v3hGDVvCMPV5LD5lDVDh/bEyfDfVi9oG/vwzqYvH622ZfFKS+5N8sJq5ZPV8vEyr6csJywynDCOpy8PtLcS3fK2lkkg8zBCavGuCnR3gSL0jh4kxnYm2BRAl2/qqTiQ09LqbK3e38IVs047E357E+wKMfVnhxxwZfakSVx75xg1YbOZ7ycsEfBoizPzg+YgT0KFmXQlRz5tjEMiGB9u3ufCNbA7dVOLyPsU7AoywXuE1nsU7Aoi6M/MQP7FCxK4sjDZmCfgkUJVN4wA3sVLMpyYb/qB7T2KliURNd2M7BXwaIsz8RbzcBeBYuyPBO7sO1VsCjNhb3NDOxVsCjLhb3TDOxVsCiJym4zsFfBoiwX9n4zsFfBoix8crC9Chal0WAE9ipYlERxqhnYq2BRlgu7zQzsVbAoy7ZGmoG9ChZl2dYHzMBeBYuybGu8GdirYFEShQvbXgWL0mxrjBnYq2BRlmfiMwpDsFfBoiQX9lAzsFfBokQap5uBfQoWJdHwSTOwT8GiLBs73wzsU7Aoy8ZG+gGtfQoWJVpZ4+eNYSBo/Ly/goJVCxf6Z83AHgWLkqif4mWEPQoWZTEoaWw3hlKfrtq794hg1UazBMv+BIvSbO4PihSt5lBGRWv3/hCsmjL4TjOwN8GiJBou8yxtb7U1ulr4Jj+3uLlv/8AlbZW++qOuHJfc/BEXcrlOV37Y7oRVo3683QxKpXGG05Vg1a5DncmtT5pDOU5XdyUZbA6CVdt++mJypMscqtugpHG605Vg0VlJ/nytOVS1IQ/HJzwLFsc8vSdZ9ZI5VKWGP07q/9DpSrD43xb+wgyq0uCF8wxBsHib3x5ObnzcHKpK878mRes9BiFYvIPHfp2s2GYOVaFxlptEBYvj+dqG5HCnOfSvpmTwQrESLI7nUGfy2ZXm0K+GPh73XAkW79KOA8l168yhXwx5KKkb63QlWLwXT76S3P6UOfSpwXcm9ReJlWBxIr73QnLPs+bQJ5q+lDT+qVgJFifj3l8m391sDr1q0Lxk0BfFSrDoCf/4dHK/aPVSrOYmTX8rVoJFT6kkufPp5FubzKJnY/WFpOn2ItErwaLH3bUx+YenzaFHNH01abpFqQSL3vTdzckXnzCHk9L8rWTQPLESLPrCmp3JrFXmcEKGrkkarhArwaIvbd6XXPKDZMNus3hX6j+atDx/aeomi5Vg0R/2H07mrUkWbTCL36vp75MhPyhSDFttGIJFP6okWbYlmfHTZO9B83iLoi0Z+rNk0DX+JVCwqCbb9ieX/9Bp6y2nqpb/KlJ3jlIJFtWos9J92rr8h8m/7ajRITT8UdKy8dipyvuwCxZVb3dH8lf/kVy9Ktn821r523BeMvTfk+YlRYrhTlWCRdk8vy+ZtTJpfzTZOlDDVXduMuSRZOjaInUfFCrBouw2/iaZubL73q21uwbKS79p3fdUDV1XpP58oSrDyoyA92LzvmT+z5LWwcnlo5O/mFLCb6JpQdJ41VMp2s630XIpKpVKj3yhTS0tlWr9Jj+3uNmme+uIXiTj35d8emwyc2IVP9BBc5PGq5O6cwsvLARLsEhdkYw5JbnwrOSqCclZQ/rzwZydNLYnDZcldeOLpN6CvCSE3+mqdN/LtW1/8p1fJc0N3QGb8v7kwhHJBWf25pV8cVJ/WVI/NambUKQYYiGCBe9ex9Fk02vdvx7Y0n2f+OCGZFhTcuaQZOTQ3/2aNu6jSeWVpPJaUnkjydHuy7MYmhTDkuLMpG5UUoxO6sYmdWOSYmRSnF6kaI670AULelTlWMQ6jia73njrf7qe9sEVisPxX+kbASBYAIIFCBaAYAEIFiBYAIIFIFiAYAEIFoBgAYIFIFgAggUIFoBgAQgWIFgAggUgWIBgAQgWgGABggUgWACCBQgWgGABggUgWACCBQgWgGABCBYgWACCBSBYgGABCBaAYAGCBSBYAIIFCBZA/2noqS806cCBomq/yyVtFasGJywAwQIQLECwAAQLQLAAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAug/RaXiM0YBJywAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAhAsAMECBAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAPrG/wDHqLt3n4mBDgAAAABJRU5ErkJgggiVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kHGAsGCmSy5V4AAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAALiUlEQVR42u3df6zV9X3H8df3/uBy4Wrl1qsICJQfDqUNSWuYbWyNMZqiXTPppATpGu5Ekpm4qrRbdZ3BdS4U3RZam6gbtmlGFcW2pK0tMAdoXWew6IiVCshQoCoUKaKXX/ee/XFJOp0rCvfH+d7zeCT8Ry7nvt9fnudzLl/OKSqVSgDKoM4IAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAA3q6hp77QppYWH3B4zKQDBwpTACcsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwgIGloZof3OysL+dUWzZ5M0P6zPoDk2rmDSOdsADBAhAsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECyAXtdgBPSVoqhkcPOhDDv9tQwf8WpGjN6VUWN3ZcToXRk+8pWcfsZvclrr/jQP7Uh9fWc6O+vT8UZz9u09NXtefX9e3nlmdr04Ijv+e0R2vTgiL+86I6/tGZaDHU2pVAoDFiw4cc1DDmbM+BczZerGfPzSJ3LBRU++t+N/XVcaTzuSU0/bn9Hjdvze3/vztVPz2KqP5ZknP5TtW0en483BFjAQn/QqlUqPfKFNLS2Vnn5ws7Pehsr084X6rowZ91I+fukTuWrOwzlr1Mv99lh+vWN4Hrxveh5b9bFsf+HsdHUO3J9+rD8wqWaOl4LFyUWqrisTzn0hn575o8y85qGqfZz3//OfZMX9V2TLc+PS1TWw4iVYgsVxtLbtzeWfWZkv3HpX6R77Py24Lj9efln27m4VLMESrIHsnMlbMm/+v+SiTz5e+u9l7U8uzN13/Fmef3aCYAmWYA0kH/rIs/nrO76W8ZNeGHDf29ZN4/LV+V/KxqcmC5ZgCVa5T1Sbs2Dx32XieVsH/Pe6+Zfjc+v1t+T5ZycKVpVy4yjvqG34niy89ytZurq9JmKVJBPP25qlq9uz8N6vpG34HheBYFHt6hs6M6N9eR7ZcGUu+dSampzBJZ9ak0c2XJkZ7ctT39DpovCS0EvCavSBidtz9/Lr09q21zCO2bu7NfM+szjbNo/xktAJi6p41ioqmdG+PA+umy1Wb9PatjcPrpudGe3LUxQVA3HCcsLqT6eetj933HdzPnzBM4ZxHL/4+ZTMn3N79u871QnLCYu+ds7kLXn0uSvE6l368AXP5NHnrsg5k7cYhmDRly6eti5LV88xiBOwdPWcXDxtnUEIFn1h1txlWbTkFoM4CYuW3JJZc5cZhGDRm6778j258bavG0QPuPG2r+e6L99jEH3I+2HViKKo5KbbFlf1OyqU0Zzrv5PmIR2582+u9yaCTlj0lBsWfEOsesnMax7KDQu+YRCCRU+49qb7/Lyll82auyzX3nSfQQgWJ2P67BW5dv4Sg+iLJ4b5SzJ99gqDECxOxNRPrM/NixYZRB+6edGiTP2EG54Fi/dk1Nid+eYDNxhEP/jmAzdk1NidBtELqvq/5pTVpAMH+vmfiw4mr0+oJIcso980JadsKRKf3uOExXF69Zdi1e8OHdsDgsX/7+jKSo4sNYdqcGRp9z4QLN5BZe+16bjaHKpJx9Xde0Gw+D8vBe82BHsRLKpf539WcvT75lCVL9O/370fBIskOZq8Od0Yqtmb07v3hGDVvCMPV5LD5lDVDh/bEyfDfVi9oG/vwzqYvH622ZfFKS+5N8sJq5ZPV8vEyr6csJywynDCOpy8PtLcS3fK2lkkg8zBCavGuCnR3gSL0jh4kxnYm2BRAl2/qqTiQ09LqbK3e38IVs047E357E+wKMfVnhxxwZfakSVx75xg1YbOZ7ycsEfBoizPzg+YgT0KFmXQlRz5tjEMiGB9u3ufCNbA7dVOLyPsU7AoywXuE1nsU7Aoi6M/MQP7FCxK4sjDZmCfgkUJVN4wA3sVLMpyYb/qB7T2KliURNd2M7BXwaIsz8RbzcBeBYuyPBO7sO1VsCjNhb3NDOxVsCjLhb3TDOxVsCiJym4zsFfBoiwX9n4zsFfBoix8crC9Chal0WAE9ipYlERxqhnYq2BRlgu7zQzsVbAoy7ZGmoG9ChZl2dYHzMBeBYuybGu8GdirYFEShQvbXgWL0mxrjBnYq2BRlmfiMwpDsFfBoiQX9lAzsFfBokQap5uBfQoWJdHwSTOwT8GiLBs73wzsU7Aoy8ZG+gGtfQoWJVpZ4+eNYSBo/Ly/goJVCxf6Z83AHgWLkqif4mWEPQoWZTEoaWw3hlKfrtq794hg1UazBMv+BIvSbO4PihSt5lBGRWv3/hCsmjL4TjOwN8GiJBou8yxtb7U1ulr4Jj+3uLlv/8AlbZW++qOuHJfc/BEXcrlOV37Y7oRVo3683QxKpXGG05Vg1a5DncmtT5pDOU5XdyUZbA6CVdt++mJypMscqtugpHG605Vg0VlJ/nytOVS1IQ/HJzwLFsc8vSdZ9ZI5VKWGP07q/9DpSrD43xb+wgyq0uCF8wxBsHib3x5ObnzcHKpK878mRes9BiFYvIPHfp2s2GYOVaFxlptEBYvj+dqG5HCnOfSvpmTwQrESLI7nUGfy2ZXm0K+GPh73XAkW79KOA8l168yhXwx5KKkb63QlWLwXT76S3P6UOfSpwXcm9ReJlWBxIr73QnLPs+bQJ5q+lDT+qVgJFifj3l8m391sDr1q0Lxk0BfFSrDoCf/4dHK/aPVSrOYmTX8rVoJFT6kkufPp5FubzKJnY/WFpOn2ItErwaLH3bUx+YenzaFHNH01abpFqQSL3vTdzckXnzCHk9L8rWTQPLESLPrCmp3JrFXmcEKGrkkarhArwaIvbd6XXPKDZMNus3hX6j+atDx/aeomi5Vg0R/2H07mrUkWbTCL36vp75MhPyhSDFttGIJFP6okWbYlmfHTZO9B83iLoi0Z+rNk0DX+JVCwqCbb9ieX/9Bp6y2nqpb/KlJ3jlIJFtWos9J92rr8h8m/7ajRITT8UdKy8dipyvuwCxZVb3dH8lf/kVy9Ktn821r523BeMvTfk+YlRYrhTlWCRdk8vy+ZtTJpfzTZOlDDVXduMuSRZOjaInUfFCrBouw2/iaZubL73q21uwbKS79p3fdUDV1XpP58oSrDyoyA92LzvmT+z5LWwcnlo5O/mFLCb6JpQdJ41VMp2s630XIpKpVKj3yhTS0tlWr9Jj+3uNmme+uIXiTj35d8emwyc2IVP9BBc5PGq5O6cwsvLARLsEhdkYw5JbnwrOSqCclZQ/rzwZydNLYnDZcldeOLpN6CvCSE3+mqdN/LtW1/8p1fJc0N3QGb8v7kwhHJBWf25pV8cVJ/WVI/NambUKQYYiGCBe9ex9Fk02vdvx7Y0n2f+OCGZFhTcuaQZOTQ3/2aNu6jSeWVpPJaUnkjydHuy7MYmhTDkuLMpG5UUoxO6sYmdWOSYmRSnF6kaI670AULelTlWMQ6jia73njrf7qe9sEVisPxX+kbASBYAIIFCBaAYAEIFiBYAIIFIFiAYAEIFoBgAYIFIFgAggUIFoBgAQgWIFgAggUgWIBgAQgWgGABggUgWACCBQgWgGABggUgWACCBQgWgGABCBYgWACCBSBYgGABCBaAYAGCBSBYAIIFCBZA/2noqS806cCBomq/yyVtFasGJywAwQIQLECwAAQLQLAAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAug/RaXiM0YBJywAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAhAsAMECBAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAPrG/wDHqLt3n4mBDgAAAABJRU5ErkJgggiVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kHGAsGCmSy5V4AAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAALiUlEQVR42u3df6zV9X3H8df3/uBy4Wrl1qsICJQfDqUNSWuYbWyNMZqiXTPppATpGu5Ekpm4qrRbdZ3BdS4U3RZam6gbtmlGFcW2pK0tMAdoXWew6IiVCshQoCoUKaKXX/ee/XFJOp0rCvfH+d7zeCT8Ry7nvt9fnudzLl/OKSqVSgDKoM4IAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAA3q6hp77QppYWH3B4zKQDBwpTACcsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwgIGloZof3OysL+dUWzZ5M0P6zPoDk2rmDSOdsADBAhAsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECyAXtdgBPSVoqhkcPOhDDv9tQwf8WpGjN6VUWN3ZcToXRk+8pWcfsZvclrr/jQP7Uh9fWc6O+vT8UZz9u09NXtefX9e3nlmdr04Ijv+e0R2vTgiL+86I6/tGZaDHU2pVAoDFiw4cc1DDmbM+BczZerGfPzSJ3LBRU++t+N/XVcaTzuSU0/bn9Hjdvze3/vztVPz2KqP5ZknP5TtW0en483BFjAQn/QqlUqPfKFNLS2Vnn5ws7Pehsr084X6rowZ91I+fukTuWrOwzlr1Mv99lh+vWN4Hrxveh5b9bFsf+HsdHUO3J9+rD8wqWaOl4LFyUWqrisTzn0hn575o8y85qGqfZz3//OfZMX9V2TLc+PS1TWw4iVYgsVxtLbtzeWfWZkv3HpX6R77Py24Lj9efln27m4VLMESrIHsnMlbMm/+v+SiTz5e+u9l7U8uzN13/Fmef3aCYAmWYA0kH/rIs/nrO76W8ZNeGHDf29ZN4/LV+V/KxqcmC5ZgCVa5T1Sbs2Dx32XieVsH/Pe6+Zfjc+v1t+T5ZycKVpVy4yjvqG34niy89ytZurq9JmKVJBPP25qlq9uz8N6vpG34HheBYFHt6hs6M6N9eR7ZcGUu+dSampzBJZ9ak0c2XJkZ7ctT39DpovCS0EvCavSBidtz9/Lr09q21zCO2bu7NfM+szjbNo/xktAJi6p41ioqmdG+PA+umy1Wb9PatjcPrpudGe3LUxQVA3HCcsLqT6eetj933HdzPnzBM4ZxHL/4+ZTMn3N79u871QnLCYu+ds7kLXn0uSvE6l368AXP5NHnrsg5k7cYhmDRly6eti5LV88xiBOwdPWcXDxtnUEIFn1h1txlWbTkFoM4CYuW3JJZc5cZhGDRm6778j258bavG0QPuPG2r+e6L99jEH3I+2HViKKo5KbbFlf1OyqU0Zzrv5PmIR2582+u9yaCTlj0lBsWfEOsesnMax7KDQu+YRCCRU+49qb7/Lyll82auyzX3nSfQQgWJ2P67BW5dv4Sg+iLJ4b5SzJ99gqDECxOxNRPrM/NixYZRB+6edGiTP2EG54Fi/dk1Nid+eYDNxhEP/jmAzdk1NidBtELqvq/5pTVpAMH+vmfiw4mr0+oJIcso980JadsKRKf3uOExXF69Zdi1e8OHdsDgsX/7+jKSo4sNYdqcGRp9z4QLN5BZe+16bjaHKpJx9Xde0Gw+D8vBe82BHsRLKpf539WcvT75lCVL9O/370fBIskOZq8Od0Yqtmb07v3hGDVvCMPV5LD5lDVDh/bEyfDfVi9oG/vwzqYvH622ZfFKS+5N8sJq5ZPV8vEyr6csJywynDCOpy8PtLcS3fK2lkkg8zBCavGuCnR3gSL0jh4kxnYm2BRAl2/qqTiQ09LqbK3e38IVs047E357E+wKMfVnhxxwZfakSVx75xg1YbOZ7ycsEfBoizPzg+YgT0KFmXQlRz5tjEMiGB9u3ufCNbA7dVOLyPsU7AoywXuE1nsU7Aoi6M/MQP7FCxK4sjDZmCfgkUJVN4wA3sVLMpyYb/qB7T2KliURNd2M7BXwaIsz8RbzcBeBYuyPBO7sO1VsCjNhb3NDOxVsCjLhb3TDOxVsCiJym4zsFfBoiwX9n4zsFfBoix8crC9Chal0WAE9ipYlERxqhnYq2BRlgu7zQzsVbAoy7ZGmoG9ChZl2dYHzMBeBYuybGu8GdirYFEShQvbXgWL0mxrjBnYq2BRlmfiMwpDsFfBoiQX9lAzsFfBokQap5uBfQoWJdHwSTOwT8GiLBs73wzsU7Aoy8ZG+gGtfQoWJVpZ4+eNYSBo/Ly/goJVCxf6Z83AHgWLkqif4mWEPQoWZTEoaWw3hlKfrtq794hg1UazBMv+BIvSbO4PihSt5lBGRWv3/hCsmjL4TjOwN8GiJBou8yxtb7U1ulr4Jj+3uLlv/8AlbZW++qOuHJfc/BEXcrlOV37Y7oRVo3683QxKpXGG05Vg1a5DncmtT5pDOU5XdyUZbA6CVdt++mJypMscqtugpHG605Vg0VlJ/nytOVS1IQ/HJzwLFsc8vSdZ9ZI5VKWGP07q/9DpSrD43xb+wgyq0uCF8wxBsHib3x5ObnzcHKpK878mRes9BiFYvIPHfp2s2GYOVaFxlptEBYvj+dqG5HCnOfSvpmTwQrESLI7nUGfy2ZXm0K+GPh73XAkW79KOA8l168yhXwx5KKkb63QlWLwXT76S3P6UOfSpwXcm9ReJlWBxIr73QnLPs+bQJ5q+lDT+qVgJFifj3l8m391sDr1q0Lxk0BfFSrDoCf/4dHK/aPVSrOYmTX8rVoJFT6kkufPp5FubzKJnY/WFpOn2ItErwaLH3bUx+YenzaFHNH01abpFqQSL3vTdzckXnzCHk9L8rWTQPLESLPrCmp3JrFXmcEKGrkkarhArwaIvbd6XXPKDZMNus3hX6j+atDx/aeomi5Vg0R/2H07mrUkWbTCL36vp75MhPyhSDFttGIJFP6okWbYlmfHTZO9B83iLoi0Z+rNk0DX+JVCwqCbb9ieX/9Bp6y2nqpb/KlJ3jlIJFtWos9J92rr8h8m/7ajRITT8UdKy8dipyvuwCxZVb3dH8lf/kVy9Ktn821r523BeMvTfk+YlRYrhTlWCRdk8vy+ZtTJpfzTZOlDDVXduMuSRZOjaInUfFCrBouw2/iaZubL73q21uwbKS79p3fdUDV1XpP58oSrDyoyA92LzvmT+z5LWwcnlo5O/mFLCb6JpQdJ41VMp2s630XIpKpVKj3yhTS0tlWr9Jj+3uNmme+uIXiTj35d8emwyc2IVP9BBc5PGq5O6cwsvLARLsEhdkYw5JbnwrOSqCclZQ/rzwZydNLYnDZcldeOLpN6CvCSE3+mqdN/LtW1/8p1fJc0N3QGb8v7kwhHJBWf25pV8cVJ/WVI/NambUKQYYiGCBe9ex9Fk02vdvx7Y0n2f+OCGZFhTcuaQZOTQ3/2aNu6jSeWVpPJaUnkjydHuy7MYmhTDkuLMpG5UUoxO6sYmdWOSYmRSnF6kaI670AULelTlWMQ6jia73njrf7qe9sEVisPxX+kbASBYAIIFCBaAYAEIFiBYAIIFIFiAYAEIFoBgAYIFIFgAggUIFoBgAQgWIFgAggUgWIBgAQgWgGABggUgWACCBQgWgGABggUgWACCBQgWgGABCBYgWACCBSBYgGABCBaAYAGCBSBYAIIFCBZA/2noqS806cCBomq/yyVtFasGJywAwQIQLECwAAQLQLAAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAug/RaXiM0YBJywAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAhAsAMECBAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAPrG/wDHqLt3n4mBDgAAAABJRU5ErkJgggiVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kHGAsGCmSy5V4AAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAALiUlEQVR42u3df6zV9X3H8df3/uBy4Wrl1qsICJQfDqUNSWuYbWyNMZqiXTPppATpGu5Ekpm4qrRbdZ3BdS4U3RZam6gbtmlGFcW2pK0tMAdoXWew6IiVCshQoCoUKaKXX/ee/XFJOp0rCvfH+d7zeCT8Ry7nvt9fnudzLl/OKSqVSgDKoM4IAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAA3q6hp77QppYWH3B4zKQDBwpTACcsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwgIGloZof3OysL+dUWzZ5M0P6zPoDk2rmDSOdsADBAhAsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECyAXtdgBPSVoqhkcPOhDDv9tQwf8WpGjN6VUWN3ZcToXRk+8pWcfsZvclrr/jQP7Uh9fWc6O+vT8UZz9u09NXtefX9e3nlmdr04Ijv+e0R2vTgiL+86I6/tGZaDHU2pVAoDFiw4cc1DDmbM+BczZerGfPzSJ3LBRU++t+N/XVcaTzuSU0/bn9Hjdvze3/vztVPz2KqP5ZknP5TtW0en483BFjAQn/QqlUqPfKFNLS2Vnn5ws7Pehsr084X6rowZ91I+fukTuWrOwzlr1Mv99lh+vWN4Hrxveh5b9bFsf+HsdHUO3J9+rD8wqWaOl4LFyUWqrisTzn0hn575o8y85qGqfZz3//OfZMX9V2TLc+PS1TWw4iVYgsVxtLbtzeWfWZkv3HpX6R77Py24Lj9efln27m4VLMESrIHsnMlbMm/+v+SiTz5e+u9l7U8uzN13/Fmef3aCYAmWYA0kH/rIs/nrO76W8ZNeGHDf29ZN4/LV+V/KxqcmC5ZgCVa5T1Sbs2Dx32XieVsH/Pe6+Zfjc+v1t+T5ZycKVpVy4yjvqG34niy89ytZurq9JmKVJBPP25qlq9uz8N6vpG34HheBYFHt6hs6M6N9eR7ZcGUu+dSampzBJZ9ak0c2XJkZ7ctT39DpovCS0EvCavSBidtz9/Lr09q21zCO2bu7NfM+szjbNo/xktAJi6p41ioqmdG+PA+umy1Wb9PatjcPrpudGe3LUxQVA3HCcsLqT6eetj933HdzPnzBM4ZxHL/4+ZTMn3N79u871QnLCYu+ds7kLXn0uSvE6l368AXP5NHnrsg5k7cYhmDRly6eti5LV88xiBOwdPWcXDxtnUEIFn1h1txlWbTkFoM4CYuW3JJZc5cZhGDRm6778j258bavG0QPuPG2r+e6L99jEH3I+2HViKKo5KbbFlf1OyqU0Zzrv5PmIR2582+u9yaCTlj0lBsWfEOsesnMax7KDQu+YRCCRU+49qb7/Lyll82auyzX3nSfQQgWJ2P67BW5dv4Sg+iLJ4b5SzJ99gqDECxOxNRPrM/NixYZRB+6edGiTP2EG54Fi/dk1Nid+eYDNxhEP/jmAzdk1NidBtELqvq/5pTVpAMH+vmfiw4mr0+oJIcso980JadsKRKf3uOExXF69Zdi1e8OHdsDgsX/7+jKSo4sNYdqcGRp9z4QLN5BZe+16bjaHKpJx9Xde0Gw+D8vBe82BHsRLKpf539WcvT75lCVL9O/370fBIskOZq8Od0Yqtmb07v3hGDVvCMPV5LD5lDVDh/bEyfDfVi9oG/vwzqYvH622ZfFKS+5N8sJq5ZPV8vEyr6csJywynDCOpy8PtLcS3fK2lkkg8zBCavGuCnR3gSL0jh4kxnYm2BRAl2/qqTiQ09LqbK3e38IVs047E357E+wKMfVnhxxwZfakSVx75xg1YbOZ7ycsEfBoizPzg+YgT0KFmXQlRz5tjEMiGB9u3ufCNbA7dVOLyPsU7AoywXuE1nsU7Aoi6M/MQP7FCxK4sjDZmCfgkUJVN4wA3sVLMpyYb/qB7T2KliURNd2M7BXwaIsz8RbzcBeBYuyPBO7sO1VsCjNhb3NDOxVsCjLhb3TDOxVsCiJym4zsFfBoiwX9n4zsFfBoix8crC9Chal0WAE9ipYlERxqhnYq2BRlgu7zQzsVbAoy7ZGmoG9ChZl2dYHzMBeBYuybGu8GdirYFEShQvbXgWL0mxrjBnYq2BRlmfiMwpDsFfBoiQX9lAzsFfBokQap5uBfQoWJdHwSTOwT8GiLBs73wzsU7Aoy8ZG+gGtfQoWJVpZ4+eNYSBo/Ly/goJVCxf6Z83AHgWLkqif4mWEPQoWZTEoaWw3hlKfrtq794hg1UazBMv+BIvSbO4PihSt5lBGRWv3/hCsmjL4TjOwN8GiJBou8yxtb7U1ulr4Jj+3uLlv/8AlbZW++qOuHJfc/BEXcrlOV37Y7oRVo3683QxKpXGG05Vg1a5DncmtT5pDOU5XdyUZbA6CVdt++mJypMscqtugpHG605Vg0VlJ/nytOVS1IQ/HJzwLFsc8vSdZ9ZI5VKWGP07q/9DpSrD43xb+wgyq0uCF8wxBsHib3x5ObnzcHKpK878mRes9BiFYvIPHfp2s2GYOVaFxlptEBYvj+dqG5HCnOfSvpmTwQrESLI7nUGfy2ZXm0K+GPh73XAkW79KOA8l168yhXwx5KKkb63QlWLwXT76S3P6UOfSpwXcm9ReJlWBxIr73QnLPs+bQJ5q+lDT+qVgJFifj3l8m391sDr1q0Lxk0BfFSrDoCf/4dHK/aPVSrOYmTX8rVoJFT6kkufPp5FubzKJnY/WFpOn2ItErwaLH3bUx+YenzaFHNH01abpFqQSL3vTdzckXnzCHk9L8rWTQPLESLPrCmp3JrFXmcEKGrkkarhArwaIvbd6XXPKDZMNus3hX6j+atDx/aeomi5Vg0R/2H07mrUkWbTCL36vp75MhPyhSDFttGIJFP6okWbYlmfHTZO9B83iLoi0Z+rNk0DX+JVCwqCbb9ieX/9Bp6y2nqpb/KlJ3jlIJFtWos9J92rr8h8m/7ajRITT8UdKy8dipyvuwCxZVb3dH8lf/kVy9Ktn821r523BeMvTfk+YlRYrhTlWCRdk8vy+ZtTJpfzTZOlDDVXduMuSRZOjaInUfFCrBouw2/iaZubL73q21uwbKS79p3fdUDV1XpP58oSrDyoyA92LzvmT+z5LWwcnlo5O/mFLCb6JpQdJ41VMp2s630XIpKpVKj3yhTS0tlWr9Jj+3uNmme+uIXiTj35d8emwyc2IVP9BBc5PGq5O6cwsvLARLsEhdkYw5JbnwrOSqCclZQ/rzwZydNLYnDZcldeOLpN6CvCSE3+mqdN/LtW1/8p1fJc0N3QGb8v7kwhHJBWf25pV8cVJ/WVI/NambUKQYYiGCBe9ex9Fk02vdvx7Y0n2f+OCGZFhTcuaQZOTQ3/2aNu6jSeWVpPJaUnkjydHuy7MYmhTDkuLMpG5UUoxO6sYmdWOSYmRSnF6kaI670AULelTlWMQ6jia73njrf7qe9sEVisPxX+kbASBYAIIFCBaAYAEIFiBYAIIFIFiAYAEIFoBgAYIFIFgAggUIFoBgAQgWIFgAggUgWIBgAQgWgGABggUgWACCBQgWgGABggUgWACCBQgWgGABCBYgWACCBSBYgGABCBaAYAGCBSBYAIIFCBZA/2noqS806cCBomq/yyVtFasGJywAwQIQLECwAAQLQLAAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAug/RaXiM0YBJywAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAABAsQLADBAhAsQLAABAtAsADBAhAsAMECBAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAPrG/wDHqLt3n4mBDgAAAABJRU5ErkJgggiVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9kHGAsGCmSy5V4AAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAALiUlEQVR42u3df6zV9X3H8df3/uBy4Wrl1qsICJQfDqUNSWuYbWyNMZqiXTPppATpGu5Ekpm4qrRbdZ3BdS4U3RZam6gbtmlGFcW2pK0tMAdoXWew6IiVCshQoCoUKaKXX/ee/XFJOp0rCvfH+d7zeCT8Ry7nvt9fnudzLl/OKSqVSgDKoM4IAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECwAwQIQLECwAAQLQLAAwQIQLADBAgQLQLAA3q6hp77QppYWH3B4zKQDBwpTACcsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwgIGloZof3OysL+dUWzZ5M0P6zPoDk2rmDSOdsADBAhAsQLAABAtAsADBAhAsAMECBAtAsAAECxAsAMECECxAsAAEC0CwAMECECwAwQIEC0CwAAQLECyAXtdgBPSVoqhkcPOhDDv9tQwf8WpGjN6VUWN3ZcToXRk+8pWcfsZvclrr/jQP7Uh9fWc6O+vT8UZz9u09NXtefX9e3nlmdr04Ijv+e0R2vTgiL+86I6/tGZaDHU2pVAoDFiw4cc1DDmbM+BczZerGfPzSJ3LBRU++t+N/XVcaTzuSU0/bn9Hjdvze3/vztVPz2KqP5ZknP5TtW0en483BFjAQn/QqlUqPfKFNLS2Vnn5ws7Pehsr084X6rowZ91I+fukTuWrOwzlr1Mv99lh+vWN4Hrxveh5b9bFsf+HsdHUO3J9+rD8wqWaOl4LFyUWqrisTzn0hn575o8y85qGqfZz3//OfZMX9V2TLc+PS1TWw4iVYgsVxtLbtzeWfWZkv3HpX6R77Py24Lj9efln27m4VLMESrIHsnMlbMm/+v+SiTz5e+u9l7U8uzN13/Fmef3aCYAmWYA0kH/rIs/nrO76W8ZNeGHDf29ZN4/LV+V/KxqcmC5ZgCVa5T1Sbs2Dx32XieVsH/Pe6+Zfjc+v1t+T5ZycKVpVy4yjvqG34niy89ytZurq9JmKVJBPP25qlq9uz8N6vpG34HheBYFHt6hs6M6N9eR7ZcGUu+dSampzBJZ9ak0c2XJkZ7ctT39DpovCS0EvCavSBidtz9/Lr09q21zCO2bu7NfM+szjbNo/xktAJi6p41ioqmdG+PA+umy1Wb9PatjcPrpudGe3LUxQVA3HCcsLqT6eetj933HdzPnzBM4ZxHL/4+ZTMn3N79u871QnLCYu+ds7kLXn0uSvE6l368AXP5NHnrsg5k7cYhmDRly6eti5LV88xiBOwdPWcXDxtnUEIFn1h1txlWbTkFoM4CYuW3JJZc5cZhGDRm6778j258bavG0QPuPG2r+e6L99jEH3I+2HViKKo5KbbFlf1OyqU0Zzrv5PmIR2582+u9yaCTlj0lBsWfEOsesnMax7KDQu+YRCCRU+49qb7/Lyll82auyzX3nSfQQgWJ2P67BW5dv4Sg+iLJ4b5SzJ99gqDECxOxNRPrM/NixYZRB+6edGiTP2EG54Fi/dk1Nid+eYDNxhEP/jmAzdk1NidBtELqvq/5pTVpAMH+vmfiw4mr0+oJIcso980JadsKRKf3uOExXF69Zdi1e8OHdsDgsX/7+jKSo4sNYdqcGRp9z4QLN5BZe+16bjaHKpJx9Xde0Gw+D8vBe82BHsRLKpf539WcvT75lCVL9O/370fBIskOZq8Od0Yqtmb07v3hGDVvCMPV5LD5lDVDh/bEyfDfVi9oG/vwzqYvH622ZfFKS+5N8sJq5ZPV8vEyr6csJywynDCOpy8PtLcS3fK2lkkg8zBCavGuCnR3gSL0jh4kxnYm2BRAl2/qqTiQ09LqbK3e38IVs047E357E+wKMfVnhxxwZfakSVx75xg1YbOZ7ycsEfBoizPzg+YgT0KFmXQlRz5tjEMiGB9u3ufCNbA7dVOLyPsU7AoywXuE1nsU7Aoi6M/MQP7FCxK4sjDZmCfgkUJVN4wA3sVLMpyYb/qB7T2KliURNd2M7BXwaIsz8RbzcBeBYuyPBO7sO1VsCjNhb3NDOxVsCjLhb3TDOxVsCiJym4zsFfBoiwX9n4zsFfBoix8crC9Chal0WAE9ipYlERxqhnYq2BRlgu7zQzsVbAoy7ZGmoG9ChZl2dYHzMBeBYuybGu8GdirYFEShQvbXgWL0mxrjBnYq2BRlmfiMwpDsFfBoiQX9lAzsFfBokQap5uBfQoWJdHwSTOwT8GiLBs73wzsU7Aoy8ZG+gGtfQoWJVpZ4+eNYSBo/Ly/goJVCxf6Z83AHgWLkqif4mWEPQoWZTEoaWw3hlKfrtq794hg1UazBMv+BIvSbO4PihSt5lBGRWv3/hCsmjL4TjOwN8GiJBou8yxtb7U1ulr4Jj+3uLlv/8AlbZW++qOuHJfc/BEXcrlOV37Y7oRVo3683QxKpXGG05Vg1a5DncmtT5pDOU5XdyUZbA6CVdt++mJypMscqtugpHG605Vg0VlJ/nytOVS1IQ/HJzwLFsc8vSdZ9ZI5VKWGP07q/9DpSrD43xb+wgyq0uCF8wxBsHib3x5ObnzcHKpK878mRes9BiFYvIPHfp2s2GYOVaFxlptEBYvj+dqG5HCnOfSvpmTwQrESLI7nUGfy2ZXm0K+GPh73XAkW79KOA8l168yhXwx5KKkb63QlWLwXT76S3P6UOfSpwXcm9ReJlWBxIr73QnLPs+bQJ5q+lDT+qVgJFifj3l8m391sDr1q0Lxk0BfFSrDoCf/4dHK/aPVSrOYmTX8rVoJFT6kkufPp5FubzKJnY/WFpOn2ItErwaLH3bUx+YenzaFHNH01abpFqQSL3vTdzckXnzCHk9L8rWTQPLESLPrCmp3JrFXmcEKGrkkarhArwaIvbd6XXPKDZMNus3hX6j+atDx/aeomi5Vg0R/2H07mrUkWbTCL36vp75MhPyhSDFttGIJFP6okWbYlmfHTZO9B83iLoi0Z+rNk0DX+JVCwqCbb9ieX/9Bp6y2nqpb/KlJ3jlIJFtWos9J92rr8h8m/7ajRITT8UdKy8dipyvuwCxZVb3dH8lf/kVy9Ktn821r523BeMvTfk+YlRYrhTlWCRdk8vy+ZtTJpfzTZOlDDVXduMuSRZOjaInUfFCrBouw2", "merchantDisplayName": "string", "customEmailMessage": "string", "enableReminders": true, "headerStyle": { "fontColor": "#000001", "backgroundColor": "#FFFFFF" }, "deliveryLanguage": "en-US", "defaultCurrencyCode": "USD", "payerAuthentication3DSVersion": true, "showVatNumber": false, "vatRegistrationNumber": "Inv1234" } }, "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "invoiceSettingsInformation": { "type": "object", "properties": { "merchantLogo": { "description": "The image file, which must be encoded in Base64 format. Supported file formats are `png`, `jpg`, and `gif`. The image file size restriction is 1 MB.", "type": "string", "maxLength": 10000000 }, "merchantDisplayName": { "description": "The merchant's display name shown on the invoice.", "type": "string", "maxLength": 100 }, "customEmailMessage": { "description": "The content of the email message that we send to your customers.", "type": "string", "maxLength": 2000 }, "enableReminders": { "description": "Whether you would like us to send an auto-generated reminder email to your invoice recipients. Currently, this reminder email is sent five days before the invoice is due and one day after it is past due.", "type": "boolean" }, "headerStyle": { "type": "object", "properties": { "fontColor": { "description": "The invoice font color. The format is a valid hexadecimal code prefixed with `#`, such as `#000000` for black.", "type": "string", "maxLength": 7, "pattern": "^#(?:[0-9a-fA-F]{3}){1,2}$" }, "backgroundColor": { "description": "The invoice background color. The format is a valid hexadecimal code prefixed with `#`, such as `#ffffff` for white.", "type": "string", "maxLength": 7, "pattern": "^#(?:[0-9a-fA-F]{3}){1,2}$" } } }, "deliveryLanguage": { "description": "The language of the email that we send to your customers. Possible values are `zh-CN`, `zh-TW`, `en-US`, `fr-FR`, `de-DE`, `ja-JP`, `pt-BR`, `ru-RU` and `es-419`.", "type": "string", "maxLength": 6 }, "defaultCurrencyCode": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" }, "payerAuthentication3DSVersion": { "description": "The 3D Secure payer authentication status for a merchant's invoice payments.", "type": "boolean", "default": false }, "showVatNumber": { "description": "Display VAT number on Invoice.", "type": "boolean", "default": false }, "vatRegistrationNumber": { "type": "string", "maxLength": 21, "description": "Your government-assigned tax identification number.\n\n#### Tax Calculation\nRequired field for value added tax only. Not applicable to U.S. and Canadian taxes. \n" } } } } } }, "400": { "description": "Could not get the invoice settings for this merchant.", "schema": { "title": "invoicingV2InvoiceSettingsGet400Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the invoice.\n\nPossible values:\n - BADREQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_MERCHANT_CONFIGURATION\n - PROCESSOR_UNAVAILABLE\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" } } } } }, "example": { "submitTimeUtc": "2019-07-01T21:40:10Z", "status": "BADREQUEST", "reason": "VALIDATION_ERROR", "message": "Field validation errors.", "details": [ { "field": "customerInformation.email", "reason": "Invalid email" } ] } } }, "default": { "description": "Unexpected error.", "schema": { "title": "invoicingV2InvoiceSettingsGet502Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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." } }, "example": { "submitTimeUtc": "2018-06-12T09:27:20.000Z", "status": "SERVER_ERROR", "reason": "SERVER_ERROR", "message": "Error - General system failure." } } } } } }, "/ums/v1/users": { "get": { "deprecated": true, "summary": "Get User Information - Deprecated", "description": "This endpoint is deprecated. Please use the search end point.", "tags": [ "UserManagement" ], "produces": [ "application/hal+json;charset=utf-8" ], "operationId": "getUsers", "x-devcenter-metaData": { "categoryTag": "User_Management", "isClientSideApi": true }, "x-queryParameterDefaults": { "organizationId": "testrest", "permissionId": "CustomerProfileViewPermission" }, "parameters": [ { "in": "query", "name": "organizationId", "type": "string", "description": "This is the orgId of the organization which the user belongs to." }, { "in": "query", "name": "userName", "type": "string", "description": "User ID of the user you want to get details on." }, { "in": "query", "name": "permissionId", "type": "string", "description": "permission that you are trying to search user on." }, { "in": "query", "name": "roleId", "type": "string", "description": "role of the user you are trying to search on." } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "title": "umsV1UsersGet200Response", "properties": { "users": { "type": "array", "items": { "type": "object", "properties": { "accountInformation": { "type": "object", "properties": { "userName": { "type": "string" }, "roleId": { "type": "string" }, "permissions": { "type": "array", "items": { "type": "string", "description": "array of permissions" } }, "status": { "type": "string", "description": "Valid values:\n- active\n- inactive\n- locked\n- disabled\n- forgotpassword\n- deleted\n" }, "createdTime": { "type": "string", "format": "date-time" }, "lastAccessTime": { "type": "string", "format": "date-time" }, "languagePreference": { "type": "string" }, "timezone": { "type": "string" } } }, "organizationInformation": { "type": "object", "properties": { "organizationId": { "type": "string" } } }, "contactInformation": { "type": "object", "properties": { "email": { "type": "string" }, "phoneNumber": { "type": "string" }, "firstName": { "type": "string" }, "lastName": { "type": "string" } } }, "customFields": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "example": { "users": [ { "accountInformation": { "userName": "auto_nonmember", "roleId": "admin", "permissions": [ "ReportViewPermission", "ReportGeneratePermission" ], "status": "active", "createdTime": "2018-06-14T19:45:52.093Z", "lastAccessTime": "2018-06-14T19:45:52.093Z", "languagePreference": "en-US", "timezone": "America/Los_Angeles" }, "organizationInformation": { "organizationId": "auto_nonmember" }, "contactInformation": { "email": "auto_nonmember@exchange.com", "phoneNumber": "4445551234", "firstName": "Zeta", "lastName": "DMH" }, "customFields": { "employeeId": "12344", "employeeName": "John Doe", "employeeDesignation": "abc", "zone": "NA", "department": "map" } } ] } } }, "400": { "description": "Invalid request.", "schema": { "type": "object", "title": "umsV1UsersGet400Response", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_CARD\n - INVALID_MERCHANT_CONFIGURATION\n - INVALID_AMOUNT\n - CAPTURE_ALREADY_VOIDED\n - ACCOUNT_NOT_ALLOWED_CREDIT\n - NOT_SUPPORTED\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" } } } } } } }, "500": { "description": "Unexpected server error." } } } }, "/ums/v1/users/search": { "post": { "summary": "Search User Information", "description": "This endpoint is to get all the user information depending on the filter criteria passed in request body.", "tags": [ "UserManagementSearch" ], "consumes": [ "application/json" ], "produces": [ "application/hal+json;charset=utf-8" ], "operationId": "searchUsers", "x-devcenter-metaData": { "categoryTag": "User_Management", "isClientSideApi": true, "developerGuides": "https://developer.cybersource.com/api/developer-guides/dita-user-management-api-102718/user_management_api_intro.html" }, "parameters": [ { "in": "body", "name": "SearchRequest", "required": true, "schema": { "type": "object", "properties": { "organizationId": { "type": "string", "description": "This is the orgId of the organization which the user belongs to.", "example": "merchantId" }, "userName": { "type": "string", "description": "User ID of the user you want to get details on.", "example": "userName" }, "roleId": { "type": "string", "description": "role of the user you are trying to search on.", "example": "custom" }, "permissionId": { "type": "string", "description": "permission that you are trying to search user on.", "example": "CustomerProfileViewPermission" } }, "example": { "organizationId": "merchantId", "userName": "userName", "role": "custom", "permissionId": "CustomerProfileViewPermission" } } } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "title": "umsV1UsersGet200Response", "properties": { "users": { "type": "array", "items": { "type": "object", "properties": { "accountInformation": { "type": "object", "properties": { "userName": { "type": "string" }, "roleId": { "type": "string" }, "permissions": { "type": "array", "items": { "type": "string", "description": "array of permissions" } }, "status": { "type": "string", "description": "Valid values:\n- active\n- inactive\n- locked\n- disabled\n- forgotpassword\n- deleted\n" }, "createdTime": { "type": "string", "format": "date-time" }, "lastAccessTime": { "type": "string", "format": "date-time" }, "languagePreference": { "type": "string" }, "timezone": { "type": "string" } } }, "organizationInformation": { "type": "object", "properties": { "organizationId": { "type": "string" } } }, "contactInformation": { "type": "object", "properties": { "email": { "type": "string" }, "phoneNumber": { "type": "string" }, "firstName": { "type": "string" }, "lastName": { "type": "string" } } }, "customFields": { "type": "object", "additionalProperties": { "type": "string" } } } } } }, "example": { "users": [ { "accountInformation": { "userName": "auto_nonmember", "roleId": "admin", "permissions": [ "ReportViewPermission", "ReportGeneratePermission" ], "status": "active", "createdTime": "2018-06-14T19:45:52.093Z", "lastAccessTime": "2018-06-14T19:45:52.093Z", "languagePreference": "en-US", "timezone": "America/Los_Angeles" }, "organizationInformation": { "organizationId": "auto_nonmember" }, "contactInformation": { "email": "auto_nonmember@exchange.com", "phoneNumber": "4445551234", "firstName": "Zeta", "lastName": "DMH" }, "customFields": { "employeeId": "12344", "employeeName": "John Doe", "employeeDesignation": "abc", "zone": "NA", "department": "map" } } ] } } }, "400": { "description": "Invalid request.", "schema": { "type": "object", "title": "umsV1UsersGet400Response", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - DUPLICATE_REQUEST\n - INVALID_CARD\n - INVALID_MERCHANT_CONFIGURATION\n - INVALID_AMOUNT\n - CAPTURE_ALREADY_VOIDED\n - ACCOUNT_NOT_ALLOWED_CREDIT\n - NOT_SUPPORTED\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" } } } } } } }, "500": { "description": "Unexpected server error." } } } }, "/vas/v2/tax": { "post": { "summary": "Calculate Taxes", "description": "The tax calculation service provides real-time sales tax and VAT calculations for orders placed with your business worldwide. \nIt enhances your ability to conduct business globally and enables you to avoid the risk and complexity of managing online tax calculation. \nThe service supports product-based tax rules and exemptions for goods and services. \nThe tax rates are updated twice a month and calculations include sub-level detail (rates per taxing jurisdiction, names and types of jurisdictions).\nImplementation guidance, list of supported countries, and information on tax reporting are in the [Tax User Guide](https://developer.cybersource.com/docs/cybs/en-us/tax-calculation/developer/all/rest/tax-calculation/tax-overview.html).\n", "operationId": "calculateTax", "x-devcenter-metaData": { "categoryTag": "Value_Added_Service", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/tax-calculation/developer/all/rest/tax-calculation/tax-overview.html" }, "tags": [ "taxes" ], "parameters": [ { "name": "taxRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } }, "comments": { "type": "string", "description": "Comments" } } }, "taxInformation": { "type": "object", "properties": { "reportingDate": { "type": "string", "maxLength": 8, "description": "Reporting date of transaction. Format: YYYYMMDD. Defaults to current date if not specified.\nOptional for U.S., Canadian, international tax, and value added taxes.\n" }, "dateOverrideReason": { "type": "string", "maxLength": 50, "description": "If a past or future date is specified in `orderInformation.invoiceDetails.invoiceDate`, then provide the reason for that for audit purposes.\nTypical reasons include: 'Return', 'Layaway', 'Imported'.\n\nOptional for U.S., Canadian, international tax, and value added taxes.\n" }, "nexus": { "description": "Comma-separated list of states or provinces in which merchandise is taxable. Note merchandise may be still be non-taxable or tax exempt depending on the product taxability. Indicate the type of product you are selling in the product code field for product-level taxability rules to be applied. Do not use both the `taxInformation.nexus` and `taxInformation.noNexus` fields in your request. If you do not include this field in a tax calculation service request, the tax system makes its calculations as if you have nexus in every US state or Canadian province. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nIf you indicate you do not have nexus in the destination state, jurisdiction level fields are left blank in the Tax Detail Report.\n\nOptional field for U.S. and Canadian taxes only. Either this field or `taxInformation.noNexus` is required if you do not have nexus in every state or province.\n\nNot applicable for international and value added taxes.\n", "type": "array", "items": { "type": "string", "maxLength": 2 } }, "noNexus": { "description": "Comma-separated list of states or provinces where you do not have nexus. Check with a tax advisor to determine where your business has nexus. Do not use both the `taxInformation.nexus` and `taxInformation.noNexus` fields in your request. If you do not include this field in a tax calculation service request, the tax system makes its calculations as if you have nexus in every US state or Canadian province.\nUse the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\nIf you indicate you do not have nexus in the destination state, jurisdiction level fields are left blank in the Tax Detail Report.\n\nOptional field for U.S. and Canadian taxes only. Either this field or `taxInformation.nexus` is required if you do not have nexus in every state or province.\n\nNot applicable for international and value added taxes.\n", "type": "array", "items": { "type": "string", "maxLength": 2 } }, "showTaxPerLineItem": { "type": "string", "description": "Whether or not to display tax amounts for each line item. This field can contain one of the following values:\n- `Yes` - Display tax amounts for each line item\n- `No` (default) - Do not display tax amounts for each line item\n\nOptional for U.S., Canadian, international tax, and value added taxes.\n" }, "commitIndicator": { "type": "boolean", "description": "Indicates whether this is a committed tax transaction. For a committed tax transaction, the status in the Tax Detail Report is \"Committed.\" For an uncommitted tax transaction, the status in the Tax Detail Report is \"Uncommitted.\" Possible values:\n- `true`: This is a committed tax transaction.\n- `false` (default): This is not a committed tax transaction.\n\nA committed tax request is a tax service request that sets the status field in the Tax Detail Report to committed.\nThe committed status indicates that the amount calculated by the tax service is included in the amount of a capture or credit.\n\nUse a void service request to cancel a committed tax request or a committed refund tax request. The void transaction is included as a separate entry in the Tax Detail Report. The value of the status field is cancelled. The value of the link ID is the request ID of the committed tax request or refund tax request that was voided. You can use the value of the link ID to reconcile your orders.\n\nOptional for U.S., Canadian, international tax, and value added taxes.\nFor more information on Tax Detail Report features refer the [Tax Service Guide](https://developer.cybersource.com/docs/cybs/en-us/tax-calculation/developer/all/rest/tax-calculation/tax-overview.html).\n" }, "refundIndicator": { "type": "boolean", "description": "Indicates whether this is a refund tax transaction. For a refund tax transaction, amounts in the Tax Detail Report will be negative.\nPossible values:\n- `true`: This is a refund tax transaction.\n- `false` (default): This is not a refund tax transaction.\n\nA refund tax request is a tax service request that sets the transaction type field in the Tax Detail Report to refunded and makes the reported amount negative.\nTax amounts are returned as positive amounts in reply messages, but they are saved in reports as negative amounts which enables the reporting software to accurately calculate the aggregate amounts.\n\nOptional for U.S., Canadian, international tax, and value added taxes.\nFor more information on Tax Detail Report features refer the [Tax Service Guide](https://developer.cybersource.com/docs/cybs/en-us/tax-calculation/developer/all/rest/tax-calculation/tax-overview.html).\n" } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" } } }, "billTo": { "type": "object", "properties": { "address1": { "type": "string", "maxLength": 60, "description": "First line of the billing street address.\n\n#### Tax Calculation\nRequired for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Second line of the billing street address.\n\n#### Tax Calculation\nOptional for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "Credit card billing city.\n\n#### Tax Calculation\nRequired for U.S. and Canadian taxes only. Not applicable to international and value added taxes.\n" }, "administrativeArea": { "type": "string", "maxLength": 2, "description": "Credit card billing state or province.\n\n#### Tax Calculation\nRequired for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\nIf the billing country is the U.S., the 9-digit postal code must follow this format:\n\n[5 digits][dash][4 digits]\n\n**Example**: 12345-6789\n\nIf the billing country is Canada, the 6-digit postal code must follow this format:\n\n[alpha][numeric][alpha] [numeric][alpha][numeric]\n\n**Example**: A1B 2C3\n\n#### Tax Calculation\nRequired for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" }, "country": { "type": "string", "maxLength": 2, "description": "Credit card billing country. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\nIf `orderInformation.shipTo.country` is not provided, `orderInformation.billTo.country` is used in its place. If `orderInformation.billTo.country` is set to `US` or `CA`, then `orderInformation.billTo.postalCode` and `orderInformation.billTo.administrativeArea` are also required.\n\n#### Tax Calculation\nRequired for U.S., Canadian, international and value added taxes.\n" } } }, "shippingDetails": { "type": "object", "properties": { "shipFromLocality": { "type": "string", "maxLength": 50, "description": "City where the product is shipped from.\nThis field is used only when the `orderInformation.shipTo.administrativeArea` and `orderInformation.shipTo.country` fields are present.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nThis field is used to determine tax rules and/or rates applied to the transaction based on sourcing.\n\nOptional for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" }, "shipFromCountry": { "type": "string", "maxLength": 2, "description": "Country from which the order is shipped. This field is used only when `orderInformation.shippingDetails.shipFromLocality` and `orderInformation.shippingDetails.shipFromAdministrativeArea` are present. Use the [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nThis field is used to determine tax rules and/ or rates applied to the transaction based on sourcing.\n\nOptional for U.S., Canadian, international tax, and value added taxes.\n" }, "shipFromPostalCode": { "type": "string", "maxLength": 10, "description": "Postal code where the product is shipped from.\n\n#### Tax Calculation\nThis field is used to determine tax rules and/or rates applied to the transaction based on sourcing.\n\nOptional for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" }, "shipFromAdministrativeArea": { "type": "string", "maxLength": 2, "description": "State from which the order is shipped. This field is used only when `orderInformation.shippingDetails.shipFromLocality` and `orderInformation.shippingDetails.shipFromCountry` are present. Use the [State, Province, and Territory Codes for the United States and Canada](http://apps.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nThis field is used to determine tax rules and/or rates applied to the transaction based on sourcing.\n\nOptional for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" } } }, "shipTo": { "type": "object", "properties": { "country": { "type": "string", "description": "Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n", "maxLength": 2 }, "administrativeArea": { "type": "string", "maxLength": 20, "description": "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "locality": { "type": "string", "maxLength": 50, "description": "City of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S. or\nCanada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n\nRequired field for authorization if any shipping address information is included in the request and\nshipping to the U.S. or Canada; otherwise, optional.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\nExample 12345-6789\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\nExample A1B 2C3\n\n#### American Express Direct\nBefore sending the postal code to the processor, all nonalphanumeric characters are removed and, if the\nremaining value is longer than nine characters, the value is truncated starting from the right side.\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "address1": { "type": "string", "maxLength": 60, "description": "First line of the shipping address.\n\nRequired field for authorization if any shipping address information is included in the request; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "address2": { "type": "string", "maxLength": 60, "description": "Second line of the shipping address.\n\nOptional field.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" }, "address3": { "type": "string", "maxLength": 60, "description": "Third line of the shipping address.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n" } } }, "lineItems": { "type": "array", "items": { "type": "object", "properties": { "productSKU": { "type": "string", "maxLength": 255, "description": "Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.\n\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nFor an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is\nrequired when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.\n" }, "productCode": { "type": "string", "maxLength": 255, "description": "Type of product. The value for this field is used to identify the product category (electronic, handling, physical,\nservice, or shipping). The default value is `default`.\n\nIf you are performing an authorization transaction (`processingOptions.capture` is set to `false`), and you set\nthis field to a value other than `default` or one of the values related to shipping and/or handling, then\n`orderInformation.lineItems[].quantity`, `orderInformation.lineItems[].productName`, and\n`orderInformation.lineItems[].productSku` fields are required.\n\nOptional field.\n\nFor details, see the `product_code` field description in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nThe Product Codes for the tax service are located in the Cybersource Tax Codes guide. Contact Customer Support to request the guide. If you don't send a tax service Product Code in your tax request, product-based rules or exemptions will not be applied and the transaction will default to fully taxable in the locations where you've indicated you need to collect tax [by way of nexus, no nexus, or seller registration number fields].\n" }, "quantity": { "type": "integer", "minimum": 1, "maximum": 999999999, "default": 1, "description": "Number of units for this order. Must be a non-negative integer.\n\nThe default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values\nrelated to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "productName": { "type": "string", "maxLength": 255, "description": "For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),\nthis field is required when `orderInformation.lineItems[].productCode` is not `default` or one of\nthe other values that are related to shipping and/or handling.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" }, "unitPrice": { "type": "string", "maxLength": 15, "description": "Per-item price of the product. This value for this field cannot be negative.\n\nYou must include either this field or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\nYou can include a decimal point (.), but you cannot include any other special characters.\nThe value is truncated to the correct number of decimal places.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either\nthe 1st line item in the order and this field, or the request-level field `orderInformation.amountDetails.totalAmount` in your request.\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in the [Merchant Descriptors Using the SCMP API Guide.]\n(https://apps.cybersource.com/library/documentation/dev_guides/Merchant_Descriptors_SCMP_API/html/)\n\n#### Tax Calculation\nRequired field for U.S., Canadian, international and value added taxes.\n\n#### Zero Amount Authorizations\nIf your processor supports zero amount authorizations, you can set this field to 0 for the\nauthorization to check if the card is lost or stolen.\n\n#### Maximum Field Lengths\nFor GPN and JCN Gateway: Decimal (10)\nAll other processors: Decimal (15)\n" }, "taxAmount": { "type": "string", "maxLength": 15, "description": "Total tax to apply to the product. This value cannot be negative. The tax amount and the offer amount must\nbe in the same currency. The tax amount field is additive.\n\nThe following example uses a two-exponent currency such as USD:\n\n 1. You include each line item in your request.\n ..- 1st line item has amount=10.00, quantity=1, and taxAmount=0.80\n ..- 2nd line item has amount=20.00, quantity=1, and taxAmount=1.60\n 2. The total amount authorized will be 32.40, not 30.00 with 2.40 of tax included.\n\nOptional field.\n\n#### Airlines processing\nTax portion of the order amount. This value cannot exceed 99999999999999 (fourteen 9s).\nFormat: English characters only.\nOptional request field for a line item.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n\nNote if you send this field in your tax request, the value in the field will override the tax engine\n" }, "orderAcceptance": { "type": "object", "description": "The Order Acceptance address fields may be used by the tax service to determine the taxability of the order or applicable taxing jurisdictions. You should consult your tax, legal and/or accounting advisors to determine if you should include an Order Acceptance address in your tax service request for some or all of your transactions based on your business.", "properties": { "locality": { "type": "string", "maxLength": 50, "description": "Order acceptance city. This field is not used unless the `orderInformation.orderAcceptance.administrativeArea` and `orderInformation.orderAcceptance.country` fields are present.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" }, "administrativeArea": { "type": "string", "maxLength": 2, "description": "Order acceptance state. This field is not used unless the `orderInformation.orderAcceptance.locality` and `orderInformation.orderAcceptance.country` fields are present. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Order acceptance postal code. This field is not used unless the `orderInformation.orderAcceptance.locality`, `orderInformation.orderAcceptance.administrativeArea`, and `orderInformation.orderAcceptance.country` fields are present.\nMust be sent at the line or offer level to be surfaced in the Tax Detail Report.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" }, "country": { "type": "string", "maxLength": 2, "description": "Order acceptance country. This field is not used unless the `orderInformation.orderAcceptance.administrativeArea` and `orderInformation.orderAcceptance.locality` fields are present. Use the [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" } } }, "orderOrigin": { "type": "object", "description": "The Order Origin address fields may be used by the tax service to determine the taxability of the order or applicable taxing jurisdictions. You should consult your tax, legal and/or accounting advisors to determine if you should include an Order Origin address in your tax service request for some or all of your transactions based on your business.", "properties": { "locality": { "type": "string", "maxLength": 50, "description": "Order origin city. This field is not used unless the `orderInformation.orderOrigin.administrativeArea` and `orderInformation.orderOrigin.country` fields are present.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" }, "administrativeArea": { "type": "string", "maxLength": 2, "description": "Order origin state. This field is not used unless the `orderInformation.orderOrigin.locality` and `orderInformation.orderOrigin.country` fields are present. Use the [State, Province, and Territory Codes for the United States and Canada](http://apps.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Order origin postal code. This field is not used unless the `orderInformation.orderOrigin.locality`, `orderInformation.orderOrigin.administrativeArea` and `orderInformation.orderOrigin.country` fields are present.\nMust be sent at the lineItem level to appear in the Tax Detail Report.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" }, "country": { "type": "string", "maxLength": 2, "description": "Order origin country. This field is not used unless the `orderInformation.orderOrigin.administrativeArea` and `orderInformation.orderOrigin.locality` fields are present. Use the [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" } } }, "shipFromCountry": { "type": "string", "maxLength": 2, "description": "Country from which the order is shipped. This field is used only when `orderInformation.shippingDetails.shipFromLocality` and `orderInformation.shippingDetails.shipFromAdministrativeArea` are present. Use the [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nThis field is used to determine tax rules and/ or rates applied to the transaction based on sourcing.\n\nOptional for U.S., Canadian, international tax, and value added taxes.\n" }, "shipFromAdministrativeArea": { "type": "string", "maxLength": 2, "description": "State from which the order is shipped. This field is used only when `orderInformation.shippingDetails.shipFromLocality` and `orderInformation.shippingDetails.shipFromCountry` are present. Use the [State, Province, and Territory Codes for the United States and Canada](http://apps.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nThis field is used to determine tax rules and/or rates applied to the transaction based on sourcing.\n\nOptional for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" }, "shipFromLocality": { "type": "string", "maxLength": 50, "description": "City where the product is shipped from.\nThis field is used only when the `orderInformation.shipTo.administrativeArea` and `orderInformation.shipTo.country` fields are present.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nThis field is used to determine tax rules and/or rates applied to the transaction based on sourcing.\n\nOptional for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" }, "shipFromPostalCode": { "type": "string", "maxLength": 10, "description": "Postal code where the product is shipped from.\n\n#### Tax Calculation\nThis field is used to determine tax rules and/or rates applied to the transaction based on sourcing.\n\nOptional for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" }, "buyerVatRegistrationNumber": { "type": "string", "maxLength": 25, "description": "Buyer's VAT registration number.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for international and value added taxes only. Not applicable to U.S. and Canadian taxes.\n" }, "sellerVatRegistrationNumber": { "type": "string", "maxLength": 25, "description": "VAT seller registration number.\n\nFor details, see \"International Taxes and Value-Added Tax (VAT)\" in [Tax Calculation Service Using the SCMP API](https://apps.cybersource.com/library/documentation/dev_guides/Tax_SCMP_API/html/).\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for international and value added taxes only. Not applicable to U.S. and Canadian taxes.\n" } } } }, "invoiceDetails": { "type": "object", "properties": { "invoiceDate": { "type": "string", "maxLength": 8, "description": "Date of the tax calculation. Use format YYYYMMDD. You can provide a date in the past if you are calculating tax for a refund and want to know what the tax was on the date the order was placed.\nYou can provide a date in the future if you are calculating the tax for a future date, such as an upcoming tax holiday.\n\nThe default is the date, in Pacific time, that the bank receives the request.\nKeep this in mind if you are in a different time zone and want the tax calculated with the rates that are applicable on a specific date.\n\n#### Tax Calculation\nOptional field for U.S., Canadian, international tax, and value added taxes.\n" } } }, "orderAcceptance": { "type": "object", "description": "The Order Acceptance address fields may be used by the tax service to determine the taxability of the order or applicable taxing jurisdictions. You should consult your tax, legal and/or accounting advisors to determine if you should include an Order Acceptance address in your tax service request for some or all of your transactions based on your business.", "properties": { "locality": { "type": "string", "maxLength": 50, "description": "Order acceptance city. This field is not used unless the `orderInformation.orderAcceptance.administrativeArea` and `orderInformation.orderAcceptance.country` fields are present.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" }, "administrativeArea": { "type": "string", "maxLength": 2, "description": "Order acceptance state. This field is not used unless the `orderInformation.orderAcceptance.locality` and `orderInformation.orderAcceptance.country` fields are present. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Order acceptance postal code. This field is not used unless the `orderInformation.orderAcceptance.locality`, `orderInformation.orderAcceptance.administrativeArea`, and `orderInformation.orderAcceptance.country` fields are present.\nMust be sent at the line or offer level to be surfaced in the Tax Detail Report.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" }, "country": { "type": "string", "maxLength": 2, "description": "Order acceptance country. This field is not used unless the `orderInformation.orderAcceptance.administrativeArea` and `orderInformation.orderAcceptance.locality` fields are present. Use the [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" } } }, "orderOrigin": { "type": "object", "description": "The Order Origin address fields may be used by the tax service to determine the taxability of the order or applicable taxing jurisdictions. You should consult your tax, legal and/or accounting advisors to determine if you should include an Order Origin address in your tax service request for some or all of your transactions based on your business.", "properties": { "locality": { "type": "string", "maxLength": 50, "description": "Order origin city. This field is not used unless the `orderInformation.orderOrigin.administrativeArea` and `orderInformation.orderOrigin.country` fields are present.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" }, "administrativeArea": { "type": "string", "maxLength": 2, "description": "Order origin state. This field is not used unless the `orderInformation.orderOrigin.locality` and `orderInformation.orderOrigin.country` fields are present. Use the [State, Province, and Territory Codes for the United States and Canada](http://apps.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" }, "postalCode": { "type": "string", "maxLength": 10, "description": "Order origin postal code. This field is not used unless the `orderInformation.orderOrigin.locality`, `orderInformation.orderOrigin.administrativeArea` and `orderInformation.orderOrigin.country` fields are present.\nMust be sent at the lineItem level to appear in the Tax Detail Report.\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" }, "country": { "type": "string", "maxLength": 2, "description": "Order origin country. This field is not used unless the `orderInformation.orderOrigin.administrativeArea` and `orderInformation.orderOrigin.locality` fields are present. Use the [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n\n**NOTE** If this field appears in a `lineItems` object, then the value of this field in the `lineItems` object overrides the value of the corresponding field at the request-level or order-level object.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\n" } } } } }, "merchantInformation": { "type": "object", "properties": { "vatRegistrationNumber": { "type": "string", "maxLength": 21, "description": "Your government-assigned tax identification number.\n\n#### Tax Calculation\nRequired field for value added tax only. Not applicable to U.S. and Canadian taxes.\n\n#### CyberSource through VisaNet\nFor CtV processors, the maximum length is 20.\n\nFor other processor-specific information, see the `merchant_vat_registration_number` field description in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" } } }, "buyerInformation": { "type": "object", "properties": { "vatRegistrationNumber": { "type": "string", "maxLength": 20, "description": "Customer's government-assigned tax identification number.\n\n#### Tax Calculation\nOptional for international and value added taxes only. Not applicable to U.S. and Canadian taxes.\n\nFor processor-specific information, see the purchaser_vat_registration_number field in\n[Level II and Level III Processing Using the SCMP API.](http://apps.cybersource.com/library/documentation/dev_guides/Level_2_3_SCMP_API/html)\n" } } } } } } ], "responses": { "201": { "description": "Successful response.", "schema": { "title": "vasV2PaymentsPost201Response", "type": "object", "properties": { "_links": { "type": "object", "properties": { "void": { "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.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - COMPLETED\n" }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "submitLocalDateTime": { "type": "string", "maxLength": 14, "description": "Date and time at your physical location.\n\nFormat: `YYYYMMDDhhmmss`, where YYYY = year, MM = month, DD = day, hh = hour, mm = minutes ss = seconds\n\n#### PIN Debit\nOptional field for PIN Debit purchase and credit requests.\n" }, "ownerMerchantId": { "type": "string", "description": "Merchant ID that was used to create the subscription or customer profile for which the service was requested.\n\nIf your CyberSource account is enabled for Recurring Billing, this field is returned only if you are using\nsubscription sharing and if your merchant ID is in the same merchant ID pool as the owner merchant ID.\n\nIf your CyberSource account is enabled for Payment Tokenization, this field is returned only if you are using\nprofile sharing and if your merchant ID is in the same merchant ID pool as the owner merchant ID.\n" } } }, "taxInformation": { "type": "object", "properties": { "commitIndicator": { "type": "boolean", "description": "Indicates whether this is a committed tax transaction. For a committed tax transaction, the status in the Tax Detail Report is \"Committed.\" For an uncommitted tax transaction, the status in the Tax Detail Report is \"Uncommitted.\" Possible values:\n- `true`: This is a committed tax transaction.\n- `false` (default): This is not a committed tax transaction.\n\nA committed tax request is a tax service request that sets the status field in the Tax Detail Report to committed.\nThe committed status indicates that the amount calculated by the tax service is included in the amount of a capture or credit.\n\nUse a void service request to cancel a committed tax request or a committed refund tax request. The void transaction is included as a separate entry in the Tax Detail Report. The value of the status field is cancelled. The value of the link ID is the request ID of the committed tax request or refund tax request that was voided. You can use the value of the link ID to reconcile your orders.\n\nOptional for U.S., Canadian, international tax, and value added taxes.\nFor more information on Tax Detail Report features refer the [Tax Service Guide](https://developer.cybersource.com/docs/cybs/en-us/tax-calculation/developer/all/rest/tax-calculation/tax-overview.html).\n" }, "refundIndicator": { "type": "boolean", "description": "Indicates whether this is a refund tax transaction. For a refund tax transaction, amounts in the Tax Detail Report will be negative.\nPossible values:\n- `true`: This is a refund tax transaction.\n- `false` (default): This is not a refund tax transaction.\n\nA refund tax request is a tax service request that sets the transaction type field in the Tax Detail Report to refunded and makes the reported amount negative.\nTax amounts are returned as positive amounts in reply messages, but they are saved in reports as negative amounts which enables the reporting software to accurately calculate the aggregate amounts.\n\nOptional for U.S., Canadian, international tax, and value added taxes.\nFor more information on Tax Detail Report features refer the [Tax Service Guide](https://developer.cybersource.com/docs/cybs/en-us/tax-calculation/developer/all/rest/tax-calculation/tax-overview.html).\n" } } }, "orderInformation": { "type": "object", "properties": { "exemptAmount": { "type": "string", "maxLength": 15, "description": "Total amount of tax exempt amounts. This value is the sum of the values for all the `orderInformation.lineItems[].exemptAmount` fields in the tax calculation request.\n" }, "taxableAmount": { "type": "string", "maxLength": 15, "description": "Total amount of all taxable amounts. This value is the sum of the values for all the `orderInformation.lineItems[].taxAmount` fields in the tax calculation request.\n" }, "taxAmount": { "type": "string", "maxLength": 15, "description": "Total amount of tax for all lineItems in the tax calculation request.\n" }, "lineItems": { "type": "array", "items": { "type": "object", "properties": { "taxDetails": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 15, "description": "Allowed tax types:\n- city\n- county\n- state\n- national\n- special\n" }, "amount": { "type": "string", "maxLength": 15, "description": "Amount corresponding to different types of taxes applied.\n" } } } }, "jurisdiction": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 15, "description": "Type of tax jurisdiction for the item. Returned only if the `taxInformation.showTaxPerLineItem` field is set to `Yes`.\n\nPossible values:\n- `city`\n- `county`\n- `state`\n- `country`\n- `special`\n" }, "taxName": { "type": "string", "maxLength": 15, "description": "Name of the jurisdiction tax for the item. For example, CA State Tax. Returned only if the `taxInformation.showTaxPerLineItem` field is set to `Yes`.\n" }, "taxAmount": { "type": "string", "maxLength": 15, "description": "Jurisdiction tax amount for the item. Returned only if the `taxInformation.showTaxPerLineItem` field is set to `Yes`.\n" }, "taxable": { "type": "string", "maxLength": 15, "description": "Jurisdiction taxable amount for the item, not including product level exemptions. Returned only if the `taxInformation.showTaxPerLineItem` field is set to `Yes`.\n" }, "name": { "type": "string", "maxLength": 15, "description": "Free-text description of the jurisdiction for the item. For example, San Mateo County. Returned only if the `taxInformation.showTaxPerLineItem` field is set to `Yes`.\n" }, "code": { "type": "string", "maxLength": 15, "description": "Jurisdiction code assigned by the tax provider. Returned only if the `taxInformation.showTaxPerLineItem` field is set to `Yes`.\n" }, "rate": { "type": "string", "maxLength": 15, "description": "Jurisdiction tax rate for the item. Returned only if the `taxInformation.showTaxPerLineItem` field is set to `Yes`.\n" }, "region": { "type": "string", "maxLength": 15, "description": "Free-text description of the jurisdiction region for the item. For example, CA (California State) or GB (Great Britain). Returned only if the `taxInformation.showTaxPerLineItem` field is set to `Yes`.\n" }, "country": { "type": "string", "maxLength": 15, "description": "Tax jurisdiction country for the item. Returned only if the `taxInformation.showTaxPerLineItem` field is set to `Yes`.\n" } } } }, "exemptAmount": { "type": "string", "maxLength": 15, "description": "Exempt amount for the lineItem. Returned only if the `taxInformation.showTaxPerLineItem` field is set to `Yes`.\n" }, "taxableAmount": { "type": "string", "maxLength": 15, "description": "Portion of the item amount that is taxable.\n" }, "taxAmount": { "type": "string", "maxLength": 15, "description": "Total tax for the item. This value is the sum of all taxes applied to the item.\n" } } } }, "taxDetails": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string", "maxLength": 15, "description": "Allowed tax types:\n- city\n- county\n- state\n- national\n- special\n" }, "amount": { "type": "string", "maxLength": 15, "description": "Amount corresponding to different types of taxes applied.\n" } } } }, "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "maxLength": 19, "description": "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths. For details, see:\n- \"Authorization Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Capture Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\n- \"Credit Information for Specific Processors\" in the [Credit Card Services Using the SCMP API Guide](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/).\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. For details, see \"Zero Amount Authorizations,\" \"Credit Information for Specific Processors\" in [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing\nRequired for creating a new invoice.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. For details, see `grand_total_amount` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### FDMS South\nIf you accept IDR or CLP currencies, see the entry for FDMS South in \"Authorization Information for Specific Processors\" of the [Credit Card Services Using the SCMP API.](https://apps.cybersource.com/library/documentation/dev_guides/CC_Svcs_SCMP_API/html/)\n\n#### DCC for First Data\nNot used.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" } } } } } } } }, "400": { "description": "Invalid request.", "schema": { "type": "object", "title": "vasV2PaymentsPost400Response", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n - INVALID_MERCHANT_CONFIGURATION\n - INVALID_ADDRESS\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" } } } } } } }, "502": { "description": "Unexpected system error or system timeout.", "schema": { "title": "vasV2PaymentsPost502Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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": "Basic Tax Calculation Request", "sample-name": "Tax Calculation", "value": { "clientReferenceInformation": { "code": "TAX_TC001" }, "orderInformation": { "billTo": { "country": "US", "address1": "1 Market St", "postalCode": 94105, "locality": "San Francisco", "administrativeArea": "CA" }, "amountDetails": { "currency": "USD" }, "lineItems": [ { "productSKU": "07-12-00657", "productName": "Chewing Gum", "productCode": 50161815, "quantity": 1, "unitPrice": 1200 }, { "productSKU": "07-12-00659", "productName": "Sugar Cookies", "productCode": 50181905, "quantity": 1, "unitPrice": 1240 }, { "productSKU": "07-12-00658", "productName": "Carbonated Water", "productCode": 5020.11, "quantity": 1, "unitPrice": 9001 } ] }, "taxInformation": { "showTaxPerLineItem": "Yes" } } }, "example1": { "summary": "Tax Refund Request", "sample-name": "Tax Refund Calculation", "value": { "clientReferenceInformation": { "code": "TAX_TC001" }, "orderInformation": { "billTo": { "country": "US", "address1": "1 Market St", "postalCode": 94105, "locality": "San Francisco", "administrativeArea": "CA" }, "shipTo": { "country": "US", "address1": "123 Russel St.", "postalCode": 32401, "locality": "Panama City", "administrativeArea": "FL" }, "shippingDetails": { "shipFromCountry": "CA", "shipFromLocality": "Cambridge Bay", "shipFromAdministrativeArea": "NL", "shipFromPostalCode": "A0G 1T0" }, "amountDetails": { "currency": "USD" }, "lineItems": [ { "productSKU": "07-12-00657", "productName": "Chewing Gum", "productCode": 50161815, "quantity": 1, "unitPrice": 1200 }, { "productSKU": "07-12-00659", "productName": "Sugar Cookies", "productCode": 50181905, "quantity": 1, "unitPrice": 1240 }, { "productSKU": "07-12-00658", "productName": "Carbonated Water", "productCode": 5020.11, "quantity": 1, "unitPrice": 9001 } ] }, "taxInformation": { "showTaxPerLineItem": "Yes", "refundIndicator": true }, "merchantInformation": { "vatRegistrationNumber": "abcdef" } } }, "example2": { "summary": "Committed Tax Call Request", "sample-name": "Committed Tax Calculation", "value": { "clientReferenceInformation": { "code": "TAX_TC001" }, "orderInformation": { "billTo": { "country": "US", "address1": "1 Market St", "postalCode": 94105, "locality": "San Francisco", "administrativeArea": "CA" }, "shipTo": { "country": "US", "address1": "123 Russel St.", "postalCode": 32401, "locality": "Panama City", "administrativeArea": "FL" }, "shippingDetails": { "shipFromCountry": "CA", "shipFromLocality": "Cambridge Bay", "shipFromAdministrativeArea": "NL", "shipFromPostalCode": "A0G 1T0" }, "amountDetails": { "currency": "USD" }, "lineItems": [ { "productSKU": "07-12-00657", "productName": "Chewing Gum", "productCode": 50161815, "quantity": 1, "unitPrice": 1200 }, { "productSKU": "07-12-00659", "productName": "Sugar Cookies", "productCode": 50181905, "quantity": 1, "unitPrice": 1240 }, { "productSKU": "07-12-00658", "productName": "Carbonated Water", "productCode": 5020.11, "quantity": 1, "unitPrice": 9001 } ] }, "taxInformation": { "showTaxPerLineItem": "Yes", "commitIndicator": true }, "merchantInformation": { "vatRegistrationNumber": "abcdef" } } }, "example3": { "summary": "Committed Tax Refund Call Request", "sample-name": "Committed Tax Refund Calculation", "value": { "clientReferenceInformation": { "code": "TAX_TC001" }, "orderInformation": { "billTo": { "country": "US", "address1": "1 Market St", "postalCode": 94105, "locality": "San Francisco", "administrativeArea": "CA" }, "shipTo": { "country": "US", "address1": "123 Russel St.", "postalCode": 32401, "locality": "Panama City", "administrativeArea": "FL" }, "shippingDetails": { "shipFromCountry": "CA", "shipFromLocality": "Cambridge Bay", "shipFromAdministrativeArea": "NL", "shipFromPostalCode": "A0G 1T0" }, "amountDetails": { "currency": "USD" }, "lineItems": [ { "productSKU": "07-12-00657", "productName": "Chewing Gum", "productCode": 50161815, "quantity": 1, "unitPrice": 1200 }, { "productSKU": "07-12-00659", "productName": "Sugar Cookies", "productCode": 50181905, "quantity": 1, "unitPrice": 1240 }, { "productSKU": "07-12-00658", "productName": "Carbonated Water", "productCode": 5020.11, "quantity": 1, "unitPrice": 9001 } ] }, "taxInformation": { "showTaxPerLineItem": "Yes", "commitIndicator": true, "refundIndicator": true }, "merchantInformation": { "vatRegistrationNumber": "abcdef" } } } } } }, "/vas/v2/tax/{id}": { "patch": { "summary": "Void Taxes", "description": "Pass the Tax Request ID in the PATCH request to void the committed tax calculation.", "tags": [ "taxes" ], "operationId": "voidTax", "x-devcenter-metaData": { "categoryTag": "Value_Added_Service" }, "parameters": [ { "name": "voidTaxRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" }, "comments": { "type": "string", "description": "Comments" }, "partner": { "type": "object", "properties": { "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" }, "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" } } } } } } } }, { "name": "id", "in": "path", "description": "The tax ID returned from a previous request.", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "title": "vasV2TaxVoid200Response", "type": "object", "properties": { "id": { "type": "string", "maxLength": 26, "description": "An unique identification number generated by Cybersource to identify the submitted request. Returned by all services.\nIt is also appended to the endpoint of the resource.\nOn incremental authorizations, this value with be the same as the identification number returned in the original authorization response.\n" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - VOIDED\n - CANCELLED\n - FAILED\n" }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n\n#### Used by\n**Authorization**\nRequired field.\n\n#### PIN Debit\nRequests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being\nreversed.\n\nRequired field for all PIN Debit requests (purchase, credit, and reversal).\n\n#### FDC Nashville Global\nCertain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.\n" } } }, "voidAmountDetails": { "type": "object", "properties": { "voidAmount": { "type": "string", "description": "Total amount of the void.\n\n#### PIN Debit\nAmount of the reversal.\n\nReturned by PIN debit reversal.\n" }, "currency": { "type": "string", "maxLength": 3, "description": "Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)\n\n#### Used by\n**Authorization**\nRequired field.\n\n**Authorization Reversal**\nFor an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.\n\n#### PIN Debit\nCurrency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\nReturned by PIN debit purchase.\n\nFor PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.\nFor the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit.\n\n#### DCC for First Data\nYour local currency. For details, see the `currency` field description in [Dynamic Currency Conversion For First Data Using the SCMP API](http://apps.cybersource.com/library/documentation/dev_guides/DCC_FirstData_SCMP/DCC_FirstData_SCMP_API.pdf).\n\n#### Tax Calculation\nRequired for international tax and value added tax only.\nOptional for U.S. and Canadian taxes.\nYour local currency.\n" } } } } } }, "400": { "description": "Invalid request.", "schema": { "title": "vasV2TaxVoidsPost400Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - INVALID_DATA\n - NOT_VOIDABLE\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" } } } } } } }, "502": { "description": "Unexpected system error or system timeout.", "schema": { "title": "vasV2TaxVoidsPost502Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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": "Void a Committed Tax Call", "value": { "clientReferenceInformation": { "code": "TAX_TC001" } }, "depends": { "example": { "path": "/vas/v2/tax", "verb": "patch", "exampleId": "example0" }, "fieldMapping": [ { "sourceField": "id", "destinationField": "id", "fieldTypeInDestination": "path" } ] } } } } }, "/kms/v2/keys-sym": { "post": { "x-devcenter-metaData": { "categoryTag": "Key_Management", "firstLevelApiLifeCycle": "hidden", "secondLevelApiLifeCycle": "hidden", "apiLifeCycle": "hidden" }, "summary": "Create Shared-Secret Keys", "description": "Create one or more Shared-Secret Keys\n", "tags": [ "Symmetric Key Management" ], "operationId": "createV2SharedSecretKeys", "parameters": [ { "name": "createSharedSecretKeysRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Client-generated order reference or tracking number. CyberSource recommends that you send a unique value.\n" }, "comments": { "type": "string", "description": "Comments" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } } } }, "keyInformation": { "type": "array", "items": { "type": "object", "description": "key information\n", "required": [ "organizationId" ], "properties": { "organizationId": { "type": "string", "description": "Merchant Id\n" }, "referenceNumber": { "type": "string", "description": "Reference number is a unique identifier provided by the client along with the organization Id. This is an optional field provided solely for the client's convenience. If client specifies value for this field in the request, it is expected to be available in the response.\n" } } } } } } } ], "responses": { "201": { "description": "Successful response.", "schema": { "title": "kmsV2KeysSymPost201Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - ACCEPTED\n" }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Client-generated order reference or tracking number. CyberSource recommends that you send a unique value.\n" }, "comments": { "type": "string", "description": "Comments" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } } } }, "keyInformation": { "type": "array", "items": { "type": "object", "description": "key information\n", "properties": { "organizationId": { "type": "string", "description": "Merchant Id\n" }, "externalOrganizationId": { "type": "string", "maxLength": 36, "description": "Payworks MerchantId for given organizationId.\n" }, "referenceNumber": { "type": "string", "description": "Reference number is a unique identifier provided by the client along with the organization Id. This is an optional field provided solely for the client's convenience. If client specifies value for this field in the request, it is expected to be available in the response.\n" }, "keyId": { "type": "string", "description": "Key Serial Number\n" }, "key": { "type": "string", "description": "value of the key\n" }, "status": { "type": "string", "description": "The status of the key.\n\nPossible values:\n - FAILED\n - ACTIVE\n" }, "expirationDate": { "type": "string", "description": "The expiration time in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the time. The Z indicates UTC.\n" }, "message": { "type": "string", "description": "message in case of failed key" }, "errorInformation": { "type": "object", "properties": { "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n" }, "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.\n", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n" }, "message": { "type": "string", "description": "The detail message related to the status and reason listed above." }, "statusCode": { "type": "string", "description": "HTTP status code of the submitted request.\n\nPossible values:\n - 500\n" } } } }, "502": { "description": "Unexpected system error or system timeout.\n", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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." }, "statusCode": { "type": "string", "description": "HTTP status code of the submitted request.\n\nPossible values:\n - 500\n" } } } } } } }, "/kms/v2/keys-sym/{keyId}": { "get": { "x-devcenter-metaData": { "categoryTag": "Key_Management", "firstLevelApiLifeCycle": "hidden", "secondLevelApiLifeCycle": "hidden", "apiLifeCycle": "hidden" }, "summary": "Retrieves shared secret key details", "description": "Retrieves keys details by providing the key id.", "tags": [ "Symmetric Key Management" ], "operationId": "getKeyDetails", "parameters": [ { "name": "keyId", "in": "path", "description": "Key ID.\n", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "title": "kmsV2KeysSymGet200Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - ACCEPTED\n" }, "keyInformation": { "type": "object", "description": "key information\n", "properties": { "organizationId": { "type": "string", "description": "Merchant Id\n" }, "keyId": { "type": "string", "description": "Key serial number\n" }, "status": { "type": "string", "description": "The status of the key.\n\nPossible values:\n - FAILED\n - ACTIVE\n - INACTIVE\n - EXPIRED\n" }, "expirationDate": { "type": "string", "description": "The expiration time in UTC.\n" }, "message": { "type": "string", "description": "message in case of failed key\n" }, "errorInformation": { "type": "object", "properties": { "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n" }, "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": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n" }, "message": { "type": "string", "description": "The detail message related to the status and reason listed above." }, "statusCode": { "type": "string", "description": "HTTP status code of the submitted request.\n\nPossible values:\n - 500\n" } } } }, "502": { "description": "Unexpected system error or system timeout.\n", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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." }, "statusCode": { "type": "string", "description": "HTTP status code of the submitted request.\n\nPossible values:\n - 500\n" } } } } } } }, "/kms/v2/keys-sym/deletes": { "post": { "summary": "Delete one or more Symmetric keys", "description": "'Delete one or more Symmetric keys'\n", "tags": [ "Symmetric Key Management" ], "x-devcenter-metaData": { "categoryTag": "Key_Management", "firstLevelApiLifeCycle": "hidden", "secondLevelApiLifeCycle": "hidden", "apiLifeCycle": "hidden" }, "operationId": "deleteBulkSymmetricKeys", "parameters": [ { "name": "deleteBulkSymmetricKeysRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Client-generated order reference or tracking number. CyberSource recommends that you send a unique value.\n" }, "comments": { "type": "string", "description": "Comments" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } } } }, "keyInformation": { "type": "array", "items": { "type": "object", "description": "key information\n", "required": [ "organizationId", "keyId" ], "properties": { "organizationId": { "type": "string", "description": "Merchant Id\n" }, "referenceNumber": { "type": "string", "description": "Reference number is a unique identifier provided by the client along with the organization Id. This is an optional field provided solely for the client's convenience. If client specifies value for this field in the request, it is expected to be available in the response.\n" }, "keyId": { "type": "string", "description": "Key Serial Number" } } } } } } } ], "responses": { "200": { "description": "Successful response\n", "schema": { "title": "kmsV2KeysSymDeletesPost200Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - ACCEPTED\n" }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Client-generated order reference or tracking number. CyberSource recommends that you send a unique value.\n" }, "comments": { "type": "string", "description": "Comments" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } } } }, "keyInformation": { "type": "array", "items": { "type": "object", "description": "key information\n", "properties": { "organizationId": { "type": "string", "description": "Merchant Id\n" }, "keyId": { "type": "string", "description": "Key serial number\n" }, "status": { "type": "string", "description": "The status of the key.\n\nPossible values:\n - FAILED\n - ACTIVE\n - INACTIVE\n - EXPIRED\n" }, "message": { "type": "string", "description": "message in case of failed key\n" }, "errorInformation": { "type": "object", "properties": { "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n" }, "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\n", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n" }, "message": { "type": "string", "description": "The detail message related to the status and reason listed above." }, "statusCode": { "type": "string", "description": "HTTP status code of the submitted request.\n\nPossible values:\n - 500\n" } } } }, "502": { "description": "Unexpected system error or system timeout.\n", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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." }, "statusCode": { "type": "string", "description": "HTTP status code of the submitted request.\n\nPossible values:\n - 500\n" } } } } } } }, "/kms/v2/keys-asym": { "post": { "x-devcenter-metaData": { "categoryTag": "Key_Management", "firstLevelApiLifeCycle": "hidden", "secondLevelApiLifeCycle": "hidden", "apiLifeCycle": "hidden" }, "summary": "Create one or more PKCS12 keys", "description": "'Create one or more PKCS12 keys'\n", "tags": [ "Asymmetric Key Management" ], "operationId": "createP12Keys", "parameters": [ { "name": "createP12KeysRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Client-generated order reference or tracking number. CyberSource recommends that you send a unique value.\n" }, "comments": { "type": "string", "description": "Comments" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } } } }, "keyInformation": { "type": "array", "items": { "type": "object", "description": "key information\n", "required": [ "cert", "organizationId" ], "properties": { "organizationId": { "type": "string", "description": "Merchant Id\n" }, "referenceNumber": { "type": "string", "description": "Reference number is a unique identifier provided by the client along with the organization Id. This is an optional field provided solely for the client's convenience. If client specifies value for this field in the request, it is expected to be available in the response.\n" }, "cert": { "type": "string", "description": "Certificate Signing Request(csr), one needs to use the contents of the csr created for the same organizationId. Please extract string from '\\n' and '-----BEGIN CERTIFICATE REQUEST-----','-----END CERTIFICATE REQUEST-----'\n" } } } } } } } ], "responses": { "201": { "description": "Successful response.", "schema": { "title": "kmsV2KeysAsymPost201Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - ACCEPTED\n" }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Client-generated order reference or tracking number. CyberSource recommends that you send a unique value.\n" }, "comments": { "type": "string", "description": "Comments" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } } } }, "keyInformation": { "type": "array", "items": { "type": "object", "description": "key information\n", "properties": { "organizationId": { "type": "string", "description": "Merchant Id\n" }, "referenceNumber": { "type": "string", "description": "Reference number is a unique identifier provided by the client along with the organization Id. This is an optional field provided solely for the client's convenience. If client specifies value for this field in the request, it is expected to be available in the response.\n" }, "keyId": { "type": "string", "description": "Key Serial Number\n" }, "key": { "type": "string", "description": "value of the key\n" }, "status": { "type": "string", "description": "The status of the key.\n\nPossible values:\n - FAILED\n - ACTIVE\n" }, "expirationDate": { "type": "string", "description": "The expiration time in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the time. The Z indicates UTC.\n" }, "message": { "type": "string", "description": "message in case of failed key" }, "alias": { "type": "string", "description": "Key alias" }, "errorInformation": { "type": "object", "properties": { "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n" }, "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" } } } } } } } } }, "certificateInformation": { "type": "array", "items": { "type": "object", "properties": { "alias": { "type": "string", "description": "Key alias" }, "keyId": { "type": "string", "description": "Key Serial Number\n" }, "key": { "type": "string", "description": "value of the key\n" }, "expirationDate": { "type": "string", "description": "The expiration time in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the time. The Z indicates UTC.\n" } } } } } } }, "400": { "description": "Invalid Request", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n" }, "message": { "type": "string", "description": "The detail message related to the status and reason listed above." }, "statusCode": { "type": "string", "description": "HTTP status code of the submitted request.\n\nPossible values:\n - 500\n" } } } }, "502": { "description": "Unexpected system error or system timeout.\n", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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." }, "statusCode": { "type": "string", "description": "HTTP status code of the submitted request.\n\nPossible values:\n - 500\n" } } } } } } }, "/kms/v2/keys-asym/{keyId}": { "get": { "x-devcenter-metaData": { "categoryTag": "Key_Management", "firstLevelApiLifeCycle": "hidden", "secondLevelApiLifeCycle": "hidden", "apiLifeCycle": "hidden" }, "summary": "Retrieves PKCS12 key details", "description": "Retrieves keys details by providing the key id.", "tags": [ "Asymmetric Key Management" ], "operationId": "getP12KeyDetails", "parameters": [ { "name": "keyId", "in": "path", "description": "Key ID.\n", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "schema": { "title": "kmsV2KeysAsymGet200Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "keyInformation": { "type": "object", "description": "key information\n", "properties": { "organizationId": { "type": "string", "description": "Merchant Id\n" }, "referenceNumber": { "type": "string", "description": "Reference number is a unique identifier provided by the client along with the organization Id. This is an optional field provided solely for the client's convenience. If client specifies value for this field in the request, it is expected to be available in the response.\n" }, "keyId": { "type": "string", "description": "Key Serial Number\n" }, "status": { "type": "string", "description": "The status of the key.\n\nPossible values:\n - FAILED\n - ACTIVE\n - INACTIVE\n - EXPIRED\n" }, "expirationDate": { "type": "string", "description": "The expiration time in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the time. The Z indicates UTC.\n" }, "message": { "type": "string", "description": "message in case of failed key" }, "alias": { "type": "string", "description": "Key alias" }, "errorInformation": { "type": "object", "properties": { "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n" }, "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": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n" }, "message": { "type": "string", "description": "The detail message related to the status and reason listed above." }, "statusCode": { "type": "string", "description": "HTTP status code of the submitted request.\n\nPossible values:\n - 500\n" } } } }, "502": { "description": "Unexpected system error or system timeout.\n", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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." }, "statusCode": { "type": "string", "description": "HTTP status code of the submitted request.\n\nPossible values:\n - 500\n" } } } } } }, "patch": { "summary": "Activate or De-activate Asymmetric Key", "description": "Activate or De-activate Asymmetric Key\n", "tags": [ "Asymmetric Key Management" ], "x-devcenter-metaData": { "categoryTag": "Key_Management", "firstLevelApiLifeCycle": "hidden", "secondLevelApiLifeCycle": "hidden", "apiLifeCycle": "hidden" }, "operationId": "UpdateAsymKey", "parameters": [ { "name": "keyId", "in": "path", "description": "Key ID.\n", "required": true, "type": "string" }, { "name": "UpdateAsymKeysRequest", "in": "body", "required": true, "schema": { "type": "object", "required": [ "status", "organizationId" ], "properties": { "status": { "type": "string", "description": "Status can be active/inactive" }, "organizationId": { "type": "string", "description": "Organization Id" } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "type": "object" } }, "400": { "description": "Invalid request.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\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" } } } } } } }, "500": { "description": "Unexpected system error or system timeout.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted request.\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." } } } } } } }, "/kms/v2/keys-asym/deletes": { "post": { "summary": "Delete one or more PKCS12 keys", "description": "'Delete one or more PKCS12 keys'\n", "tags": [ "Asymmetric Key Management" ], "x-devcenter-metaData": { "categoryTag": "Key_Management", "firstLevelApiLifeCycle": "hidden", "secondLevelApiLifeCycle": "hidden", "apiLifeCycle": "hidden" }, "operationId": "deleteBulkP12Keys", "parameters": [ { "name": "deleteBulkP12KeysRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Client-generated order reference or tracking number. CyberSource recommends that you send a unique value.\n" }, "comments": { "type": "string", "description": "Comments" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } } } }, "keyInformation": { "type": "array", "items": { "type": "object", "description": "key information\n", "required": [ "organizationId", "keyId" ], "properties": { "organizationId": { "type": "string", "description": "Merchant Id\n" }, "referenceNumber": { "type": "string", "description": "Reference number is a unique identifier provided by the client along with the organization Id. This is an optional field provided solely for the client's convenience. If client specifies value for this field in the request, it is expected to be available in the response.\n" }, "keyId": { "type": "string", "description": "Key Serial Number" } } } } } } } ], "responses": { "200": { "description": "Successful response\n", "schema": { "title": "kmsV2KeysAsymDeletesPost200Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Client-generated order reference or tracking number. CyberSource recommends that you send a unique value.\n" }, "comments": { "type": "string", "description": "Comments" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } } } }, "keyInformation": { "type": "array", "items": { "type": "object", "description": "key information\n", "properties": { "organizationId": { "type": "string", "description": "Merchant Id\n" }, "referenceNumber": { "type": "string", "description": "Reference number is a unique identifier provided by the client along with the organization Id. This is an optional field provided solely for the client's convenience. If client specifies value for this field in the request, it is expected to be available in the response.\n" }, "keyId": { "type": "string", "description": "Key Serial Number\n" }, "status": { "type": "string", "description": "The status of the key.\n\nPossible values:\n - FAILED\n - ACTIVE\n - INACTIVE\n - EXPIRED\n" }, "message": { "type": "string", "description": "message in case of failed key" }, "errorInformation": { "type": "object", "properties": { "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n" }, "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\n", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n" }, "message": { "type": "string", "description": "The detail message related to the status and reason listed above." }, "statusCode": { "type": "string", "description": "HTTP status code of the submitted request.\n\nPossible values:\n - 500\n" } } } }, "502": { "description": "Unexpected system error or system timeout.\n", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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." }, "statusCode": { "type": "string", "description": "HTTP status code of the submitted request.\n\nPossible values:\n - 500\n" } } } } } } }, "/kms/v2/keys-sym/verifi": { "post": { "x-devcenter-metaData": { "categoryTag": "Key_Management", "firstLevelApiLifeCycle": "hidden", "secondLevelApiLifeCycle": "hidden", "apiLifeCycle": "hidden" }, "summary": "Create Shared-Secret Keys as per verifi spec", "description": "Create one or more Shared-Secret Keys as per Verifi spec with 32 chars, store digest algo during key generation.\n", "tags": [ "Symmetric Key Management" ], "operationId": "createV2SharedSecretKeys-verifi", "parameters": [ { "name": "v-ic-domain", "in": "header", "description": "domain", "required": true, "type": "string" }, { "name": "createSharedSecretKeysVerifiRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Client-generated order reference or tracking number. CyberSource recommends that you send a unique value.\n" }, "comments": { "type": "string", "description": "Comments" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } } } }, "keyInformation": { "type": "array", "items": { "type": "object", "description": "key information\n", "required": [ "organizationId" ], "properties": { "organizationId": { "type": "string", "description": "Merchant Id\n" }, "referenceNumber": { "type": "string", "description": "Reference number is a unique identifier provided by the client along with the organization Id. This is an optional field provided solely for the client's convenience. If client specifies value for this field in the request, it is expected to be available in the response.\n" }, "digestAlgorithm": { "type": "string", "description": "Algorithm for message signature authentication\n", "enum": [ "HMACSHA1", "HMACSHA2" ], "default": "HMACSHA2" } } } } } } } ], "responses": { "201": { "description": "Successful response.", "schema": { "title": "kmsV2KeysSymPost201Response", "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - ACCEPTED\n" }, "clientReferenceInformation": { "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Client-generated order reference or tracking number. CyberSource recommends that you send a unique value.\n" }, "comments": { "type": "string", "description": "Comments" }, "partner": { "type": "object", "properties": { "developerId": { "type": "string", "maxLength": 8, "description": "Identifier for the developer that helped integrate a partner solution to CyberSource.\n\nSend this value in all requests that are sent through the partner solutions built by that developer.\nCyberSource assigns the ID to the developer.\n\n**Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.\n" }, "solutionId": { "type": "string", "maxLength": 8, "description": "Identifier for the partner that is integrated to CyberSource.\n\nSend this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.\n\n**Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.\n" } } } } }, "keyInformation": { "type": "array", "items": { "type": "object", "description": "key information\n", "properties": { "organizationId": { "type": "string", "description": "Merchant Id\n" }, "externalOrganizationId": { "type": "string", "maxLength": 36, "description": "Payworks MerchantId for given organizationId.\n" }, "referenceNumber": { "type": "string", "description": "Reference number is a unique identifier provided by the client along with the organization Id. This is an optional field provided solely for the client's convenience. If client specifies value for this field in the request, it is expected to be available in the response.\n" }, "keyId": { "type": "string", "description": "Key Serial Number\n" }, "key": { "type": "string", "description": "value of the key\n" }, "status": { "type": "string", "description": "The status of the key.\n\nPossible values:\n - FAILED\n - ACTIVE\n" }, "expirationDate": { "type": "string", "description": "The expiration time in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the time. The Z indicates UTC.\n" }, "message": { "type": "string", "description": "message in case of failed key" }, "errorInformation": { "type": "object", "properties": { "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n" }, "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.\n", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n" }, "message": { "type": "string", "description": "The detail message related to the status and reason listed above." }, "statusCode": { "type": "string", "description": "HTTP status code of the submitted request.\n\nPossible values:\n - 500\n" } } } }, "502": { "description": "Unexpected system error or system timeout.\n", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "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." }, "statusCode": { "type": "string", "description": "HTTP status code of the submitted request.\n\nPossible values:\n - 500\n" } } } } } } }, "/kms/v2/keys": { "get": { "summary": "Search Keys", "description": "Search one or more Keys", "tags": [ "key-management" ], "x-devcenter-metaData": { "categoryTag": "Key_Management", "firstLevelApiLifeCycle": "hidden", "secondLevelApiLifeCycle": "hidden", "apiLifeCycle": "hidden" }, "operationId": "searchKeys", "parameters": [ { "name": "offset", "in": "query", "description": "This allows you to specify the page offset from the resulting list resultset you want the records to be returned", "type": "integer" }, { "name": "limit", "in": "query", "description": "This allows you to specify the total number of records to be returned off the resulting list resultset", "type": "integer" }, { "name": "sort", "in": "query", "description": "This allows you to specify a comma separated list of fields in the order which the resulting list resultset must be sorted.", "type": "string" }, { "name": "organizationIds", "in": "query", "description": "List of Orgaization Ids to search. The maximum size of the organization Ids list is 1. The maximum length of Organization Id is 30.", "type": "array", "items": { "type": "string" } }, { "name": "keyIds", "in": "query", "description": "List of Key Ids to search. The maximum size of the Key Ids list is 1", "type": "array", "items": { "type": "string" } }, { "name": "keyTypes", "in": "query", "type": "array", "items": { "type": "string" }, "description": "Key Type, Possible values - certificate, password, pgp and scmp_api. When Key Type is provided atleast one more filter needs to be provided" }, { "name": "expirationStartDate", "in": "query", "type": "string", "format": "date-time", "pattern": "yyyy-mm-dd", "description": "Expiry Filter Start Date. When Expiration Date filter is provided, atleast one more filter needs to be provided" }, { "name": "expirationEndDate", "in": "query", "type": "string", "format": "date-time", "pattern": "yyyy-mm-dd", "description": "Expiry Filter End Date. When Expiration Date filter is provided, atleast one more filter needs to be provided" } ], "responses": { "200": { "description": "Successful response.", "schema": { "type": "object", "description": "Successful searchKeysResponse", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n", "example": "2016-08-11T22:47:57Z" }, "totalCount": { "type": "integer", "description": "Specifies the total number of items found based on the request" }, "offset": { "type": "integer", "description": "Specifies the record offset from the records are returned part of the response" }, "limit": { "type": "integer", "description": "Specifies the maximum number of records requested part of the response" }, "sort": { "type": "string", "description": "Specifies a comma separated list of field names based on which the result is sorted." }, "keys": { "type": "array", "items": { "type": "object", "description": "KeyResponseEntry", "properties": { "organizationId": { "type": "string", "description": "Merchant Id" }, "merchantName": { "type": "string", "description": "Merchant Name" }, "keyId": { "type": "string", "description": "Key Id" }, "keyType": { "type": "string", "description": "Key Type" }, "status": { "type": "string", "description": "Status can be active/inactive" }, "expirationDate": { "type": "string", "format": "date", "pattern": "yyyy-mm-dd hh:mm:ss zzz", "description": "Expiry Date. example - 2028-07-15 22:11:56 UTC" }, "dateAdded": { "type": "string", "format": "date", "pattern": "yyyy-mm-dd hh:mm:ss zzz", "description": "Date Addded. example - 2018-04-25 22:11:56 UTC" }, "addedBy": { "type": "string", "description": "Added By" }, "dateModified": { "type": "string", "format": "date", "pattern": "yyyy-mm-dd hh:mm:ss zzz", "description": "Modified Date.", "example": "2022-04-25 22:11:56 UTC" }, "modifiedBy": { "type": "string", "description": "Modified By" }, "version": { "type": "string", "description": "Version" }, "serialNumber": { "type": "string", "description": "Serial Number" }, "issuerName": { "type": "string", "description": "Issuer Name" } } } } } } }, "400": { "description": "Invalid request.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\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" } } } } } } }, "500": { "description": "Unexpected system error or system timeout.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted request.\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." } } } } } } }, "/kms/v2/keys-password/{keyId}": { "patch": { "summary": "Activate or De-activate Password", "description": "Activate or De-activate key of type password\n", "tags": [ "key-management-password" ], "x-devcenter-metaData": { "categoryTag": "Key_Management", "firstLevelApiLifeCycle": "hidden", "secondLevelApiLifeCycle": "hidden", "apiLifeCycle": "hidden" }, "operationId": "UpdatePassword", "parameters": [ { "name": "keyId", "in": "path", "description": "Key ID.\n", "required": true, "type": "string" }, { "name": "UpdatePasswordKeysRequest", "in": "body", "required": true, "schema": { "type": "object", "required": [ "status", "organizationId" ], "properties": { "status": { "type": "string", "description": "Status can be active/inactive" }, "organizationId": { "type": "string", "description": "Organization Id" } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "type": "object" } }, "400": { "description": "Invalid request.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\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" } } } } } } }, "500": { "description": "Unexpected system error or system timeout.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted request.\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." } } } } } } }, "/kms/v2/keys-pgp/{keyId}": { "patch": { "summary": "Activate or De-activate PGP Key", "description": "Activate or De-activate PGP Key\n", "tags": [ "key-management-pgp" ], "x-devcenter-metaData": { "categoryTag": "Key_Management", "firstLevelApiLifeCycle": "hidden", "secondLevelApiLifeCycle": "hidden", "apiLifeCycle": "hidden" }, "operationId": "UpdatePGP", "parameters": [ { "name": "keyId", "in": "path", "description": "Key ID.\n", "required": true, "type": "string" }, { "name": "UpdatePGPKeysRequest", "in": "body", "required": true, "schema": { "type": "object", "required": [ "status", "organizationId" ], "properties": { "status": { "type": "string", "description": "Status can be active/inactive" }, "organizationId": { "type": "string", "description": "Organization Id" } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "type": "object" } }, "400": { "description": "Invalid request.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\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" } } } } } } }, "500": { "description": "Unexpected system error or system timeout.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted request.\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." } } } } } } }, "/kms/v2/keys-scmp/{keyId}": { "patch": { "summary": "Update or Deactivate", "description": "Update or Deactivate scmp api Key\n", "tags": [ "key-management-scmp" ], "x-devcenter-metaData": { "categoryTag": "Key_Management", "firstLevelApiLifeCycle": "hidden", "secondLevelApiLifeCycle": "hidden", "apiLifeCycle": "hidden" }, "operationId": "UpdateSCMP", "parameters": [ { "name": "keyId", "in": "path", "description": "Key ID.\n", "required": true, "type": "string" }, { "name": "UpdatePGPKeysRequest", "in": "body", "required": true, "schema": { "type": "object", "properties": { "organizationId": { "type": "string", "description": "Organization Id" }, "status": { "type": "string", "description": "Only inactive status is applicable for SCMP_API. Only status as inactive needs to be provided to deactivate scmp." }, "expirationDate": { "type": "string", "description": "Expiration Date. Required field to update the SCMP_API key" }, "version": { "type": "string", "description": "Version. Required field to update the SCMP_API key" }, "comment": { "type": "string", "description": "Comment. Optional field. Can be provided along with Expiration Date and Version" } } } } ], "responses": { "200": { "description": "Successful response.", "schema": { "type": "object" } }, "400": { "description": "Invalid request.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\n\nPossible values:\n - INVALID_REQUEST\n" }, "reason": { "type": "string", "description": "The reason of the status.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\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" } } } } } } }, "500": { "description": "Unexpected system error or system timeout.", "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\n**Example** `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.).\nThe `T` separates the date and the time. The `Z` indicates UTC.\n\nReturned by Cybersource for all services.\n" }, "status": { "type": "string", "description": "The status of the submitted request.\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." } } } } } } }, "/boarding/v1/registrations": { "post": { "tags": [ "Merchant Boarding" ], "x-devcenter-metaData": { "categoryTag": "Merchant_Boarding", "firstLevelApiLifeCycle": "beta", "secondLevelApiLifeCycle": "beta", "apiLifeCycle": "beta", "isJstreeExpansionLimited": true, "disableProcessorDropDown": true, "authorizationType": [ "Json Web Token" ], "overrideMerchantCredential": "apitester00", "developerGuides": "https://developer.cybersource.com/api/developer-guides/Merchant-Boarding-API_ditamap/Merchant-Boarding-API.html", "SDK_ONLY_AddDisclaimer": true }, "summary": "Create a boarding registration", "description": "Create a registration to board merchant\n\nIf you have Card Processing product enabled in your boarding request, select payment processor from Configuration -> Sample Request.\nYou may unselect attributes from the Request Builder tree which you do not need in the request.\nFor VPC, CUP and EFTPOS processors, replace the processor name from VPC or CUP or EFTPOS to the actual processor name in the sample request.\ne.g. replace VPC with <your vpc processor>\n", "operationId": "postRegistration", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "in": "header", "name": "v-c-idempotency-id", "type": "string", "description": "defines idempotency of the request", "required": false }, { "in": "body", "name": "postRegistrationBody", "description": "Boarding registration data", "required": true, "schema": { "type": "object", "properties": { "registrationInformation": { "type": "object", "properties": { "boardingRegistrationId": { "type": "string", "maxLength": 60, "example": "1234124", "readOnly": true }, "submitTimeUtc": { "type": "string", "format": "date", "example": "2019-06-11T22:47:57.000Z", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n", "readOnly": true }, "status": { "type": "string", "readOnly": true, "description": "The status of Registration request\nPossible Values:\n - 'PROCESSING': This status is for Registrations that are still in Progress, you can get the latest status by calling the GET endpoint using the Registration Id\n - 'SUCCESS': This status is for Registrations that were successfull on every step of the on boarding process.\n - 'FAILURE': This status is for Registrations that fail before the Organization was created; please refer to the details section in the reponse for more information.\n - 'PARTIAL': This status is for Registrations that created the Organization successfully but fail in at least on step while configuring it; please refer to the details section in the response for more information.\n", "enum": [ "PROCESSING", "SUCCESS", "FAILURE", "PARTIAL" ] }, "boardingPackageId": { "type": "string", "maxLength": 60, "example": 1004001 }, "boardingFlow": { "type": "string", "description": "Determines the boarding flow for this registration.\nPossible Values:\n - 'ENTERPRISE'\n - 'SMB'\n - 'ADDPRODUCT'\n", "enum": [ "ENTERPRISE", "SMB", "ADDPRODUCT" ] }, "mode": { "type": "string", "description": "In case mode is not provided the API will use COMPLETE as default\nPossible Values:\n - 'COMPLETE'\n - 'PARTIAL'\n", "enum": [ "COMPLETE", "PARTIAL" ] }, "salesRepId": { "type": "string", "maxLength": 60, "example": "Rep1" } } }, "integrationInformation": { "type": "object", "properties": { "oauth2": { "type": "array", "items": { "type": "object", "properties": { "client_id": { "type": "string", "maxLength": 32, "example": "client123" }, "state": { "type": "string", "maxLength": 20, "example": "test123" } }, "required": [ "client_id" ] } }, "tenantConfigurations": { "type": "array", "description": "tenantConfigurations is an array of objects that includes the tenant information this merchant is associated with.", "items": { "type": "object", "properties": { "solutionId": { "type": "string", "maxLength": 8, "minLength": 8, "pattern": "^[0-9a-zA-Z_]+$", "description": "The solutionId is the unique identifier for this system resource.\nPartner can use it to reference the specific solution through out the system.\n", "example": "YumSolution1" }, "tenantInformation": { "type": "object", "properties": { "tenantId": { "type": "string", "maxLength": 50, "minLength": 1, "description": "The TenantId is an external Solution Identifier given by Tech Partners like SAP.", "example": "SAP123" } } } }, "required": [ "solutionId" ] } } } }, "organizationInformation": { "type": "object", "properties": { "organizationId": { "type": "string", "maxLength": 30, "minLength": 6, "pattern": "^[0-9a-zA-Z_]+$", "example": "merch-test1" }, "parentOrganizationId": { "type": "string", "description": "This field is required for Organization Types: MERCHANT, TRANSACTING\n", "maxLength": 30, "minLength": 6, "pattern": "^[0-9a-zA-Z_]+$", "example": "merch-test1-acct" }, "childOrganizations": { "readOnly": true, "type": "array", "items": { "type": "string", "maxLength": 30, "minLength": 6, "pattern": "^[0-9a-zA-Z_]+$", "example": "transactional-org" } }, "type": { "type": "string", "description": "Determines the type of organization in the hirarchy that this registration will use to onboard this Organization\nPossible Values:\n - 'TRANSACTING'\n - 'STRUCTURAL'\n - 'MERCHANT'\n", "enum": [ "TRANSACTING", "STRUCTURAL", "MERCHANT" ] }, "status": { "type": "string", "description": "Determines the status that the organization will be after being onboarded\nPossible Values:\n - 'LIVE'\n - 'TEST'\n - 'DRAFT'\n", "enum": [ "LIVE", "TEST", "DRAFT" ] }, "configurable": { "description": "This denotes the one organization, with exception to the TRANSACTING types, that is allowed to be used for configuration purposes against products. Eventually this field will be deprecated and all organizations will be allowed for product configuration.", "type": "boolean", "default": false, "example": false }, "businessInformation": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", "example": "Betos Restaurant" }, "doingBusinessAs": { "type": "string", "maxLength": 60, "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", "example": "Betos Restaurant" }, "description": { "type": "string", "maxLength": 250, "pattern": "[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ff\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ff\\n\\ra-zA-Z0-9().\\-_#,;/\\\\@$:&!?%\u00ab\u00bb\u20ac\u20a3\u00ab\u00bb\u20ac\u20a3 ]{1,}$", "example": "International food Restaurant" }, "startDate": { "type": "string", "format": "date", "pattern": "^\\d{4}\\-(0[1-9]|1[012])\\-(0[1-9]|[12][0-9]|3[01])$", "example": "2019-06-11T00:00:00.000Z", "description": "`Format: YYYY-MM-DD`\nExample 2016-08-11 equals August 11, 2016\n" }, "address": { "type": "object", "properties": { "country": { "type": "string", "maxLength": 2, "minLength": 2, "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/@$:!% ]{1,}$", "example": "US" }, "address1": { "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/@$:!% ]{1,}$", "example": "123 Fake st" }, "address2": { "type": "string", "maxLength": 60, "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/@$:!% ]{1,}$", "example": "apt 2" }, "locality": { "type": "string", "maxLength": 50, "minLength": 1, "pattern": "^[0-9a-zA-Z _\\-\u00a1-\uffff]+$", "description": "City of the billing address.", "example": "Bellevue" }, "administrativeArea": { "type": "string", "minLength": 1, "maxLength": 50, "pattern": "^[0-9a-zA-Z\u00a1-\uffff ]*$", "description": "State or province of the billing address. Required for United States and Canada.", "example": "WA" }, "postalCode": { "type": "string", "minLength": 1, "maxLength": 20, "pattern": "^[0-9a-zA-Z ]*$", "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits. Required for United States and Canada.", "example": 3384 } }, "required": [ "country", "address1", "locality" ] }, "timeZone": { "type": "string", "description": "Merchant perferred time zone\nPossible Values:\n- 'Pacific/Pago_Pago'\n- 'Pacific/Honolulu'\n- 'America/Anchorage'\n- 'America/Vancouver'\n- 'America/Los_Angeles'\n- 'America/Phoenix'\n- 'America/Edmonton'\n- 'America/Denver'\n- 'America/Winnipeg'\n- 'America/Mexico_City'\n- 'America/Chicago'\n- 'America/Bogota'\n- 'America/Indianapolis'\n- 'America/New_York'\n- 'America/La_Paz'\n- 'America/Halifax'\n- 'America/St_Johns'\n- 'America/Buenos_Aires'\n- 'America/Godthab'\n- 'America/Sao_Paulo'\n- 'America/Noronha'\n- 'Atlantic/Cape_Verde'\n- 'GMT'\n- 'Europe/Dublin'\n- 'Europe/Lisbon'\n- 'Europe/London'\n- 'Africa/Tunis'\n- 'Europe/Vienna'\n- 'Europe/Brussels'\n- 'Europe/Zurich'\n- 'Europe/Prague'\n- 'Europe/Berlin'\n- 'Europe/Copenhagen'\n- 'Europe/Madrid'\n- 'Europe/Budapest'\n- 'Europe/Rome'\n- 'Africa/Tripoli'\n- 'Europe/Monaco'\n- 'Europe/Malta'\n- 'Europe/Amsterdam'\n- 'Europe/Oslo'\n- 'Europe/Warsaw'\n- 'Europe/Stockholm'\n- 'Europe/Belgrade'\n- 'Europe/Paris'\n- 'Africa/Johannesburg'\n- 'Europe/Minsk'\n- 'Africa/Cairo'\n- 'Europe/Helsinki'\n- 'Europe/Athens'\n- 'Asia/Jerusalem'\n- 'Europe/Riga'\n- 'Europe/Bucharest'\n- 'Europe/Istanbul'\n- 'Asia/Riyadh'\n- 'Europe/Moscow'\n- 'Asia/Dubai'\n- 'Asia/Baku'\n- 'Asia/Tbilisi'\n- 'Asia/Calcutta'\n- 'Asia/Katmandu'\n- 'Asia/Dacca'\n- 'Asia/Rangoon'\n- 'Asia/Jakarta'\n- 'Asia/Saigon'\n- 'Asia/Bangkok'\n- 'Australia/Perth'\n- 'Asia/Hong_Kong'\n- 'Asia/Macao'\n- 'Asia/Kuala_Lumpur'\n- 'Asia/Manila'\n- 'Asia/Singapore'\n- 'Asia/Taipei'\n- 'Asia/Shanghai'\n- 'Asia/Seoul'\n- 'Asia/Tokyo'\n- 'Asia/Yakutsk'\n- 'Australia/Adelaide'\n- 'Australia/Brisbane'\n- 'Australia/Broken_Hill'\n- 'Australia/Darwin'\n- 'Australia/Eucla'\n- 'Australia/Hobart'\n- 'Australia/Lindeman'\n- 'Australia/Sydney'\n- 'Australia/Lord_Howe'\n- 'Australia/Melbourne'\n- 'Asia/Magadan'\n- 'Pacific/Norfolk'\n- 'Pacific/Auckland'\n", "enum": [ "Pacific/Pago_Pago", "Pacific/Honolulu", "America/Anchorage", "America/Vancouver", "America/Los_Angeles", "America/Phoenix", "America/Edmonton", "America/Denver", "America/Winnipeg", "America/Mexico_City", "America/Chicago", "America/Bogota", "America/Indianapolis", "America/New_York", "America/La_Paz", "America/Halifax", "America/St_Johns", "America/Buenos_Aires", "America/Godthab", "America/Sao_Paulo", "America/Noronha", "Atlantic/Cape_Verde", "GMT", "Europe/Dublin", "Europe/Lisbon", "Europe/London", "Africa/Tunis", "Europe/Vienna", "Europe/Brussels", "Europe/Zurich", "Europe/Prague", "Europe/Berlin", "Europe/Copenhagen", "Europe/Madrid", "Europe/Budapest", "Europe/Rome", "Africa/Tripoli", "Europe/Monaco", "Europe/Malta", "Europe/Amsterdam", "Europe/Oslo", "Europe/Warsaw", "Europe/Stockholm", "Europe/Belgrade", "Europe/Paris", "Africa/Johannesburg", "Europe/Minsk", "Africa/Cairo", "Europe/Helsinki", "Europe/Athens", "Asia/Jerusalem", "Europe/Riga", "Europe/Bucharest", "Europe/Istanbul", "Asia/Riyadh", "Europe/Moscow", "Asia/Dubai", "Asia/Baku", "Asia/Tbilisi", "Asia/Calcutta", "Asia/Katmandu", "Asia/Dacca", "Asia/Rangoon", "Asia/Jakarta", "Asia/Saigon", "Asia/Bangkok", "Australia/Perth", "Asia/Hong_Kong", "Asia/Macao", "Asia/Kuala_Lumpur", "Asia/Manila", "Asia/Singapore", "Asia/Taipei", "Asia/Shanghai", "Asia/Seoul", "Asia/Tokyo", "Asia/Yakutsk", "Australia/Adelaide", "Australia/Brisbane", "Australia/Broken_Hill", "Australia/Darwin", "Australia/Eucla", "Australia/Hobart", "Australia/Lindeman", "Australia/Sydney", "Australia/Lord_Howe", "Australia/Melbourne", "Asia/Magadan", "Pacific/Norfolk", "Pacific/Auckland" ], "example": "America/Chicago" }, "websiteUrl": { "type": "string", "maxLength": 100, "pattern": "\\b((?:https?://|www\\d{0,3}[.]|[a-z0-9.\\-]+[.][a-z]{2,4}/)(?:[^\\s()<>]+|\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\))+(?:\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\)|[^\\s`!()\\[\\]{};:'\".,<>?\u00c2\u00ab\u00c2\u00bb\u00e2\u20ac\u0153\u00e2\u20ac\u009d\u00e2\u20ac\u02dc\u00e2\u20ac\u2122]))", "example": "www.test.com" }, "type": { "type": "string", "description": "Business type\nPossible Values:\n - 'PARTNERSHIP'\n - 'SOLE_PROPRIETORSHIP'\n - 'CORPORATION'\n - 'LLC'\n - 'NON_PROFIT'\n - 'TRUST'\n", "enum": [ "PARTNERSHIP", "SOLE_PROPRIETORSHIP", "CORPORATION", "LLC", "NON_PROFIT", "TRUST" ] }, "taxId": { "type": "string", "maxLength": 9, "pattern": "\\d{9}", "example": 254324 }, "phoneNumber": { "type": "string", "maxLength": 20, "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", "example": 4564561234 }, "businessContact": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 50, "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", "example": "John" }, "middleName": { "type": "string", "maxLength": 50, "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", "example": "John" }, "lastName": { "type": "string", "maxLength": 50, "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", "example": "John" }, "phoneNumber": { "type": "string", "maxLength": 20, "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", "example": 4567890398 }, "email": { "type": "string", "maxLength": 100, "pattern": "^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,50}|[0-9]{1,3})(\\]?)$", "example": "test@test.com" } }, "required": [ "firstName", "lastName", "phoneNumber", "email" ] }, "technicalContact": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 50, "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", "example": "John" }, "middleName": { "type": "string", "maxLength": 50, "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", "example": "John" }, "lastName": { "type": "string", "maxLength": 50, "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", "example": "John" }, "phoneNumber": { "type": "string", "maxLength": 20, "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", "example": 4567890398 }, "email": { "type": "string", "maxLength": 100, "pattern": "^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,50}|[0-9]{1,3})(\\]?)$", "example": "test@test.com" } }, "required": [ "firstName", "lastName", "phoneNumber", "email" ] }, "emergencyContact": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 50, "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", "example": "John" }, "middleName": { "type": "string", "maxLength": 50, "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", "example": "John" }, "lastName": { "type": "string", "maxLength": 50, "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", "example": "John" }, "phoneNumber": { "type": "string", "maxLength": 20, "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", "example": 4567890398 }, "email": { "type": "string", "maxLength": 100, "pattern": "^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,50}|[0-9]{1,3})(\\]?)$", "example": "test@test.com" } }, "required": [ "firstName", "lastName", "phoneNumber", "email" ] }, "merchantCategoryCode": { "type": "string", "maxLength": 4, "pattern": "^\\d{3,4}$", "example": 5300, "description": "Industry standard Merchant Category Code (MCC)" } }, "required": [ "name" ] }, "KYC": { "type": "object", "properties": { "whenIsCustomerCharged": { "type": "string", "enum": [ "ONETIMEBEFORE", "ONETIMEAFTER", "OTHER" ], "example": "ONETIMEBEFORE" }, "whenIsCustomerChargedDescription": { "type": "string", "maxLength": 100 }, "offerSubscriptions": { "type": "boolean", "example": true }, "monthlySubscriptionPercent": { "type": "number", "format": "decimal", "pattern": "^((100)|(\\d{0,2}))$", "example": 30 }, "quarterlySubscriptionPercent": { "type": "number", "format": "decimal", "pattern": "^((100)|(\\d{0,2}))$", "example": 20 }, "semiAnnualSubscriptionPercent": { "type": "number", "format": "decimal", "pattern": "^((100)|(\\d{0,2}))$", "example": 50 }, "annualSubscriptionPercent": { "type": "number", "format": "decimal", "pattern": "^((100)|(\\d{0,2}))$", "example": 100 }, "timeToProductDelivery": { "type": "string", "enum": [ "INSTANT", "UPTO2", "UPTO5", "UPTO10", "GREATERTHAN10" ] }, "estimatedMonthlySales": { "type": "number", "format": "currency", "pattern": "^\\d{1,8}(\\.\\d{1,2})?$", "example": 10000.5 }, "averageOrderAmount": { "type": "number", "format": "currency", "pattern": "^\\d{1,6}(\\.\\d{1,2})?$", "example": 50.5 }, "largestExpectedOrderAmount": { "type": "number", "format": "currency", "pattern": "^\\d{1,6}(\\.\\d{1,2})?$", "example": 100.5 }, "depositBankAccount": { "type": "object", "properties": { "accountHolderName": { "type": "string", "maxLength": 40, "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ff\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/\\\\@$:&!?%\u00ab\u00bb\u20ac\u20a3\u00ab\u00bb\u20ac\u20a3 ]{1,}$", "example": "John Doe" }, "accountType": { "type": "string", "enum": [ "checking", "savings", "corporatechecking", "corporatesavings" ], "example": "checking" }, "accountRoutingNumber": { "type": "string", "maxLength": 9, "pattern": "\\d{9}" }, "accountNumber": { "type": "string", "maxLength": 17, "pattern": "^\\d{5,17}$" } }, "required": [ "accountHolderName", "accountType", "accountRoutingNumber", "accountNumber" ] } }, "required": [ "whenIsCustomerCharged", "offerSubscriptions", "timeToProductDelivery", "estimatedMonthlySales", "averageOrderAmount", "largestExpectedOrderAmount" ] }, "owners": { "type": "array", "items": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 50, "pattern": "[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ff\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z().\\-_#,;/\\\\@$:&!?%\u00ab\u00bb\u20ac\u20a3\u00ab\u00bb\u20ac\u20a3 ]{1,}$", "example": "John" }, "middleName": { "type": "string", "maxLength": 50, "pattern": "[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ff\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z().\\-_#,;/\\\\@$:&!?%\u00ab\u00bb\u20ac\u20a3\u00ab\u00bb\u20ac\u20a3 ]{1,}$", "example": "John" }, "lastName": { "type": "string", "maxLength": 50, "pattern": "[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ff\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z().\\-_#,;/\\\\@$:&!?%\u00ab\u00bb\u20ac\u20a3\u00ab\u00bb\u20ac\u20a3 ]{1,}$", "example": "John" }, "birthDate": { "type": "string", "format": "date", "pattern": "^\\d{4}\\-(0[1-9]|1[012])\\-(0[1-9]|[12][0-9]|3[01])$", "example": "2016-08-11T00:00:00.000Z", "description": "`Format: YYYY-MM-DD`\nExample 2016-08-11 equals August 11, 2016\n" }, "isPrimary": { "type": "boolean", "description": "Determines whether the owner is the Primary owner of the organization", "example": true }, "ssn": { "type": "string", "maxLength": 12, "pattern": "^\\d{3}-\\d{2}-\\d{4}$|^\\d{9,9}$", "example": 123456789, "description": "Social Security Number" }, "passportNumber": { "type": "string", "maxLength": 12, "pattern": "^(?!^0+$)[a-zA-Z0-9]{3,20}$", "example": "1234556", "description": "Passport number" }, "passportCountry": { "type": "string", "maxLength": 2, "minLength": 2, "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/@$:!% ]{1,}$", "example": "US" }, "jobTitle": { "type": "string", "maxLength": 100, "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/@$:!% ]{1,}$", "example": "Director" }, "hasSignificantResponsability": { "type": "boolean", "description": "Determines whether owner has significant responsibility to control, manage or direct the company", "example": true }, "ownershipPercentage": { "type": "number", "pattern": "^[0-9]$|^[1-9][0-9]$|^(100)$", "description": "Determines the percentage of ownership this owner has. For the primary owner the percentage can be from 0-100; for other owners the percentage can be from 25-100 and the sum of ownership accross owners cannot exceed 100", "example": 25 }, "phoneNumber": { "type": "string", "maxLength": 20, "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", "example": 4567890398 }, "email": { "type": "string", "maxLength": 100, "pattern": "^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,50}|[0-9]{1,3})(\\]?)$", "example": "test@test.com" }, "address": { "type": "object", "properties": { "country": { "type": "string", "maxLength": 2, "minLength": 2, "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/@$:!% ]{1,}$", "example": "US" }, "address1": { "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/@$:!% ]{1,}$", "example": "123 Fake st" }, "address2": { "type": "string", "maxLength": 60, "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/@$:!% ]{1,}$", "example": "apt 2" }, "locality": { "type": "string", "maxLength": 50, "minLength": 1, "pattern": "^[0-9a-zA-Z _\\-\u00a1-\uffff]+$", "description": "City of the billing address.", "example": "Bellevue" }, "administrativeArea": { "type": "string", "minLength": 1, "maxLength": 50, "pattern": "^[0-9a-zA-Z\u00a1-\uffff ]*$", "description": "State or province of the billing address. Required for United States and Canada.", "example": "WA" }, "postalCode": { "type": "string", "minLength": 1, "maxLength": 20, "pattern": "^[0-9a-zA-Z ]*$", "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits. Required for United States and Canada.", "example": 3384 } }, "required": [ "country", "address1", "locality" ] } }, "required": [ "firstName", "lastName", "birthDate", "jobTitle", "hasSignificantResponsability", "ownershipPercentage", "phoneNumber", "email", "address", "isPrimary" ] } } }, "required": [ "businessInformation" ] }, "productInformation": { "type": "object", "properties": { "selectedProducts": { "type": "object", "properties": { "payments": { "title": "paymentsProducts", "type": "object", "properties": { "cardProcessing": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." }, "features": { "type": "object", "description": "This is a map. The allowed keys are below. Value should be an object containing a sole boolean property - enabled.\n\n \n \n \n \n \n \n
cardPresent
cardNotPresent
\n", "additionalProperties": { "x-devcenter-additional-properties": [ "cardPresent", "cardNotPresent" ], "type": "object", "properties": { "enabled": { "type": "boolean" } } } } } }, "configurationInformation": { "type": "object", "properties": { "templateId": { "type": "string", "format": "uuid" }, "configurations": { "type": "object", "title": "CardProcessingConfig", "properties": { "common": { "type": "object", "properties": { "processors": { "type": "object", "description": "e.g.\n* amexdirect\n* barclays2\n* CUP\n* EFTPOS\n* fdiglobal\n* gpngsapv3\n* gpx\n* smartfdc\n* tsys\n* vero\n* VPC\n\nFor VPC, CUP and EFTPOS processors, replace the processor name from VPC or CUP or EFTPOS to the actual processor name in the sample request.\ne.g. replace VPC with <your vpc processor>\n", "additionalProperties": { "x-devcenter-additional-properties": [ "amexdirect", "barclays2", "CUP", "EFTPOS", "fdiglobal", "gpngsapv3", "gpx", "smartfdc", "tsys", "vero", "VPC" ], "type": "object", "properties": { "batchGroup": { "type": "string", "description": "Determines the batching group that separates merchants for special batching times. Batching groups can separate merchant batches by the following criteria:\n\n* Timezone\n* Merchant deadlines\n* Large merchants (top 10)\n* Merchants with Service-Level Agreements\n\nApplicable for Chase Paymentech Salem (chasepaymentechsalem), Streamline (streamline2), Six (six), Barclays (barclays2), Paymentech Tampa (paymentechtampa), CMCIC (cmcic), FDC Nashville (smartfdc), RUPAY, American Express Direct (amexdirect), GPN (gpn), VPC, GPX (gpx), CB2A, Barclays HISO (barclayshiso), TSYS (tsys) and FDI Global (fdiglobal) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n\n
ProcessorAcceptance TypeRequired
Barclayscnp, cp, hybridYes
Barclays HISOcnp, cp, hybridYes
American Express Directcnp, cp, hybridNo
\n" }, "businessApplicationId": { "type": "string", "description": "Indicates the type of money transfer used in the transaction. Applicable for VPC and GPX (gpx) processors." }, "merchantVerificationValue": { "type": "string", "description": "Identify merchants that participate in Select Merchant Fee (SMF) programs. Unique to the merchant. Applicable for GPX (gpx) and VPC processors." }, "abaNumber": { "type": "string", "description": "Routing Number to identify banks within the United States. Applicable for GPX (gpx) processors." }, "acquirer": { "type": "object", "description": "Identifies the financial institution acting as the acquirer of this customer transaction. The acquirer is the member or system user that signed the merchant.", "properties": { "institutionId": { "type": "string", "description": "Identifier of the acquirer. This number is usually assigned by Visa.\nApplicable for VPC, GPX (gpx), CMCIC (cmcic), EFTPOS, CB2A, CUP, American Express Direct (amexdirect) and Six (six) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegexDefault Value
American Express Directcnp, cp, hybridYes113^[0-9]+$1111
\n" }, "interbankCardAssociationId": { "type": "string", "description": "Number assigned by MasterCard to banks to identify the member in transactions. Applicable for VPC and GPX (gpx) processors." }, "discoverInstitutionId": { "type": "string", "description": "Assigned by Discover to identify the acquirer. Applicable for VPC and GPX (gpx) processors." }, "countryCode": { "type": "string", "description": "ISO 4217 format. Applicable for VPC, GPX (gpx), EFTPOS, RUPAY, Prisma (prisma) and CUP processors." }, "fileDestinationBin": { "type": "string", "description": "The BIN to which this\u00a0capturefile is sent. This field must contain a valid BIN. Applicable for VPC and GPX (gpx) processors." } } }, "merchantId": { "type": "string", "description": "Merchant ID assigned by an acquirer or a processor. Should not be overriden by any other party.\n\nValidation details (for selected processors)...\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
Barclays HISOcp, cnp, hybridYes115^[0-9a-zA-Z]+$
Barclayscp, cnp, hybridYes111^[0-9a-zA-Z]+$
\n" }, "terminalId": { "type": "string", "description": "The 'Terminal Id' aka TID, is an identifier used for with your payments processor.\nDepending on the processor and payment acceptance type this may also be the default Terminal ID used for Card Present and Virtual Terminal transactions.\n\nValidation details (for selected processors)...\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
Barclays HISOcnp, hybridYes116^[0-9a-zA-Z]+$
Barclays HISOcpNo116^[0-9a-zA-Z]+$
\n" }, "paymentTypes": { "type": "object", "description": "Valid values are:\n* VISA\n* MASTERCARD\n* AMERICAN_EXPRESS\n* CUP\n* EFTPOS\n* DINERS_CLUB\n* DISCOVER\n* JCB\n", "additionalProperties": { "x-devcenter-additional-properties": [ "VISA", "MASTERCARD", "AMERICAN_EXPRESS", "DISCOVER", "DINERS_CLUB", "JCB", "PIN_DEBIT" ], "type": "object", "properties": { "enabled": { "type": "boolean" }, "currencies": { "type": "object", "description": "Three-character [ISO 4217 ALPHA-3 Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)", "additionalProperties": { "x-devcenter-additional-properties": [ "USD", "CAD", "GBP", "EUR", "CHF", "NGN", "ETB", "CUP", "AZN", "RWF", "DOP", "GMD", "BBD", "GTG", "NPR", "SHP", "BZD", "JMP", "PHP", "BRL", "TZS", "BAM", "ISK", "KWD", "RON", "ARS", "SBD", "NOK", "KRW", "TJS", "JOD", "MOP", "CLP", "SOS", "MGA", "LVL", "GIP", "PYG", "SAR", "PGK", "SGD", "ROL", "BSD", "TRY", "CDF", "SYP", "BMD", "MRO", "WST", "GHS", "BTN", "HNL", "MAD", "GAR", "SRD", "BDT", "KGS", "GNF", "CNY", "JPY", "LYD", "TTD", "CVE", "SZL", "ZMW", "KPW", "PEN", "YER", "VEB", "KHR", "VEF", "VUV", "SLL", "AFN", "SCR", "BOB", "COP", "LTL", "EGP", "HUF", "RSD", "AOA", "MYR", "MTL", "CYP", "FKP", "GYD", "PLN", "KMF", "SGD", "IQD", "DKK", "KES", "UZS", "TMM", "NZD", "LKR", "EEK", "SKK", "ANG", "INR", "UYU", "LSL", "TND", "STD", "HTG", "VND", "AED", "MZN", "BND", "KZT", "PKR", "XCD", "RUB", "MKD", "BWP", "AWG", "GEL", "MDL", "HKD", "MVR", "amd", "IRR", "NAD", "MWK", "MNT", "CRC", "XPF", "LAK", "HRK", "ALL", "TOP", "BIF", "MUR", "PAB", "FJD", "CZK", "ZWD", "KYD", "IDR", "BGN", "MXN", "UGX", "MMK", "UAH", "DZD", "XAF", "THB", "OMR", "XOF", "AUD", "ZAR", "LBP", "NIO", "DJF", "LRD", "TWD", "ERN", "BHD", "ILS", "SEK", "BYR" ], "type": "object", "properties": { "enabled": { "type": "boolean" }, "enabledCardPresent": { "type": "boolean", "description": "Indicates whether the card-present transaction is activated for the selected currency. If both enabledCardPresent and enabledCardNotPresent are set to null, then enabledCardPresent will have the value of enabled." }, "enabledCardNotPresent": { "type": "boolean", "description": "Indicates whether the card-not-present transaction is activated for the selected currency. If both enabledCardPresent and enabledCardNotPresent are set to null, then enabledCardNotPresent will have the value of enabled." }, "merchantId": { "type": "string", "description": "Merchant ID assigned by an acquirer or a processor. Should not be overridden by any other party." }, "terminalId": { "type": "string", "description": "The 'Terminal Id' aka TID, is an identifier used for with your payments processor.\nDepending on the processor and payment acceptance type this may also be the default Terminal ID used for Card Present and Virtual Terminal transactions.\n" }, "terminalIds": { "type": "array", "items": { "type": "string" }, "description": "Applicable for Prisma (prisma) processor." }, "serviceEnablementNumber": { "type": "string", "description": "Service Establishment Number (a.k.a. SE Number) is a unique ten-digit number assigned by American Express to a merchant that accepts American Express cards.\n10 digit number provided by acquirer currency. This may be unique for each currency, however it depends on the way the processor is set up for the merchant.\n" } } } } } } }, "currencies": { "type": "object", "description": "Three-character [ISO 4217 ALPHA-3 Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)", "additionalProperties": { "x-devcenter-additional-properties": [ "USD", "CAD", "GBP", "EUR", "CHF", "NGN", "ETB", "CUP", "AZN", "RWF", "DOP", "GMD", "BBD", "GTG", "NPR", "SHP", "BZD", "JMP", "PHP", "BRL", "TZS", "BAM", "ISK", "KWD", "RON", "ARS", "SBD", "NOK", "KRW", "TJS", "JOD", "MOP", "CLP", "SOS", "MGA", "LVL", "GIP", "PYG", "SAR", "PGK", "SGD", "ROL", "BSD", "TRY", "CDF", "SYP", "BMD", "MRO", "WST", "GHS", "BTN", "HNL", "MAD", "GAR", "SRD", "BDT", "KGS", "GNF", "CNY", "JPY", "LYD", "TTD", "CVE", "SZL", "ZMW", "KPW", "PEN", "YER", "VEB", "KHR", "VEF", "VUV", "SLL", "AFN", "SCR", "BOB", "COP", "LTL", "EGP", "HUF", "RSD", "AOA", "MYR", "MTL", "CYP", "FKP", "GYD", "PLN", "KMF", "SGD", "IQD", "DKK", "KES", "UZS", "TMM", "NZD", "LKR", "EEK", "SKK", "ANG", "INR", "UYU", "LSL", "TND", "STD", "HTG", "VND", "AED", "MZN", "BND", "KZT", "PKR", "XCD", "RUB", "MKD", "BWP", "AWG", "GEL", "MDL", "HKD", "MVR", "amd", "IRR", "NAD", "MWK", "MNT", "CRC", "XPF", "LAK", "HRK", "ALL", "TOP", "BIF", "MUR", "PAB", "FJD", "CZK", "ZWD", "KYD", "IDR", "BGN", "MXN", "UGX", "MMK", "UAH", "DZD", "XAF", "THB", "OMR", "XOF", "AUD", "ZAR", "LBP", "NIO", "DJF", "LRD", "TWD", "ERN", "BHD", "ILS", "SEK", "BYR" ], "type": "object", "properties": { "enabled": { "type": "boolean" }, "enabledCardPresent": { "type": "boolean", "description": "Indicates whether the card-present transaction is activated for the selected currency. If both enabledCardPresent and enabledCardNotPresent are set to null, then enabledCardPresent will have the value of enabled.\n" }, "enabledCardNotPresent": { "type": "boolean", "description": "Indicates whether the card-present transaction is activated for the selected currency. If both enabledCardPresent and enabledCardNotPresent are set to null, then enabledCardNotPresent will have the value of enabled.\n" }, "merchantId": { "description": "Merchant ID assigned by an acquirer or a processor. Should not be overriden by any other party.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
Barclayscp, cnp, hybridYes111^[0-9a-zA-Z]+$
\n" }, "terminalId": { "description": "The 'Terminal Id' aka TID, is an identifier used for with your payments processor.\nDepending on the processor and payment acceptance type this may also be the default Terminal ID used for Card Present and Virtual Terminal transactions.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
Barclayscp, cnp, hybridYes88^[0-9]+$
\n" }, "terminalIds": { "type": "array", "items": { "type": "string" }, "description": "Applicable for Prisma (prisma) processor." }, "serviceEnablementNumber": { "description": "Service Establishment Number (a.k.a. SE Number) is a unique ten-digit number assigned by American Express to a merchant that accepts American Express cards.\n10 digit number provided by acquirer currency. This may be unique for each currency, however it depends on the way the processor is set up for the merchant.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcp, cnp, hybridYes1010^[0-9]+$
\n" } } } }, "sicCode": { "type": "string", "description": "The Standard Industrial Classification (SIC) are four-digit codes that categorize the industries that companies belong to based on their business activities. Standard Industrial Classification codes were mostly replaced by the six-digit North American Industry Classification System (NAICS). Applicable for VPC and GPX (gpx) processors." }, "allowMultipleBills": { "type": "boolean", "description": "Allows multiple captures for a single authorization transaction.\nApplicable for Paymentech Tampa (paymentechtampa), VPC, American Express Direct (amexdirect) and GPX (gpx) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcp, hybridYesNo
American Express DirectcnpNoNo
\n" }, "allowMerchantDescriptorOverride": { "type": "boolean", "description": "Enables partner to enable/disable merchant descriptors values. Applicable for VPC, EFTPOS and CUP processors." }, "enhancedData": { "type": "string", "description": "To enable airline transactions.\nApplicable for TSYS (tsys), VPC, Elavon Americas (elavonamericas), FDI Global (fdiglobal), GPX (gpx), Barclays (barclays2) and American Express Direct (amexdirect) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n
ProcessorAcceptance TypeRequired
Barclayscnp, cp, hybridNo
American Express Directcp, cnp, hybridNo
\n" }, "fireSafetyIndicator": { "type": "boolean", "description": "Indicates whether the merchant is compliant with Hotel and Motel Fire Safety Act of 1990. Applicable for GPX (gpx) and VPC processors." }, "quasiCash": { "type": "boolean", "description": "To enable quasi-cash transactions. A quasi-cash transaction is a cash-like transaction for the sale of items that are directly convertible to cash, such as:-\nCasino gaming chips,\nMoney orders,\nWire transfers.\n\nApplicable for GPX (gpx), TSYS (tsys), Barclays (barclays2) and VPC processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
Barclayscnp, cp, hybridNoNo
\n" }, "acquirerMerchantId": { "type": "string", "description": "Identifier assigned by the acquirer. Applicable for RUPAY, VPC and Six (six) processors." }, "avsFormat": { "type": "string", "description": "Enables Enhanced AVS/Automated Address Verification Plus (AAV+).\n\nValid values:\n\"basic\" - Standard address verification system.\n When a processor supports AVS for a transaction's card type, the issuing bank uses AVS to confirm that the customer has provided the correct billing address.\n When a customer provides incorrect information, the transaction might be fraudulent.\n\"basic + name\" - Enhanced address verification system.\n Consists of the standard AVS functionality plus verification of some additional fields.\n The additional fields that are verified for Enhanced AVS are:\n - customer_firstname\n - customer_lastname\n\"basic + name + shipto\" - Automated address verification plus.\n Consists of the Enhanced AVS functionality plus verification of some additional fields.\n AAV+ intended for merchants who deliver physical goods to a different address than the billing address.\n AAV+ verifies the additional fields only when the standard and Enhanced AVS tests pass first.\n For information about Enhanced AVS - The additional fields that are verified for AAV+ are:\n - ship_to_firstname\n - ship_to_lastname\n - ship_to_address1\n - ship_to_country\n - ship_to_zip\n - ship_to_phone\n - customer_phone(American Express Direct only)\n\nApplicable for American Express Direct (amexdirect) processor.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcnp, cp, hybridYesbasic
\n" }, "enableLongTransRefNo": { "type": "boolean", "description": "Amex Direct specific merchant config value which determines what length (either 9 or Unique 12-char reference number) of reference number will be CYBS generated if the merchant does not pass in a trans_ref_no.\nCan be any combination of alpha, numeric and special characters, and/or binary data in hexadecimal.\n\nApplicable for American Express Direct (amexdirect) processor.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcp, cnp, hybridNoNo
\n" }, "enableLevel2": { "type": "boolean", "description": "Field that indicates whether merchant will send level 2 data for Amex cards.\nApplicable for American Express Direct (amexdirect) processor.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcp, cnp, hybridNoNo
\n" }, "enableMultipleTransactionAdviceAddendum": { "type": "boolean", "description": "This flag related to multiple transaction advice addendum field. It is used to display descriptive information about a transaction on customer's American Express card statement.\nApplicable for American Express Direct (amexdirect) processor.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcp, cnp, hybridNoNo
\n" }, "amexTransactionAdviceAddendum1": { "type": "string", "description": "Advice addendum field. It is used to display descriptive information about a transaction on customer's American Express card statement.\nApplicable for TSYS (tsys), FDI Global (fdiglobal) and American Express Direct (amexdirect) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridNo140^[0-9a-zA-Z\-\\s.]+$
\n" }, "enableMultiLineItems": { "type": "boolean", "description": "This flag is related to offer/line item details to be included instead of sending one line item, and a grand total. Example, offer0, offer 1...offer n.\nApplicable for American Express Direct (amexdirect) and Elavon Americas (elavonamericas) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcp, cnp, hybridNoNo
\n" }, "enableTransactionReferenceNumber": { "type": "boolean", "description": "To enable merchant to send in transaction reference number (unique reconciliation ID). Applicable for VPC, Vero (vero), FDI Global (fdiglobal), Six (six), CB2A, CUP, VPC, Chase Paymentech Salem (chasepaymentechsalem), Fiserv (fiserv), Elavon Americas (elavonamericas) and EFTPOS processors." }, "enableAutoAuthReversalAfterVoid": { "type": "boolean", "description": "Enables to meet the Visa mandate requirements to reverse unused authorizations, benefitting the customer by releasing the hold on unused credit card funds.\nApplicable for CB2A, Elavon Americas (elavonamericas), Six (six), VPC and American Express Direct (amexdirect) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcp, cnp, hybridNoNo
\n" }, "enableExpresspayPanTranslation": { "type": "boolean", "description": "When this is enabled, authorization responses from American Express expresspay transactions include the Primary Account Number (PAN) and expiration date of the card. Applicable for American Express Direct (amexdirect) processor." }, "enableCreditAuth": { "type": "boolean", "description": "Authorizes a credit. Reduces refund chargebacks and prevents customers from seeing the online update for credits which are otherwise offline settlements." }, "industryCode": { "type": "string", "enum": [ 0, "A", "B", "D", "F", "G", "H", "L", "O", "P", "R" ], "description": "Field used to identify the industry type of the merchant submitting the authorization request.\n\nValid values:\n`0` \u2013 unknown or unsure\n`A` \u2013 auto rental (EMV supported)\n`B` \u2013 bank/financial institution (EMV supported)\n`D` \u2013 direct marketing\n`F` \u2013 food/restaurant (EMV supported)\n`G` \u2013 grocery store/super market (EMV supported)\n`H` \u2013 hotel (EMV supported)\n`L` \u2013 limited amount terminal (EMV supported)\n`O` \u2013 oil company/automated fueling system (EMV supported)\n`P` \u2013 passenger transport (EMV supported)\n`R` \u2013 retail (EMV supported)\nApplicable for TSYS (tsys), RUPAY and Elavon Americas (elavonamericas) processors.\n" }, "sendAmexLevel2Data": { "type": "boolean", "description": "Field that indicates whether merchant will send level 2 data for Amex cards. Applicable for TSYS (tsys) processor." }, "softDescriptorType": { "type": "string", "description": "A soft descriptor is a text, rendered on a cardholder's statement, describing a particular product or service, purchased by the cardholder.\nDescriptors are intended to help the cardholder identify the products or services purchased.\nValid values:\n`1` - trans_ref_no\n`2` - merchant_descriptor\n`3` - trans_ref_no and merchant_descriptor\nApplicable for TSYS (tsys) processor.\n" }, "vitalNumber": { "type": "string", "description": "V-number provided by TSYS info. The leading `V` must be replaced by a `7`. For example, replace `V1234567` with `71234567`. Applicable for TSYS (tsys) processor." }, "bankNumber": { "type": "string", "description": "6 digit agent bank number provided by acquirer. Applicable for TSYS (tsys) processor." }, "chainNumber": { "type": "string", "description": "6 digit chain number provided by acquirer. Applicable for TSYS (tsys) processor." }, "merchantBinNumber": { "type": "string", "description": "6 digits acquirer bank identification number. Applicable for TSYS (tsys) processor." }, "merchantLocationNumber": { "type": "string", "description": "5 digit merchant location number. Unless otherwise specified by merchant's bank or processor, this field should default to 00001. Applicable for TSYS (tsys) processor." }, "storeID": { "type": "string", "description": "4 digits number used to identify a specific merchant store location within the member systems. Applicable for TSYS (tsys) processor." }, "travelAgencyCode": { "type": "string", "description": "Contains travel agency code if airline ticket was issued by a travel agency. Applicable for TSYS (tsys) processor." }, "travelAgencyName": { "type": "string", "description": "Contains travel agency name if airline ticket was issued by travel agency. Applicable for TSYS (tsys) processor." }, "settlementCurrency": { "type": "string", "description": "This field is used to indicate Merchant's settlement currency. [ISO 4217 ALPHA-3 Standard Currency Codes] Applicable for TSYS (tsys) and Streamline (streamline2) processors." }, "enableLeastCostRouting": { "type": "boolean", "description": "Indicates whether Least Cost Routing is enabled. Applicable for EFTPOS and CUP processors." }, "enableCVVResponseIndicator": { "type": "boolean", "description": "This field denotes EFTPOS Merchant's choice of receiving CVV Processing Response in return. Applicable for EFTPOS processors." }, "enableMultiCurrencyProcessing": { "type": "string", "description": "Applicable for Barclays (barclays2) processor.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
Barclayscnp, cp, hybridNoYes
\n" }, "enablePosNetworkSwitching": { "type": "boolean", "description": "'POS Network Switching' or 'Alternate Routing' means merchant can process PIN Debit transactions without a PIN. Set the value to 'Yes' if it is supported. Applicable for FDI Global (fdiglobal) processor." }, "enableDynamicCurrencyConversion": { "type": "boolean", "description": "Enable dynamic currency conversion for a merchant." }, "merchantTier": { "type": "string", "maxLength": 3, "minLength": 3, "pattern": "^[0-9]+$", "description": "Merchant Tier defines the type of merchant, the numeric Merchant Tier value is allocated by EFTPOS. Applicable for EFTPOS processors." } }, "required": [ "merchantId" ] } }, "amexVendorCode": { "type": "string", "description": "Vendor code assigned by American Express. Applicable for TSYS (tsys) processor." }, "defaultAuthTypeCode": { "type": "string", "description": "Authorization Finality indicator. Please note that the input can be in small case or capitals but response is in small case as of now. It will be made capitals everywhere in the next version.\nApplicable for Elavon Americas (elavonamericas), TSYS (tsys), Barclays (barclays2), Streamline (streamline2), Six (six), Barclays HISO (barclayshiso), GPN (gpn), FDI Global (fdiglobal), GPX (gpx), Paymentech Tampa (paymentechtampa), FDC Nashville (smartfdc), VPC and Chase Paymentech Salem (chasepaymentechsalem) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
Barclayscnp, cp, hybridNoFINAL
Barclays HISOcnp, cp, hybridYesFINAL
\n", "enum": [ "PRE", "FINAL", "UNDEFINED" ] }, "masterCardAssignedId": { "type": "string", "description": "MAID aka MasterCard assigned ID, MasterCard equivalent of Merchant Verification Value by Visa. Applicable for VPC, GPX (gpx) and FDI Global (fdiglobal) processors." }, "enablePartialAuth": { "type": "boolean", "description": "Allow merchants to accept partial authorization approvals.\nApplicable for Elavon Americas (elavonamericas), VPC, GPX (gpx), FDI Global (fdiglobal), FDC Nashville (smartfdc), GPN (gpn), TSYS (tsys), American Express Direct (amexdirect), Paymentech Tampa (paymentechtampa) and Chase Paymentech Salem (chasepaymentechsalem) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcnp, cp, hybridNoNo
\n" }, "merchantCategoryCode": { "type": "string", "description": "Indicates type of business product or service of the merchant.\nApplicable for Chase Paymentech Salem (chasepaymentechsalem), FDI Global (fdiglobal), RUPAY, Elavon Americas (elavonamericas), American Express Direct (amexdirect), CMCIC (cmcic), GPX (gpx), VPC, TSYS (tsys), EFTPOS, CUP, Paymentech Tampa (paymentechtampa), CB2A, Barclays (barclays2), Prisma (prisma) and GPN (gpn) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
BarclayscnpNo44^[0-9]+$
American Express Directcnp, cp, hybridYes44^[0-9]+$
\n" }, "sicCode": { "type": "string", "description": "The Standard Industrial Classification (SIC) are four-digit codes that categorize the industries that companies belong to based on their business activities. Standard Industrial Classification codes were mostly replaced by the six-digit North American Industry Classification System (NAICS). Applicable for VPC and GPX (gpx) processors." }, "foodAndConsumerServiceId": { "type": "string", "description": "Food and Consumer Service ID. Identifies the merchant as being certified and approved to accept Food Stamps. Applicable for GPX (gpx) processor." }, "enableSplitShipment": { "type": "boolean", "description": "Enables you to split an order into multiple shipments with multiple captures. This feature is provided by CyberSource and supports three different scenarios:\n\n* multiple authorizations\n* multiple captures\n* multiple authorizations with multiple captures\n\nApplicable for VPC processors.\n" }, "enableInterchangeOptimization": { "type": "boolean", "description": "Reduces your interchange fees by using automatic authorization refresh and automatic partial authorization reversal. Applicable for VPC processors." }, "visaDelegatedAuthenticationId": { "type": "string", "description": "Identifier provided to merchants who opt for Visa's delegated authorization program. Applicable for VPC processors." }, "creditCardRefundLimitPercent": { "type": "string", "description": "Blocks over-refunds when the aggregated refund amount is higher than the percentage set for this field. Applicable for GPX (gpx), VPC and Chase Paymentech Salem (chasepaymentechsalem) processors." }, "businessCenterCreditCardRefundLimitPercent": { "type": "string", "description": "Limits refunds to the percentage set in this field. Applicable for GPX (gpx) and VPC processors." }, "allowCapturesGreaterThanAuthorizations": { "type": "boolean", "description": "Enables this merchant account to capture amounts greater than the authorization amount. Applicable for GPX (gpx), VPC, Paymentech Tampa (paymentechtampa) and Chase Paymentech Salem (chasepaymentechsalem) processors." }, "enableDuplicateMerchantReferenceNumberBlocking": { "type": "boolean", "description": "Helps prevent duplicate transactions. Applicable for VPC, GPX (gpx) and Chase Paymentech Salem (chasepaymentechsalem) processors." }, "domesticMerchantId": { "type": "boolean", "description": "This is a local merchant ID used by merchants in addition to the conventional merchant ID. This value is sent to the issuer. Applicable for VPC and Prisma (prisma) processors." }, "processLevel3Data": { "type": "string", "description": "Indicates whether merchant processes Level 3 transactions.\nApplicable for TSYS (tsys), Barclays (barclays2), Paymentech Tampa (paymentechtampa), FDI Global (fdiglobal), Elavon Americas (elavonamericas) and Chase Paymentech Salem (chasepaymentechsalem) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequired
BarclayscnpNo
\n" }, "subMerchantId": { "type": "string", "description": "The ID assigned to the sub-merchant.\nApplicable for American Express Direct (amexdirect) processor.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridNo120^[0-9a-zA-Z\-\_\,\\s.]+$
\n" }, "subMerchantBusinessName": { "type": "string", "description": "Sub-merchant's business name.\nApplicable for American Express Direct (amexdirect) processor.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridNo137^[0-9a-zA-Z\-\_\,\\s.]+$
\n" }, "preferCobadgedSecondaryBrand": { "type": "boolean", "description": "It denotes merchant's preference on secondary brand for routing in case of co-branded cards. Applicable for EFTPOS processors." }, "merchantDescriptorInformation": { "type": "object", "description": "A merchant descriptor is the line of copy that identifies transactions on a cardholder's account activity and statement. If this information is not populated, the data will be retrieved from OMS.", "properties": { "name": { "type": "string", "description": "Applicable for TSYS (tsys), RUPAY, American Express Direct (amexdirect) and Elavon Americas (elavonamericas) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridYes138^[0-9a-zA-Z\\s]+$
\n" }, "city": { "type": "string", "description": "Applicable for American Express Direct (amexdirect), TSYS (tsys), RUPAY and Elavon Americas (elavonamericas) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridYes121^[0-9a-zA-Z\\s]+$
\n" }, "country": { "type": "string", "description": "Applicable for Six (six), Elavon Americas (elavonamericas), TSYS (tsys) and American Express Direct (amexdirect) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridYes33^[A-Z]+$
\n" }, "phone": { "type": "string", "description": "Applicable for RUPAY, Elavon Americas (elavonamericas), American Express Direct (amexdirect) and TSYS (tsys) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridYes120^[0-9a-zA-Z\\s]+$
\n" }, "state": { "type": "string", "description": "Applicable for RUPAY, TSYS (tsys), Elavon Americas (elavonamericas) and American Express Direct (amexdirect) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridNo13^[A-Z]+$
\n" }, "street": { "type": "string", "description": "Applicable for American Express Direct (amexdirect), TSYS (tsys) and Elavon Americas (elavonamericas) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridYes138^[0-9a-zA-Z\\s]+$
\n" }, "zip": { "type": "string", "description": "Applicable for Elavon Americas (elavonamericas), RUPAY, American Express Direct (amexdirect) and TSYS (tsys) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridYes115^[0-9a-zA-Z\\s]+$
\n" }, "url": { "type": "string", "description": "Applicable for RUPAY and American Express Direct (amexdirect) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, hybridYes140URL
American Express DirectcpNo140URL
\n" } } } } }, "features": { "type": "object", "properties": { "cardNotPresent": { "type": "object", "properties": { "processors": { "type": "object", "description": "e.g.\n* amexdirect\n* barclays2\n* CUP\n* EFTPOS\n* fdiglobal\n* gpx\n* smartfdc\n* tsys\n* vero\n* VPC\n\nFor VPC, CUP and EFTPOS processors, replace the processor name from VPC or CUP or EFTPOS to the actual processor name in the sample request.\ne.g. replace VPC with <your vpc processor>\n", "additionalProperties": { "x-devcenter-additional-properties": [ "amexdirect", "barclays2", "CUP", "EFTPOS", "fdiglobal", "gpx", "smartfdc", "tsys", "VPC" ], "type": "object", "properties": { "relaxAddressVerificationSystem": { "type": "boolean", "description": "Enables you to submit the payment transaction without one or more of the fields for the billTo or card_expiration.\nApplicable for Elavon Americas (elavonamericas), CB2A, Six (six), CMCIC (cmcic), GPX (gpx), GPN (gpn), VPC, Vero (vero), Fiserv (fiserv), American Express Direct (amexdirect), Chase Paymentech Salem (chasepaymentechsalem), RUPAY, FDI Global (fdiglobal) and Barclays HISO (barclayshiso) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
Barclays HISOcp, cnp, hybridNoYes
American Express DirectcnpNoNo
American Express DirectcpNoYes
American Express DirecthybridYesYes
\n" }, "relaxAddressVerificationSystemAllowZipWithoutCountry": { "type": "boolean", "description": "Allows Zip code without country.\nApplicable for American Express Direct (amexdirect), GPX (gpx), VPC, FDI Global (fdiglobal), Elavon Americas (elavonamericas), Chase Paymentech Salem (chasepaymentechsalem), RUPAY, GPN (gpn) and Barclays HISO (barclayshiso) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
Barclays HISOcp, cnp, bothNoYes
American Express Directcp, hybridNoYes
American Express DirectcnpNoNo
\n" }, "relaxAddressVerificationSystemAllowExpiredCard": { "type": "boolean", "description": "Allows transactions that use an expired card.\nApplicable for American Express Direct (amexdirect), GPN (gpn), Barclays HISO (barclayshiso), Elavon Americas (elavonamericas), VPC, FDI Global (fdiglobal), GPX (gpx), RUPAY, Six (six), Chase Paymentech Salem (chasepaymentechsalem) and CB2A processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
Barclays HISOcp, cnp, hybridNoYes
American Express Directcp, hybridNoYes
American Express DirectcnpNoNo
\n" }, "enableEmsTransactionRiskScore": { "type": "boolean", "description": "MasterCard Expert Monitoring Solutions (EMS) provides a predictive, behavior-based fraud score in real time during authorizations for card-not-present (CNP) transactions on cards issued in the U.S. Applicable for GPX (gpx) and VPC processors." }, "prestigiousPropertyIndicator": { "type": "string", "description": "Applicable for VPC processors." }, "payouts": { "type": "object", "properties": { "reimbursementCode": { "type": "string", "description": "Applicable for VPC processors." }, "acquiringInstitutionId": { "type": "string", "description": "This code identifies the financial institution acting as the acquirer of this customer transaction. The acquirer is the member or system user that signed the merchant. This number is usually a Visa-assigned. Applicable for VPC processors." }, "businessApplicationId": { "type": "string", "description": "Transaction type. List of supported identifiers documented in the Developer Guide. Applicable for GPX (gpx) and VPC processors." }, "financialInstitutionId": { "type": "string", "description": "Applicable for GPX (gpx) and VPC processors." }, "merchantAbaNumber": { "type": "string", "description": "Routing Number to identify banks within the United States. Applicable for VPC processors." }, "networkOrder": { "type": "string", "description": "Order of the networks in which Visa should make routing decisions. Applicable for VPC processors." }, "currencies": { "type": "object", "description": "Three-character [ISO 4217 ALPHA-3 Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)", "additionalProperties": { "x-devcenter-additional-properties": [ "USD", "CAD", "GBP", "EUR", "CHF", "NGN", "ETB", "CUP", "AZN", "RWF", "DOP", "GMD", "BBD", "GTG", "NPR", "SHP", "BZD", "JMP", "PHP", "BRL", "TZS", "BAM", "ISK", "KWD", "RON", "ARS", "SBD", "NOK", "KRW", "TJS", "JOD", "MOP", "CLP", "SOS", "MGA", "LVL", "GIP", "PYG", "SAR", "PGK", "SGD", "ROL", "BSD", "TRY", "CDF", "SYP", "BMD", "MRO", "WST", "GHS", "BTN", "HNL", "MAD", "GAR", "SRD", "BDT", "KGS", "GNF", "CNY", "JPY", "LYD", "TTD", "CVE", "SZL", "ZMW", "KPW", "PEN", "YER", "VEB", "KHR", "VEF", "VUV", "SLL", "AFN", "SCR", "BOB", "COP", "LTL", "EGP", "HUF", "RSD", "AOA", "MYR", "MTL", "CYP", "FKP", "GYD", "PLN", "KMF", "SGD", "IQD", "DKK", "KES", "UZS", "TMM", "NZD", "LKR", "EEK", "SKK", "ANG", "INR", "UYU", "LSL", "TND", "STD", "HTG", "VND", "AED", "MZN", "BND", "KZT", "PKR", "XCD", "RUB", "MKD", "BWP", "AWG", "GEL", "MDL", "HKD", "MVR", "amd", "IRR", "NAD", "MWK", "MNT", "CRC", "XPF", "LAK", "HRK", "ALL", "TOP", "BIF", "MUR", "PAB", "FJD", "CZK", "ZWD", "KYD", "IDR", "BGN", "MXN", "UGX", "MMK", "UAH", "DZD", "XAF", "THB", "OMR", "XOF", "AUD", "ZAR", "LBP", "NIO", "DJF", "LRD", "TWD", "ERN", "BHD", "ILS", "SEK", "BYR" ], "type": "object", "properties": { "enabled": { "type": "boolean" }, "enabledCardPresent": { "type": "boolean", "description": "Indicates whether the card-present transaction is activated for the selected currency. If both enabledCardPresent and enabledCardNotPresent are set to null, then enabledCardPresent will have the value of enabled.\n" }, "enabledCardNotPresent": { "type": "boolean", "description": "Indicates whether the card-present transaction is activated for the selected currency. If both enabledCardPresent and enabledCardNotPresent are set to null, then enabledCardNotPresent will have the value of enabled.\n" }, "merchantId": { "type": "string", "description": "Merchant ID assigned by an acquirer or a processor. Should not be overriden by any other party." }, "terminalId": { "type": "string", "description": "The 'Terminal Id' aka TID, is an identifier used for with your payments processor.\nDepending on the processor and payment acceptance type this may also be the default Terminal ID used for Card Present and Virtual Terminal transactions.\n" }, "terminalIds": { "type": "array", "items": { "type": "string" }, "description": "Applicable for Prisma (prisma) processor." }, "serviceEnablementNumber": { "type": "string", "description": "Service Establishment Number (a.k.a. SE Number) is a unique ten-digit number assigned by American Express to a merchant that accepts American Express cards.\n10 digit number provided by acquirer currency. This may be unique for each currency, however it depends on the way the processor is set up for the merchant.\n" } } }, "example": { "USD": { "enabled": true, "enabledCardPresent": false, "enabledCardNotPresent": true, "merchantId": "merchantId", "terminalIds": [ "12345678", "12345678" ], "serviceEnablementNumber": "serviceEnablementNumber" } } }, "merchantId": { "type": "string", "description": "Merchant ID assigned by an acquirer or a processor. Should not be overridden by any other party.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
Barclayscnp, hybridNo111^[0-9]+$
\n" }, "terminalId": { "type": "string", "description": "The 'Terminal Id' aka TID, is an identifier used for with your payments processor.\nDepending on the processor and payment acceptance type this may also be the default Terminal ID used for Card Present and Virtual Terminal transactions.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
Barclayscnp, hybridNo1255^[0-9:\-]+$
\n" } } } } } }, "ignoreAddressVerificationSystem": { "type": "boolean", "description": "Flag for a sale request that indicates whether to allow the capture service to run even when the authorization receives an AVS decline. Applicable for VPC, FDI Global (fdiglobal), GPX (gpx) and GPN (gpn) processors." }, "visaStraightThroughProcessingOnly": { "type": "boolean", "description": "Indicates if a merchant is enabled for Straight Through Processing - B2B invoice payments. Applicable for FDI Global (fdiglobal), TSYS (tsys), VPC and GPX (gpx) processors." }, "amexTransactionAdviceAddendum1": { "type": "string", "description": "Advice addendum field. It is used to display descriptive information about a transaction on customer's American Express card statement. Applicable for TSYS (tsys), FDI Global (fdiglobal) and American Express Direct (amexdirect) processors." }, "installment": { "type": "object", "properties": { "enableInstallment": { "type": "boolean", "description": "This flag is to enable for installment plan programs.\nApplicable for Fiserv (fiserv), Vero (vero) and American Express Direct (amexdirect) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express DirectcnpNoNo
\n" }, "installmentPlan": { "type": "string", "description": "This indicates the type of funding for the installment plan associated with the payment.\n\nValid values:\n\"merchant\" - Merchant-funded installment plan\n\"issuer\" - Issuer-funded installment plan\n\nApplicable for Fiserv (fiserv), American Express Direct (amexdirect) and Vero (vero) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequired
American Express DirectcnpNo
\n" } } } } }, "cardPresent": { "type": "object", "properties": { "processors": { "type": "object", "description": "e.g.\n* amexdirect\n* barclays2\n* CUP\n* EFTPOS\n* fdiglobal\n* gpx\n* smartfdc\n* tsys\n* vero\n* VPC\n\nFor VPC, CUP and EFTPOS processors, replace the processor name from VPC or CUP or EFTPOS to the actual processor name in the sample request.\ne.g. replace VPC with <your vpc processor>\n", "additionalProperties": { "x-devcenter-additional-properties": [ "amexdirect", "barclays2", "CUP", "EFTPOS", "fdiglobal", "gpx", "smartfdc", "tsys", "VPC" ], "type": "object", "properties": { "defaultPointOfSaleTerminalId": { "type": "string", "description": "Default Terminal ID used for Card Present and Virtual Terminal transactions.\nApplicable for VPC, GPX (gpx), American Express Direct (amexdirect) and Chase Paymentech Salem (chasepaymentechsalem) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegexDefault Value
American Express DirectcpYes48^[0-9a-zA-Z]+$1111
\n" }, "pointOfSaleTerminalIds": { "type": "array", "items": { "type": "string", "format": "csv" }, "description": "For retail transactions, if merchant chooses to send the terminal id in the API, then that value has to be validated before being used. Holds a comma separated list of all possible terminal ids that the merchant is likely to send. Applicable for VPC processors." }, "disablePointOfSaleTerminalIdValidation": { "type": "boolean", "description": "Disables terminal ID validation. Applicable for VPC processors." }, "pinDebitNetworkOrder": { "type": "string", "description": "Order of the networks in which Visa should make routing decisions. Applicable for GPX (gpx) and VPC processors." }, "pinDebitReimbursementCode": { "type": "string", "description": "This attribute requests VIP to qualify a given PIN Debit transaction for a certain type of interchange program. Y = SMS supermarket, Z = SMS general merchant. Applicable for GPX (gpx) and VPC processors." }, "financialInstitutionId": { "type": "string", "description": "Acquirer Institution ID for the PIN Debit Transactions. Applicable for GPX (gpx) and VPC processors." }, "enablePinTranslation": { "type": "boolean", "description": "Enables CyberSource PIN Translation for Online PIN Transactions. Please ensure you have exchanged PIN keys with CyberSource to use this feature. Applicable for VPC processors." } } } }, "enableTerminalIdLookup": { "type": "boolean", "description": "Used for Card Present and Virtual Terminal Transactions for Terminal ID lookup. Applicable for GPX (gpx) processor." } } } } } } } } } } }, "cardPresentConnect": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "NOT_SELF_SERVICEABLE" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." } } }, "configurationInformation": { "type": "object", "properties": { "templateId": { "type": "string", "format": "uuid" }, "configurations": { "type": "object", "properties": { "partnerSolutionIdentifier": { "type": "string", "description": "Solution identifier used to associate a partner organization with the Merchant that is on-boarded." } } } } } } }, "cybsReadyTerminal": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "NOT_SELF_SERVICEABLE" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." } } } } }, "eCheck": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." }, "mode": { "type": "array", "items": { "type": "string" }, "description": "Indicates what mode the product is expected to behave at boarding and transaction flows. Ex, Acquirer/Gateway/Other." } } }, "configurationInformation": { "type": "object", "properties": { "templateId": { "type": "string", "format": "uuid" }, "configurations": { "type": "object", "title": "ECheckConfig", "properties": { "common": { "type": "object", "properties": { "processors": { "type": "object", "additionalProperties": { "type": "object", "description": "Payment Processing connection used to support eCheck, aka ACH, payment methods. Example - \"bofaach\"", "properties": { "companyEntryDescription": { "type": "string", "maxLength": 10, "description": "*EXISTING* Company (merchant) defined description of entry to receive. For e.g. PAYROLL, GAS BILL, INS PREM. This field is alphanumeric" }, "companyId": { "type": "string", "maxLength": 10, "description": "*EXISTING* company ID assigned to merchant by Acquiring bank. This field is alphanumeric" }, "batchGroup": { "type": "string", "description": "*EXISTING* Capture requests are grouped into a batch bound for your payment processor. The batch time can be identified by reading the last 2-digits as military time. E.g., _16 = your processing cutoff is 4PM PST. Please note if you are in a different location you may then need to convert time zone as well." }, "enableAccuityForAvs": { "type": "boolean", "default": true, "description": "*NEW* Accuity is the original validation service that checks the account/routing number for formatting issues. Used by WF and set to \"Yes\" unless told otherwise" }, "accuityCheckType": { "enum": [ "ALWAYS" ], "default": "ALWAYS", "description": "*NEW*" }, "setCompletedState": { "type": "boolean", "default": false, "description": "*Moved* When set to Yes we will automatically update transactions to a completed status X-number of days after the transaction comes through; if no failure notification is received. When set to No means we will not update transaction status in this manner. For BAMS/Bank of America merchants, they should be set to No unless we are explicitly asked to set a merchant to YES." } }, "required": [ "companyEntryDescription" ] } }, "internalOnly": { "type": "object", "properties": { "displayEcheckInfo": { "type": "boolean", "default": true, "description": "*NEW* Used by EBC UI always set to true" }, "processors": { "type": "object", "description": "*NEW* Payment Processing connection used to support eCheck, aka ACH, payment methods.\nExample\n* \"bofaach\"\n* \"wellsfargoach\"\n", "additionalProperties": { "x-devcenter-additional-properties": [ "bofaach", "wellsfargoach" ], "type": "object", "description": "Name of the payment processor. Example - \"wellsfargoach\"", "properties": { "enableCCS": { "type": "boolean", "description": "*NEW* Flag to indicate whether the processor is migrated to the Common Connectivity Services Platform.\nApplicable for VPC and amexdirect processors.\n" }, "terminalId": { "type": "string", "description": "*NEW* The 'Terminal Id' aka TID, is an identifier used for with your payments processor.\nDepending on the processor and payment acceptance type this may also be the default Terminal ID used for Card Present and Virtual Terminal transactions.\nApplicable for VPC processors.\n" }, "enable15anTransactionReferenceNumber": { "type": "boolean", "default": true, "description": "*NEW* This ensures the transaction reference # contains an identifier that can be viewed in CYBS" }, "portalSupportedPaytypes": { "type": "string", "default": "CHECK", "description": "*NEW* This is used by the EBC2 application" }, "settlementMethod": { "enum": [ "BEST_GUESS" ], "default": "BEST_GUESS", "description": "*NEW*" }, "verificationLevel": { "enum": [ "VALIDATION" ], "default": "VALIDATION", "description": "*NEW*" }, "setCompletedState": { "type": "boolean", "default": false, "description": "*Moved* When set to Yes we will automatically update transactions to a completed status X-number of days after the transaction comes through; if no failure notification is received. When set to No means we will not update transaction status in this manner. For BAMS/Bank of America merchants, they should be set to No unless we are explicitly asked to set a merchant to YES." } } } } } }, "accountHolderName": { "type": "string", "maxLength": 22, "description": "Mandatory \nName on Merchant's Bank Account\nOnly ASCII (Hex 20 to Hex 7E)\n" }, "accountType": { "type": "string", "description": "Mandatory \nType of account for Merchant's Bank Account\nPossible values:\n- checking\n- savings\n- corporatechecking\n- corporatesavings\n" }, "accountRoutingNumber": { "type": "string", "maxLength": 9, "description": "Mandatory \nRouting number for Merchant's Bank Account\nUS Account Routing Number\n" }, "accountNumber": { "type": "string", "maxLength": 17, "description": "Mandatory \nAccount number for Merchant's Bank Account\n" } }, "required": [ "accountHolderName", "accountType", "accountRoutingNumber", "accountNumber" ] }, "underwriting": { "type": "object", "properties": { "standardEntryClassCodes": { "type": "string", "default": "CCD,PPD,TEL,WEB", "description": "Mandatory \nFree-text (csv) \nPossible values (combination):\n\nCCD \u2014 Cash Concentration or Disbursement, or CCD, is a charge or refund against a business checking account. One-time or recurring CCD transactions are fund transfers to or from a corporate entity. A standing authorization is required for recurring transactions.\nPPD \u2014 Prearranged Payment and Deposit Entry, or PPD, is a charge or refund against a customer's checking or savings account. PPD entries can only be originated when payment and deposit terms between the merchant and the customer are prearranged. A written authorization from the customer is required for one-time transactions and a written standing authorization is required for recurring transactions.\nTEL \u2014 Telephone-Initiated Entry, or TEL, is a one-time charge against a customer's checking or savings account. TEL transactions can only be originated when a business relationship between the merchant and the customer already exists; or if a relationship does not exist, then only when the customer initiates the telephone call to the merchant. Payment authorization is obtained from the customer by telephone.\nWEB \u2014 Internet-Initiated Entry or WEB is a charge against a customer's checking or savings account. One-time or recurring WEB transactions are originated through the Internet. Payment authorization is also obtained from the customer through the Internet.\n" }, "enableHold": { "type": "boolean", "default": true, "description": "Mandatory \nDetermines whether CYBS has placed the merchant on a funding hold\nThis will often be set to True for new merchants until the risk team has completed additional verification of their first transaction. It will be switched to \"false\" once underwriting review is completed and we are ready to start funding the merchant.\n" }, "monthlyTotalTransactionAmountLimit": { "type": "number", "format": "currency", "description": "Mandatory \nMonthly Maximum total Transaction Amount\n12 digit including decimal\n" }, "holdingDays": { "type": "number", "format": "integer", "default": 7, "description": "Mandatory \nFunds Hold Days (Number of days funds will be held before it will be deposited into merchant account)\n3 digits\n" }, "enableCredits": { "type": "boolean", "description": "Optional \nAllow Credits (True/False)\n" }, "transactionAmountLimit": { "type": "number", "format": "currency", "description": "Mandatory \nMaximum total Transaction Amount\nThis is a per transaction limit. For example, the merchant is limited to processing transactions under $100\n12 digits (including decimal - USD only)\n" }, "riskReserveMethod": { "type": "string", "description": "Mandatory\nReserve Method \nPossible value:\n- fixed\n- none\nMost merchants do not have a reserve attached to their account so the default value would be \"none.\" \n\nFor a Fixed Reserve, the reserve balance is established by either, (1) a receipt of a lump\nsum deposit from a merchant, or (2) withholding funds at a Reserve Rate established for\nthe account from each batch settlement until the reserve balance is equal to a set\nReserve Target. A Fixed Reserve may also be established by a combination of lump\nsum deposit and withholding of settlement funds.\n\nA Rolling Reserve balance is established by withholding from a merchant's available\nsettlement funds at a Reserve Rate (percentage) and no Reserve Target is specified.\nRather, each amount withheld is retained for a specified number of Reserve Holding\nDays and then released back to the merchant.\n" }, "riskReserveRate": { "type": "number", "format": "decimal", "description": "Mandatory \nReserve Rate (% of TPV)=> Relevant for Rolling Reserve and Fixed Reserve\nThe percentage rate at which risk funds are withheld from each\neCheck.Net batch settlement.\n" }, "riskReserveTargetAmount": { "type": "number", "format": "currency", "description": "Mandatory \nReserve Target (fixed $ amount)=> Relevant for Fixed Reserve ONLY\n\nThe maximum dollar amount that can be held in Risk Reserve for a\nfixed reserve. Once risk withholdings reach the Reserve Target established for the\neCheck.Net account, a portion of available funds will be deposited to the merchant's\nbank account\n12 digit including decimal\n" }, "solutionOrganizationId": { "type": "string", "description": "Solution organization id" } }, "required": [ "standardEntryClassCodes", "enableHold", "monthlyTotalTransactionAmountLimit", "holdingDays", "transactionAmountLimit", "riskReserveMethod", "riskReserveRate", "riskReserveTargetAmount" ] }, "features": { "type": "object", "properties": { "accountValidationService": { "type": "object", "properties": { "internalOnly": { "type": "object", "properties": { "processors": { "type": "object", "description": "*NEW* Payment Processing connection used to support eCheck, aka ACH, payment methods.\nExample\n* \"bofaach\"\n* \"wellsfargoach\"\n", "additionalProperties": { "x-devcenter-additional-properties": [ "bofaach", "wellsfargoach" ], "type": "object", "description": "Name of the payment processor. Example - \"wellsfargoach\"", "properties": { "avsVersion": { "enum": [ "2" ], "default": "2", "description": "*NEW*" } } } } } }, "processors": { "type": "object", "description": "*NEW* Payment Processing connection used to support eCheck, aka ACH, payment methods.\nExample\n* \"bofaach\"\n* \"wellsfargoach\"\n", "additionalProperties": { "type": "object", "description": "*NEW* Name of the payment processor. Example - \"wellsfargoach\"", "properties": { "avsAccountOwnershipService": { "type": "boolean", "description": "*NEW* Determined in WF eTicket if account has opted into the Account Ownership Service." }, "avsAccountStatusService": { "type": "boolean", "description": "*NEW* Determined in WF eTicket if account has opted into the Account Status Service." }, "avsSignedAgreement": { "type": "boolean", "description": "*NEW* Taken from Addendum Agreement Column in boarding form." }, "avsCalculatedResponseBehavior": { "enum": [ "continue" ], "default": "continue", "description": "*NEW*" }, "avsAdditionalId": { "type": "string", "description": "*NEW* Also known as the Additional ID. Taken from the boarding form." }, "enableAvs": { "type": "boolean", "default": true, "description": "*NEW*" }, "avsEntityId": { "type": "string", "description": "*NEW* Also known as the AVS Gateway Entity ID." }, "avsResultMode": { "enum": [ "FULL_RESPONSE", "LOGIC_BOX" ], "description": "*NEW*" }, "enableAvsTokenCreation": { "type": "boolean", "default": false, "description": "*NEW* Applicable if the merchant wants to run AVS on token creation requests only." } } } } } } } } } } } } } }, "payerAuthentication": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." } } }, "configurationInformation": { "type": "object", "properties": { "templateId": { "type": "string", "format": "uuid" }, "configurations": { "type": "object", "title": "PayerAuthConfig", "properties": { "cardTypes": { "type": "object", "properties": { "verifiedByVisa": { "type": "object", "properties": { "enabled": { "type": "boolean", "default": true }, "currencies": { "type": "array", "items": { "type": "object", "properties": { "currencyCodes": { "type": "array", "items": { "type": "string", "example": "ALL" } }, "acquirerId": { "type": "string", "minLength": 6, "maxLength": 20, "pattern": "^[a-zA-Z0-9]{6,20}$", "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" }, "processorMerchantId": { "type": "string", "minLength": 6, "maxLength": 35, "pattern": "^[a-zA-Z0-9]{6,35}$", "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" } } } } } }, "masterCardSecureCode": { "type": "object", "properties": { "enabled": { "type": "boolean", "default": true }, "currencies": { "type": "array", "items": { "type": "object", "properties": { "currencyCodes": { "type": "array", "items": { "type": "string", "example": "ALL" } }, "acquirerId": { "type": "string", "minLength": 6, "maxLength": 20, "pattern": "^[a-zA-Z0-9]{6,20}$", "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" }, "processorMerchantId": { "type": "string", "minLength": 6, "maxLength": 35, "pattern": "^[a-zA-Z0-9]{6,35}$", "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" } } } } } }, "amexSafeKey": { "type": "object", "properties": { "enabled": { "type": "boolean", "default": true }, "currencies": { "type": "array", "items": { "type": "object", "properties": { "currencyCodes": { "type": "array", "items": { "type": "string", "example": "ALL" } }, "acquirerId": { "type": "string", "minLength": 6, "maxLength": 20, "pattern": "^[a-zA-Z0-9]{6,20}$", "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" }, "processorMerchantId": { "type": "string", "minLength": 6, "maxLength": 35, "pattern": "^[a-zA-Z0-9]{6,35}$", "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" } } } } } }, "jCBJSecure": { "type": "object", "properties": { "securePasswordForJCB": { "type": "string", "minLength": 8, "maxLength": 8, "description": "JSecure currency password for Japan Credit Bureau" }, "enabled": { "type": "boolean", "default": true }, "currencies": { "type": "array", "items": { "type": "object", "properties": { "currencyCodes": { "type": "array", "items": { "type": "string", "example": "ALL" } }, "acquirerId": { "type": "string", "minLength": 6, "maxLength": 20, "pattern": "^[a-zA-Z0-9]{6,20}$", "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" }, "processorMerchantId": { "type": "string", "minLength": 6, "maxLength": 35, "pattern": "^[a-zA-Z0-9]{6,35}$", "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" } } } } } }, "dinersClubInternationalProtectBuy": { "type": "object", "properties": { "enabled": { "type": "boolean", "default": true }, "currencies": { "type": "array", "items": { "type": "object", "properties": { "currencyCodes": { "type": "array", "items": { "type": "string", "example": "ALL" } }, "acquirerId": { "type": "string", "minLength": 6, "maxLength": 20, "pattern": "^[a-zA-Z0-9]{6,20}$", "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" }, "processorMerchantId": { "type": "string", "minLength": 6, "maxLength": 35, "pattern": "^[a-zA-Z0-9]{6,35}$", "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" } } } } } }, "ELO": { "type": "object", "properties": { "enabled": { "type": "boolean", "default": true }, "currencies": { "type": "array", "items": { "type": "object", "properties": { "currencyCodes": { "type": "array", "items": { "type": "string", "example": "ALL" } }, "acquirerId": { "type": "string", "minLength": 6, "maxLength": 20, "pattern": "^[a-zA-Z0-9]{6,20}$", "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" }, "processorMerchantId": { "type": "string", "minLength": 6, "maxLength": 35, "pattern": "^[a-zA-Z0-9]{6,35}$", "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" } } } } } }, "UPI": { "type": "object", "properties": { "enabled": { "type": "boolean", "default": true }, "currencies": { "type": "array", "items": { "type": "object", "properties": { "currencyCodes": { "type": "array", "items": { "type": "string", "example": "ALL" } }, "acquirerId": { "type": "string", "minLength": 6, "maxLength": 20, "pattern": "^[a-zA-Z0-9]{6,20}$", "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" }, "processorMerchantId": { "type": "string", "minLength": 6, "maxLength": 35, "pattern": "^[a-zA-Z0-9]{6,35}$", "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" } } } } } }, "CB": { "type": "object", "properties": { "requestorId": { "type": "string", "minLength": 14, "maxLength": 14, "description": "The value is for 3DS2.0 and is a Directory Server assigned 3DS Requestor ID value. If this field is passed in request, it will override Requestor Id value that is configured on the Merchant's profile." }, "enabled": { "type": "boolean", "default": true }, "currencies": { "type": "array", "items": { "type": "object", "properties": { "currencyCodes": { "type": "array", "items": { "type": "string", "example": "ALL" } }, "acquirerId": { "type": "string", "minLength": 6, "maxLength": 20, "pattern": "^[a-zA-Z0-9]{6,20}$", "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" }, "processorMerchantId": { "type": "string", "minLength": 6, "maxLength": 35, "pattern": "^[a-zA-Z0-9]{6,35}$", "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" } } } } } } } } } } } } } }, "digitalPayments": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." }, "features": { "type": "object", "description": "Allowed values are;\n\n \n \n \n \n \n \n \n \n \n \n \n \n
visaCheckout
applePay
samsungPay
googlePay
\n", "additionalProperties": { "x-devcenter-additional-properties": [ "visaCheckout", "applePay", "samsungPay", "googlePay" ], "type": "object", "properties": { "enabled": { "type": "boolean" } } } } } } } }, "secureAcceptance": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." } } }, "configurationInformation": { "type": "object", "properties": { "templateId": { "type": "string", "format": "uuid" }, "configurations": { "type": "object", "title": "SAConfig", "properties": { "parentProfileId": { "type": "string", "description": "You can group Secure Acceptance profiles under parent profiles. By changing the parent profile, you can update all profiles underneath that parent. Specify the Parent Profile ID here." }, "contactInformation": { "type": "object", "description": "Optional contact information to be associated with the Secure Acceptance profile - for example the developer of the integration to the Hosted Checkout.", "properties": { "phone": { "type": "string" }, "companyName": { "type": "string" }, "email": { "type": "string" }, "name": { "type": "string" } } }, "notifications": { "type": "object", "properties": { "merchantNotifications": { "type": "object", "properties": { "backofficePostEnabled": { "type": "boolean", "description": "Enables Webhook transaction confirmation messages sent to URL defined in backofficePostUrl. Usually enabled by web developers integrating to Secure Acceptance." }, "backofficeEmailAddress": { "type": "string", "description": "Email address to receive transaction confirmation messages." }, "backofficeEmailEnabled": { "type": "boolean", "description": "Enables email transaction confirmation messages, sent to the address specified in backofficeEmailAddress." }, "backofficePostUrl": { "type": "string", "description": "Webhook URL to which transaction confirmation is sent. Usually completed by the web developers integrating to Secure Acceptance." }, "cardNumberFormat": { "type": "string", "description": "Format in which the card number should be masked in the notifications. \n\nValid values:\n`1` - Display first 6 digits only (e.g. \"444433**********\")\n\n`2` - Display last four digits only (e.g. \"************1111\")\n\n`3` - Display First six and last four digits (e.g. \"444433******1111\")\n" } } }, "customerNotifications": { "type": "object", "description": "Features relating to notifications being sent directly to the payer using the Hosted Checkout.", "properties": { "customReceiptPageEnabled": { "type": "boolean", "description": "Toggles the custom receipt page, where merchants can receive the results of the transaction and display appropriate messaging. Usually set by web developers integrating to Secure Acceptance." }, "receiptEmailAddress": { "type": "string", "description": "Email address where a copy of the payer's receipt email is sent, when notificationReceiptEmailEnabled is true." }, "customerReceiptEmailEnabled": { "type": "boolean", "description": "Toggles an email receipt sent to the payer's email address on payment success." }, "customCancelPage": { "type": "string", "description": "URL to which transaction results are POSTed when the payer clicks 'Cancel' on the Hosted Checkout. Triggered when customCancelPageEnabled is true. Usually set by web developers integrating to Secure Acceptance." }, "customReceiptPage": { "type": "string", "description": "URL to which transaction results are POSTed when the payer requests a payment on the Hosted Checkout. Triggered when customCancelPageEnabled is true. Usually set by web developers integrating to Secure Acceptance." }, "customCancelPageEnabled": { "type": "boolean", "description": "Toggles the custom cancel page, where merchants can receive notice that the payer has canceled, and display appropriate messaging and direction. Usually set by web developers integrating to Secure Acceptance." }, "notificationReceiptEmailEnabled": { "type": "boolean", "description": "Toggles whether merchant receives a copy of the payer's receipt email." } } } } }, "service": { "type": "object", "properties": { "decisionManagerVerboseEnabled": { "type": "boolean", "description": "Toggles whether verbose Decision Manager results should be present in the Secure Acceptance response. As this response passes through the browser, it is recommended to set this to \"false\" outside of debugging." }, "declinedRetryLimit": { "type": "number", "description": "Defines the number of retries a payer is presented with on payment declines on Hosted Checkout. Valid values are between 0 and 5." }, "decisionManagerEnabled": { "type": "boolean", "description": "Toggles whether Decision Manager is enabled or not for Secure Acceptance transactions. Requires the transacting MID to be enabled and configured for Decicion Manager." }, "tokenizationEnabled": { "type": "boolean", "description": "Toggles whether Tokenization is enabled or not for Secure Acceptance transactions. Requires the transacting MID to be enabled and configured for Tokenization." }, "reverseAuthOnAddressVerificationSystemFailure": { "type": "boolean", "description": "Toggles whether or not an approved Authorization that fails AVS should be automatically reversed." }, "deviceFingerprintEnabled": { "type": "boolean", "description": "Toggles whether or not fraud Device Fingerprinting is enabled on the Hosted Checkout. This simplifies enablement for Decision Manager." }, "reverseAuthOnCardVerificationNumberFailure": { "type": "boolean", "description": "Toggles whether or not an approved Authorization that fails CVN check that should be automatically reversed." } } }, "paymentMethods": { "type": "object", "properties": { "enabledPaymentMethods": { "type": "array", "items": { "type": "string", "enum": [ "CARD", "ECHECK", "VISACHECKOUT", "PAYPAL" ] } } } }, "checkout": { "type": "object", "properties": { "displayTaxAmount": { "type": "boolean", "description": "Toggles whether or not the tax amount is displayed on the Hosted Checkout." }, "templateType": { "type": "string", "description": "Specifies whether the Hosted Checkout is displayed as a single page form or multi page checkout. \n\nValid values: \n`multi` \n`single`\n" }, "returnToMerchantSiteUrl": { "type": "string", "description": "URL of the website linked to from the Secure Acceptance receipt page. Only used if the profile does not have custom receipt pages configured." } } }, "paymentTypes": { "type": "object", "description": "Object containing Payment Types supported", "properties": { "cardTypes": { "type": "object", "properties": { "discover": { "type": "object", "description": "Object containing supported Card Types and settings", "properties": { "cardVerificationNumberSupported": { "type": "boolean", "description": "Dictates whether or Card Verification Number is supported by the card type. Usually this is set at system level." }, "cardVerificationNumberDisplay": { "type": "boolean", "description": "Toggles whether or Card Verification Number is displayed on the Hosted Checkout." }, "payerAuthenticationSupported": { "type": "boolean", "description": "Dictates whether or Payer Authentication is supported by the card type. Usually this is set at system level." }, "supportedCurrencies": { "type": "array", "description": "Array of the supported ISO 4217 alphabetic currency codes.", "items": { "type": "string" } }, "method": { "type": "string" }, "cardVerificationNumberRequired": { "type": "boolean" }, "payerAuthenticationEnabled": { "type": "boolean" } } }, "amex": { "type": "object", "description": "Object containing supported Card Types and settings", "properties": { "cardVerificationNumberSupported": { "type": "boolean", "description": "Dictates whether or Card Verification Number is supported by the card type. Usually this is set at system level." }, "cardVerificationNumberDisplay": { "type": "boolean", "description": "Toggles whether or Card Verification Number is displayed on the Hosted Checkout." }, "payerAuthenticationSupported": { "type": "boolean", "description": "Dictates whether or Payer Authentication is supported by the card type. Usually this is set at system level." }, "supportedCurrencies": { "type": "array", "description": "Array of the supported ISO 4217 alphabetic currency codes.", "items": { "type": "string" } }, "method": { "type": "string" }, "cardVerificationNumberRequired": { "type": "boolean" }, "payerAuthenticationEnabled": { "type": "boolean" } } }, "masterCard": { "type": "object", "description": "Object containing supported Card Types and settings", "properties": { "cardVerificationNumberSupported": { "type": "boolean", "description": "Dictates whether or Card Verification Number is supported by the card type. Usually this is set at system level." }, "cardVerificationNumberDisplay": { "type": "boolean", "description": "Toggles whether or Card Verification Number is displayed on the Hosted Checkout." }, "payerAuthenticationSupported": { "type": "boolean", "description": "Dictates whether or Payer Authentication is supported by the card type. Usually this is set at system level." }, "supportedCurrencies": { "type": "array", "description": "Array of the supported ISO 4217 alphabetic currency codes.", "items": { "type": "string" } }, "method": { "type": "string" }, "cardVerificationNumberRequired": { "type": "boolean" }, "payerAuthenticationEnabled": { "type": "boolean" } } }, "visa": { "type": "object", "description": "Object containing supported Card Types and settings", "properties": { "cardVerificationNumberSupported": { "type": "boolean", "description": "Dictates whether or Card Verification Number is supported by the card type. Usually this is set at system level." }, "cardVerificationNumberDisplay": { "type": "boolean", "description": "Toggles whether or Card Verification Number is displayed on the Hosted Checkout." }, "payerAuthenticationSupported": { "type": "boolean", "description": "Dictates whether or Payer Authentication is supported by the card type. Usually this is set at system level." }, "supportedCurrencies": { "type": "array", "description": "Array of the supported ISO 4217 alphabetic currency codes.", "items": { "type": "string" } }, "method": { "type": "string" }, "cardVerificationNumberRequired": { "type": "boolean" }, "payerAuthenticationEnabled": { "type": "boolean" } } } } } } } } } } } } }, "virtualTerminal": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." } } }, "configurationInformation": { "type": "object", "properties": { "templateId": { "type": "string", "format": "uuid" }, "configurations": { "type": "object", "title": "VTConfig", "properties": { "cardNotPresent": { "type": "object", "properties": { "globalPaymentInformation": { "type": "object", "properties": { "basicInformation": { "type": "object", "properties": { "defaultStandardEntryClassCode": { "type": "string" }, "defaultCountryCode": { "type": "string", "description": "ISO 4217 format" }, "defaultCurrencyCode": { "type": "string", "description": "Three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)" }, "defaultTransactionType": { "type": "string", "enum": [ "AUTHORIZATION", "SALE" ] }, "defaultPaymentType": { "type": "string", "enum": [ "CREDIT_CARD", "ECHECK" ] }, "defaultTransactionSource": { "type": "string" }, "displayRetail": { "type": "boolean" }, "displayMoto": { "type": "boolean" }, "displayInternet": { "type": "boolean" } } }, "paymentInformation": { "type": "object", "properties": { "displayCardVerificationValue": { "type": "array", "items": { "type": "string", "enum": [ "VISA", "MASTER_CARD", "AMEX", "DISCOVER", "DINERS_CLUB", "CARTE_BLANCHE", "JCB", "ENROUTE", "JAL", "SWITCH_SOLO", "DELTA", "VISA_ELECTRON", "DANKORT", "LASER", "CARTE_SBANCAIRES", "CARTASI", "MAESTRO_INTERNATIONAL", "GE_MONEY_UK_CARD", "HIPER_CARD", "ELO" ] } }, "requireCardVerificationValue": { "type": "array", "items": { "type": "string", "enum": [ "VISA", "MASTER_CARD", "AMEX", "DISCOVER", "DINERS_CLUB", "CARTE_BLANCHE", "JCB", "ENROUTE", "JAL", "SWITCH_SOLO", "DELTA", "VISA_ELECTRON", "DANKORT", "LASER", "CARTE_SBANCAIRES", "CARTASI", "MAESTRO_INTERNATIONAL", "GE_MONEY_UK_CARD", "HIPER_CARD", "ELO" ] } }, "acceptedCardTypes": { "type": "array", "items": { "type": "string", "enum": [ "VISA", "MASTER_CARD", "AMEX", "DISCOVER", "DINERS_CLUB", "CARTE_BLANCHE", "JCB", "ENROUTE", "JAL", "SWITCH_SOLO", "DELTA", "VISA_ELECTRON", "DANKORT", "LASER", "CARTE_SBANCAIRES", "CARTASI", "MAESTRO_INTERNATIONAL", "GE_MONEY_UK_CARD", "HIPER_CARD", "ELO" ] } }, "displayCreditCards": { "type": "boolean" }, "displayEchecks": { "type": "boolean" }, "displayDebtIndicator": { "type": "boolean" }, "displayBillPayment": { "type": "boolean" }, "enableEchecks": { "type": "boolean" }, "displayIgnoreECheckAvsCheckbox": { "type": "boolean" }, "firstNameRequired": { "type": "boolean" }, "lastNameRequired": { "type": "boolean" }, "displayFirstName": { "type": "boolean" }, "displayLastName": { "type": "boolean" } } }, "merchantDefinedDataFields": { "type": "object", "properties": { "displayMerchantDefinedData1": { "type": "boolean" }, "displayMerchantDefinedData2": { "type": "boolean" }, "displayMerchantDefinedData3": { "type": "boolean" }, "displayMerchantDefinedData4": { "type": "boolean" }, "displayMerchantDefinedData5": { "type": "boolean" }, "merchantDefinedData1DefaultValue": { "type": "string" }, "merchantDefinedData1Label": { "type": "string" }, "requireMerchantDefinedData1": { "type": "boolean" }, "merchantDefinedData2DefaultValue": { "type": "string" }, "merchantDefinedData2Label": { "type": "string" }, "requireMerchantDefinedData2": { "type": "boolean" }, "merchantDefinedData3DefaultValue": { "type": "string" }, "merchantDefinedData3Label": { "type": "string" }, "requireMerchantDefinedData3": { "type": "boolean" }, "merchantDefinedData4DefaultValue": { "type": "string" }, "merchantDefinedData4Label": { "type": "string" }, "requireMerchantDefinedData4": { "type": "boolean" }, "merchantDefinedData5DefaultValue": { "type": "string" }, "merchantDefinedData5Label": { "type": "string" }, "requireMerchantDefinedData5": { "type": "boolean" }, "merchantDefinedData1DisplayOnReceipt": { "type": "boolean" }, "merchantDefinedData2DisplayOnReceipt": { "type": "boolean" }, "merchantDefinedData3DisplayOnReceipt": { "type": "boolean" }, "merchantDefinedData4DisplayOnReceipt": { "type": "boolean" }, "merchantDefinedData5DisplayOnReceipt": { "type": "boolean" } } } } }, "receiptInformation": { "type": "object", "properties": { "header": { "type": "object", "properties": { "virtualTerminalReceiptHeader": { "type": "string" } } }, "orderInformation": { "type": "object", "properties": { "emailAliasName": { "type": "string" }, "customReplyToEmailAddress": { "type": "string" } } }, "emailReceipt": { "type": "object", "properties": { "sendersEmailAddress": { "type": "string" } } } } } } }, "cardPresent": { "type": "object", "properties": { "globalPaymentInformation": { "type": "object", "properties": { "basicInformation": { "type": "object", "properties": { "defaultStandardEntryClassCode": { "type": "string" }, "defaultCountryCode": { "type": "string", "description": "ISO 4217 format" }, "defaultCurrencyCode": { "type": "string", "description": "Three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)" }, "defaultTransactionType": { "type": "string", "enum": [ "AUTHORIZATION", "SALE" ] }, "defaultPaymentType": { "type": "string", "enum": [ "CREDIT_CARD", "ECHECK" ] }, "defaultTransactionSource": { "type": "string" }, "displayRetail": { "type": "boolean" }, "displayMoto": { "type": "boolean" }, "displayInternet": { "type": "boolean" } } }, "paymentInformation": { "type": "object", "properties": { "displayCardVerificationValue": { "type": "array", "items": { "type": "string", "enum": [ "VISA", "MASTER_CARD", "AMEX", "DISCOVER", "DINERS_CLUB", "CARTE_BLANCHE", "JCB", "ENROUTE", "JAL", "SWITCH_SOLO", "DELTA", "VISA_ELECTRON", "DANKORT", "LASER", "CARTE_SBANCAIRES", "CARTASI", "MAESTRO_INTERNATIONAL", "GE_MONEY_UK_CARD", "HIPER_CARD", "ELO" ] } }, "requireCardVerificationValue": { "type": "array", "items": { "type": "string", "enum": [ "VISA", "MASTER_CARD", "AMEX", "DISCOVER", "DINERS_CLUB", "CARTE_BLANCHE", "JCB", "ENROUTE", "JAL", "SWITCH_SOLO", "DELTA", "VISA_ELECTRON", "DANKORT", "LASER", "CARTE_SBANCAIRES", "CARTASI", "MAESTRO_INTERNATIONAL", "GE_MONEY_UK_CARD", "HIPER_CARD", "ELO" ] } }, "acceptedCardTypes": { "type": "array", "items": { "type": "string", "enum": [ "VISA", "MASTER_CARD", "AMEX", "DISCOVER", "DINERS_CLUB", "CARTE_BLANCHE", "JCB", "ENROUTE", "JAL", "SWITCH_SOLO", "DELTA", "VISA_ELECTRON", "DANKORT", "LASER", "CARTE_SBANCAIRES", "CARTASI", "MAESTRO_INTERNATIONAL", "GE_MONEY_UK_CARD", "HIPER_CARD", "ELO" ] } }, "displayCreditCards": { "type": "boolean" }, "displayEchecks": { "type": "boolean" }, "displayDebtIndicator": { "type": "boolean" }, "displayBillPayment": { "type": "boolean" }, "enableEchecks": { "type": "boolean" }, "displayIgnoreECheckAvsCheckbox": { "type": "boolean" }, "firstNameRequired": { "type": "boolean" }, "lastNameRequired": { "type": "boolean" }, "displayFirstName": { "type": "boolean" }, "displayLastName": { "type": "boolean" } } }, "merchantDefinedDataFields": { "type": "object", "properties": { "displayMerchantDefinedData1": { "type": "boolean" }, "displayMerchantDefinedData2": { "type": "boolean" }, "displayMerchantDefinedData3": { "type": "boolean" }, "displayMerchantDefinedData4": { "type": "boolean" }, "displayMerchantDefinedData5": { "type": "boolean" }, "merchantDefinedData1DefaultValue": { "type": "string" }, "merchantDefinedData1Label": { "type": "string" }, "requireMerchantDefinedData1": { "type": "boolean" }, "merchantDefinedData2DefaultValue": { "type": "string" }, "merchantDefinedData2Label": { "type": "string" }, "requireMerchantDefinedData2": { "type": "boolean" }, "merchantDefinedData3DefaultValue": { "type": "string" }, "merchantDefinedData3Label": { "type": "string" }, "requireMerchantDefinedData3": { "type": "boolean" }, "merchantDefinedData4DefaultValue": { "type": "string" }, "merchantDefinedData4Label": { "type": "string" }, "requireMerchantDefinedData4": { "type": "boolean" }, "merchantDefinedData5DefaultValue": { "type": "string" }, "merchantDefinedData5Label": { "type": "string" }, "requireMerchantDefinedData5": { "type": "boolean" }, "merchantDefinedData1DisplayOnReceipt": { "type": "boolean" }, "merchantDefinedData2DisplayOnReceipt": { "type": "boolean" }, "merchantDefinedData3DisplayOnReceipt": { "type": "boolean" }, "merchantDefinedData4DisplayOnReceipt": { "type": "boolean" }, "merchantDefinedData5DisplayOnReceipt": { "type": "boolean" } } } } }, "receiptInformation": { "type": "object", "properties": { "header": { "type": "object", "properties": { "virtualTerminalReceiptHeader": { "type": "string" } } }, "orderInformation": { "type": "object", "properties": { "emailAliasName": { "type": "string" }, "customReplyToEmailAddress": { "type": "string" } } }, "emailReceipt": { "type": "object", "properties": { "sendersEmailAddress": { "type": "string" } } } } } } } } } } } } }, "currencyConversion": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." } } }, "configurationInformation": { "type": "object", "properties": { "templateId": { "type": "string", "format": "uuid" }, "configurations": { "type": "object", "properties": { "processors": { "type": "object", "additionalProperties": { "x-devcenter-additional-properties": [ "six", "cmcic", "fdiglobal", "fdcsouth" ], "type": "object", "properties": { "merchantId": { "type": "string", "description": "The merchant identifier for the Currency Conversion service. Check with your Currency Conversion Provider for details." }, "acquirerId": { "type": "string" } } } } } } } } } }, "tax": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." } } } } }, "customerInvoicing": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." } } } } }, "recurringBilling": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." } } } } }, "paymentOrchestration": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." } } } } }, "payouts": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." } } }, "configurationInformation": { "type": "object", "properties": { "configurations": { "type": "object", "properties": { "pullfunds": { "type": "object", "additionalProperties": { "description": "Formatted as *{payoutsAcquirerName}. The property name field should be the same as the processor name for which the pull funds or push funds feature is being configured. Here is the list of valid processor names [TBD]", "type": "object", "required": [ "acquiringBIN", "cardAcceptorId", "cardTerminalId" ], "properties": { "acquirerOrganizationId": { "type": "string", "minLength": 1, "maxLength": 50, "description": "Valid organization in OMS with an organizationInformation.type as \"acquirer\"." }, "acquiringBIN": { "type": "integer", "minLength": 6, "maxLength": 11, "description": "This code identifies the financial institution acting as the acquirer of this transaction. The acquirer is the client or system user that signed the originator or installed the unattended cardholder- activated environment. When a processing center operates for multiple acquirers, this code is for the individual client or system user, not a code for the center." }, "allowCryptoCurrencyPurchase": { "type": "boolean", "description": "This configuration allows a transaction to be flagged for cryptocurrency funds transfer." }, "cardAcceptorId": { "type": "string", "minLength": 1, "maxLength": 15, "description": "A unique identifier number for the originator of transfers that is unique to the processor or acquirer." }, "originatorMvv": { "type": "string", "minLength": 10, "maxLength": 10, "description": "Merchant Verification Value (MVV) is used to identify originators that participate in a variety of programs. The MVV is unique to the merchant." }, "originatorNameAbbreviation": { "type": "string", "minLength": 1, "maxLength": 4, "description": "A 4 character max name abbreviation for the originator." }, "cardTerminalId": { "type": "string", "minLength": 1, "maxLength": 8, "description": "This field contains a code that identifies a terminal at the card acceptor location. This field is used in all messages related to a transaction. If sending transactions from a card not present environment, use the same value for all transactions." } } } }, "pushfunds": { "type": "object", "additionalProperties": { "description": "Formatted as *{payoutsAcquirerName}. The property name field should be the same as the processor name for which the pull funds or push funds feature is being configured. Here is the list of valid processor names [TBD]", "type": "object", "required": [ "originatorBusinessApplicationId", "acquirerCountryCode", "acquiringBIN", "processorAccount" ], "properties": { "acquirerCountryCode": { "type": "integer", "maxLength": 3, "description": "TBD" }, "acquiringBIN": { "type": "integer", "maxLength": 11, "description": "TBD" }, "allowCryptoCurrencyPurchase": { "type": "boolean", "description": "This configuration allows a transaction to be flagged for cryptocurrency funds transfer." }, "financialInstitutionId": { "type": "string", "minLength": 4, "maxLength": 4, "description": "TBD" }, "networkOrder": { "type": "string", "maxLength": 30, "description": "TBD" }, "nationalReimbursementFee": { "type": "string", "maxLength": 1, "description": "TBD" }, "originatorBusinessApplicationId": { "type": "string", "maxLength": 3, "description": "TBD" }, "originatorPseudoAbaNumber": { "type": "string", "maxLength": 9, "description": "TBD" }, "processorAccount": { "type": "array", "items": { "required": [ "originatorMerchantId", "originatorTerminalId" ], "type": "object", "properties": { "originatorMerchantId": { "type": "string", "maxLength": 15, "description": "TBD" }, "originatorTerminalId": { "type": "array", "description": "TBD", "items": { "type": "string", "maxLength": 8 } }, "supportedCurrencies": { "type": "array", "description": "Three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)", "items": { "type": "string", "maxLength": 3, "minLength": 3 } } } }, "description": "TBD" } } } } } } } } } }, "differentialFee": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." }, "features": { "type": "object", "properties": { "surcharge": { "type": "object", "properties": { "enabled": { "type": "boolean" } } } } } } } } }, "payByLink": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." } } } } }, "unifiedCheckout": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." } } } } }, "receivablesManager": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." } } } } } } }, "risk": { "title": "riskProducts", "type": "object", "properties": { "fraudManagementEssentials": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." } } }, "configurationInformation": { "type": "object", "properties": { "templateId": { "type": "string", "format": "uuid" } } } } }, "decisionManager": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." } } }, "configurationInformation": { "type": "object", "properties": { "templateId": { "type": "string", "format": "uuid" }, "configurations": { "type": "object", "title": "DmConfig", "properties": { "processingOptions": { "type": "object", "properties": { "stepUpAuthEnabled": { "type": "boolean" } } }, "organization": { "type": "object", "properties": { "hierarchyGroup": { "type": "string", "description": "Must be one of the following : NO_GROUP, INCLUDE_IN_PARENTS_GROUP\n", "example": "NO_GROUP" } } }, "portfolioControls": { "type": "object", "properties": { "hideRiskMenus": { "type": "boolean" }, "hideRiskTransactionData": { "type": "boolean" } } }, "thirdparty": { "type": "object", "properties": { "provider": { "type": "object", "properties": { "accurint": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "credentials": { "type": "object", "properties": { "username": { "type": "string" }, "password": { "type": "string" } } } } }, "credilink": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "enableRealTime": { "type": "boolean" }, "useCybsCredentials": { "type": "boolean" }, "credentials": { "type": "object", "properties": { "username": { "type": "string" }, "password": { "type": "string" }, "sigla": { "type": "string" } } } } }, "ekata": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "enableRealTime": { "type": "boolean" }, "useCybsCredentials": { "type": "boolean" }, "credentials": { "type": "object", "properties": { "apiKey": { "type": "string" } } } } }, "emailage": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "enableRealTime": { "type": "boolean" }, "useCybsCredentials": { "type": "boolean" }, "credentials": { "type": "object", "properties": { "username": { "type": "string" }, "password": { "type": "string" } } } } }, "perseuss": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "enableRealTime": { "type": "boolean" }, "credentials": { "type": "object", "properties": { "username": { "type": "string" }, "password": { "type": "string" } } } } }, "signifyd": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "credentials": { "type": "object", "properties": { "teamId": { "type": "string" }, "apiKey": { "type": "string" }, "secretKeyid": { "type": "string" }, "secretKey": { "type": "string" } } } } }, "targus": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "useCybsCredentials": { "type": "boolean" }, "credentials": { "type": "object", "properties": { "username": { "type": "string" }, "password": { "type": "string" }, "serviceId": { "type": "string" } } } } } } } } } } } } } } } } }, "commerceSolutions": { "title": "commerceSolutionsProducts", "type": "object", "properties": { "tokenManagement": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." } } }, "configurationInformation": { "type": "object", "properties": { "templateId": { "type": "string", "format": "uuid" }, "configurations": { "type": "object", "properties": { "parentProfileId": { "type": "string", "description": "Specify the Vault ID to which transacting MID needs to be assigned.Provide Vault ID as seen on EBC Vault management page. If not provided , transacting MID will be assigned to the existing default Vault at merchant's level. If there are no Vaults at merchant level , a new Vault will be created and transacting MID will be assigned to it." } } } } } } }, "accountUpdater": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." } } }, "configurationInformation": { "type": "object", "properties": { "templateId": { "type": "string", "format": "uuid" }, "configurations": { "type": "object", "properties": { "masterCard": { "type": "object", "properties": { "merchantId": { "type": "string", "description": "MasterCard merchant identified number" }, "interbankCardAssociationNumber": { "type": "string", "description": "Number assigned by MasterCard to a financial institution, third-party processor or other member to identify the member in transaction." }, "active": { "type": "boolean" } }, "required": [ "merchantId", "interbankCardAssociationNumber" ] }, "visa": { "type": "object", "properties": { "merchantId": { "type": "string", "description": "Visa merchant identified number" }, "segmentId": { "type": "string", "description": "Visa assigned segment ID for each group of merchants participating in VAU." }, "active": { "type": "boolean" } }, "required": [ "merchantId", "segmentId" ] }, "amex": { "type": "object", "properties": { "mode": { "type": "string", "description": "Type of mode. Valid values are `tokenApi` or `dailyHarvest`." }, "seNumber": { "type": "string" }, "subscriberId": { "type": "string" }, "active": { "type": "boolean" } } }, "preferredDay": { "type": "number", "minimum": 1, "maximum": 28 }, "daysWindow": { "type": "number", "minimum": 1, "maximum": 3650, "default": 31 } } } } } } }, "binLookup": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." } } }, "configurationInformation": { "type": "object", "properties": { "configurations": { "type": "object", "properties": { "isPayoutOptionsEnabled": { "type": "boolean", "description": "This flag indicates if the merchant is configured to make payout calls" }, "isAccountPrefixEnabled": { "type": "boolean", "description": "This flag indicates if the merchant is configured to receive account prefix" } } } } } } } } }, "valueAddedServices": { "title": "valueAddedServicesProducts", "type": "object", "properties": { "reporting": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." } } } } }, "transactionSearch": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." } } } } } } } } } } }, "documentInformation": { "type": "object", "properties": { "signedDocuments": { "type": "array", "items": { "type": "object", "properties": { "documentId": { "type": "string", "maxLength": 200, "example": "TCProcessing" } } } } } } }, "required": [ "organizationInformation" ] } } ], "responses": { "201": { "description": "Created", "headers": { "v-c-correlationid": { "type": "string", "description": "Unique identifier for this request" } }, "schema": { "type": "object", "properties": { "id": { "type": "string", "maxLength": 60, "example": "12351234" }, "submitTimeUtc": { "type": "string", "format": "date", "example": "2019-06-11T22:47:57.000Z", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "readOnly": true, "description": "The status of Registration request\nPossible Values:\n - 'INITIALIZED'\n - 'RECEIVED'\n - 'PROCESSING'\n - 'SUCCESS'\n - 'FAILURE'\n - 'PARTIAL'\n", "enum": [ "INITIALIZED", "RECEIVED", "PROCESSING", "SUCCESS", "FAILURE", "PARTIAL" ] }, "registrationInformation": { "type": "object", "properties": { "boardingPackageId": { "type": "string", "maxLength": 30, "example": 1004001, "readOnly": true }, "mode": { "type": "string", "description": "In case mode is not provided the API will use COMPLETE as default\nPossible Values:\n - 'COMPLETE'\n - 'PARTIAL'\n", "enum": [ "COMPLETE", "PARTIAL" ] }, "salesRepId": { "type": "string", "maxLength": 60, "example": "Rep1" } } }, "integrationInformation": { "type": "object", "properties": { "tenantConfigurations": { "type": "array", "description": "tenantConfigurations is an array of objects that includes the tenant information this merchant is associated with.", "items": { "type": "object", "properties": { "solutionId": { "type": "string", "maxLength": 8, "minLength": 8, "pattern": "^[0-9a-zA-Z_]+$", "description": "The solutionId is the unique identifier for this system resource.\nPartner can use it to reference the specific solution through out the system.\n", "example": "YumSolution1" }, "tenantConfigurationId": { "type": "string", "maxLength": 30, "minLength": 6, "pattern": "^[0-9a-zA-Z_]+$", "description": "The tenantConfigurationId is the unique identifier for this system resource.\nYou will see various places where it must be referenced in the URI path, or when\nquerying the hierarchy for ancestors or descendants.\n" }, "status": { "type": "string", "enum": [ "LIVE", "INACTIVE", "TEST" ] }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC.", "format": "date-time" } } } } } }, "organizationInformation": { "type": "object", "properties": { "organizationId": { "type": "string", "maxLength": 30, "example": "merch-test1" }, "parentOrganizationId": { "type": "string", "example": "merch-test1-acct" }, "childOrganizations": { "type": "array", "items": { "type": "string", "example": "transactional-org", "description": "child Organizations is an array of strings. The values returned will be in array format ['string1','string2']" } } } }, "productInformationSetups": { "type": "array", "items": { "type": "object", "properties": { "organizationId": { "type": "string", "maxLength": 30, "minLength": 6, "pattern": "^[0-9a-zA-Z]+$", "example": "merch-test1" }, "setups": { "type": "object", "properties": { "payments": { "type": "object", "properties": { "cardProcessing": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } }, "configurationStatus": { "type": "object", "properties": { "configurationId": { "type": "string", "format": "uuid", "description": "This is NOT for MVP" }, "version": { "type": "string" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "PARTIAL", "PENDING", "NOT_SETUP" ] }, "reason": { "type": "string", "enum": [ "PENDING_PROVISIONING_PROCESS", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD", "NOT_APPLICABLE" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } }, "cardPresentConnect": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } }, "configurationStatus": { "type": "object", "properties": { "configurationId": { "type": "string", "format": "uuid", "description": "This is NOT for MVP" }, "version": { "type": "string" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "PARTIAL", "PENDING", "NOT_SETUP" ] }, "reason": { "type": "string", "enum": [ "PENDING_PROVISIONING_PROCESS", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD", "NOT_APPLICABLE" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } }, "eCheck": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } }, "configurationStatus": { "type": "object", "properties": { "configurationId": { "type": "string", "format": "uuid", "description": "This is NOT for MVP" }, "version": { "type": "string" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "PARTIAL", "PENDING", "NOT_SETUP" ] }, "reason": { "type": "string", "enum": [ "PENDING_PROVISIONING_PROCESS", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD", "NOT_APPLICABLE" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } }, "payerAuthentication": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } }, "configurationStatus": { "type": "object", "properties": { "configurationId": { "type": "string", "format": "uuid", "description": "This is NOT for MVP" }, "version": { "type": "string" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "PARTIAL", "PENDING", "NOT_SETUP" ] }, "reason": { "type": "string", "enum": [ "PENDING_PROVISIONING_PROCESS", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD", "NOT_APPLICABLE" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } }, "digitalPayments": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } }, "secureAcceptance": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } }, "configurationStatus": { "type": "object", "properties": { "configurationId": { "type": "string", "format": "uuid", "description": "This is NOT for MVP" }, "version": { "type": "string" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "PARTIAL", "PENDING", "NOT_SETUP" ] }, "reason": { "type": "string", "enum": [ "PENDING_PROVISIONING_PROCESS", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD", "NOT_APPLICABLE" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } }, "virtualTerminal": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } }, "configurationStatus": { "type": "object", "properties": { "configurationId": { "type": "string", "format": "uuid", "description": "This is NOT for MVP" }, "version": { "type": "string" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "PARTIAL", "PENDING", "NOT_SETUP" ] }, "reason": { "type": "string", "enum": [ "PENDING_PROVISIONING_PROCESS", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD", "NOT_APPLICABLE" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } }, "currencyConversion": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } }, "configurationStatus": { "type": "object", "properties": { "configurationId": { "type": "string", "format": "uuid", "description": "This is NOT for MVP" }, "version": { "type": "string" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "PARTIAL", "PENDING", "NOT_SETUP" ] }, "reason": { "type": "string", "enum": [ "PENDING_PROVISIONING_PROCESS", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD", "NOT_APPLICABLE" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } }, "tax": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } }, "customerInvoicing": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } }, "recurringBilling": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } }, "configurationStatus": { "type": "object", "properties": { "configurationId": { "type": "string", "format": "uuid", "description": "This is NOT for MVP" }, "version": { "type": "string" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "PARTIAL", "PENDING", "NOT_SETUP" ] }, "reason": { "type": "string", "enum": [ "PENDING_PROVISIONING_PROCESS", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD", "NOT_APPLICABLE" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } }, "cybsReadyTerminal": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } }, "configurationStatus": { "type": "object", "properties": { "configurationId": { "type": "string", "format": "uuid", "description": "This is NOT for MVP" }, "version": { "type": "string" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "PARTIAL", "PENDING", "NOT_SETUP" ] }, "reason": { "type": "string", "enum": [ "PENDING_PROVISIONING_PROCESS", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD", "NOT_APPLICABLE" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } }, "paymentOrchestration": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } }, "payouts": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } }, "configurationStatus": { "type": "object", "properties": { "configurationId": { "type": "string", "format": "uuid", "description": "This is NOT for MVP" }, "version": { "type": "string" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "PARTIAL", "PENDING", "NOT_SETUP" ] }, "reason": { "type": "string", "enum": [ "PENDING_PROVISIONING_PROCESS", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD", "NOT_APPLICABLE" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } }, "payByLink": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } }, "unifiedCheckout": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } }, "receivablesManager": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } } } }, "risk": { "type": "object", "properties": { "fraudManagementEssentials": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } }, "configurationStatus": { "type": "object", "properties": { "configurationId": { "type": "string", "format": "uuid", "description": "This is NOT for MVP" }, "version": { "type": "string" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "PARTIAL", "PENDING", "NOT_SETUP" ] }, "reason": { "type": "string", "enum": [ "PENDING_PROVISIONING_PROCESS", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD", "NOT_APPLICABLE" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } }, "decisionManager": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } }, "configurationStatus": { "type": "object", "properties": { "configurationId": { "type": "string", "format": "uuid", "description": "This is NOT for MVP" }, "version": { "type": "string" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "PARTIAL", "PENDING", "NOT_SETUP" ] }, "reason": { "type": "string", "enum": [ "PENDING_PROVISIONING_PROCESS", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD", "NOT_APPLICABLE" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } } } }, "commerceSolutions": { "type": "object", "properties": { "tokenManagement": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } }, "configurationStatus": { "type": "object", "properties": { "configurationId": { "type": "string", "format": "uuid", "description": "This is NOT for MVP" }, "version": { "type": "string" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "PARTIAL", "PENDING", "NOT_SETUP" ] }, "reason": { "type": "string", "enum": [ "PENDING_PROVISIONING_PROCESS", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD", "NOT_APPLICABLE" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } }, "accountUpdater": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } }, "configurationStatus": { "type": "object", "properties": { "configurationId": { "type": "string", "format": "uuid", "description": "This is NOT for MVP" }, "version": { "type": "string" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "PARTIAL", "PENDING", "NOT_SETUP" ] }, "reason": { "type": "string", "enum": [ "PENDING_PROVISIONING_PROCESS", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD", "NOT_APPLICABLE" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } }, "binLookup": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } }, "configurationStatus": { "type": "object", "properties": { "configurationId": { "type": "string", "format": "uuid", "description": "This is NOT for MVP" }, "version": { "type": "string" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "PARTIAL", "PENDING", "NOT_SETUP" ] }, "reason": { "type": "string", "enum": [ "PENDING_PROVISIONING_PROCESS", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD", "NOT_APPLICABLE" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } } } }, "valueAddedServices": { "type": "object", "properties": { "reporting": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } }, "transactionSearch": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } } } } } } } } }, "message": { "type": "string", "example": "Request was processed succesfully." }, "details": { "type": "object", "additionalProperties": { "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.", "example": "MISSING_FIELD" }, "value": { "type": "string", "example": "abc123" }, "reference": { "type": "string", "example": "xyz" } } }, "x-devcenter-additional-properties": [ "organizationInformation", "productInformation" ] } } } } }, "400": { "description": "Bad Request", "headers": { "v-c-correlationid": { "type": "string", "description": "Unique identifier for this request" } }, "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "format": "date", "example": "2019-06-11T22:47:57.000Z", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "description": "The http status description of the submitted request.", "example": "BAD_REQUEST" }, "reason": { "type": "string", "description": "Documented reason codes. Client should be able to use the key for generating their own error message\nPossible Values:\n - 'INVALID_DATA'\n - 'SYSTEM_ERROR'\n - 'RESOURCE_NOT_FOUND'\n", "enum": [ "INVALID_DATA", "SYSTEM_ERROR", "RESOURCE_NOT_FOUND" ] }, "message": { "type": "string", "description": "Descriptive message for the error." }, "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.", "example": "MISSING_FIELD" } } } } } } }, "422": { "description": "Business Validations failed", "headers": { "v-c-correlationid": { "type": "string", "description": "Unique identifier for this request" } }, "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "format": "date", "example": "2019-06-11T22:47:57.000Z", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "description": "The http status description of the submitted request.", "example": "UNPROCESSABLE_ENTITY" }, "reason": { "type": "string", "description": "Documented reason codes. Client should be able to use the key for generating their own error message\nPossible Values:\n - 'INVALID_DATA'\n", "enum": [ "INVALID_DATA" ] }, "message": { "type": "string", "description": "Descriptive message for the error." }, "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.", "example": "MISSING_FIELD" } } } } } } }, "500": { "description": "Internal Server error", "headers": { "v-c-correlationid": { "type": "string", "description": "Unique identifier for this request" } }, "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "format": "date", "example": "2019-06-11T22:47:57.000Z", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "description": "The http status description of the submitted request.", "example": "INTERNAL_SERVER_ERROR" }, "reason": { "type": "string", "description": "Documented reason codes. Client should be able to use the key for generating their own error message\nPossible Values:\n - 'SYSTEM_ERROR'\n", "enum": [ "SYSTEM_ERROR" ] }, "message": { "type": "string", "description": "Descriptive message for the error." } } } } }, "x-example": { "example0": { "summary": "Create Registration", "value": { "organizationInformation": { "parentOrganizationId": "apitester00", "type": "MERCHANT", "configurable": "true", "businessInformation": { "name": "StuartWickedFastEatz", "address": { "country": "US", "address1": "123456 SandMarket", "locality": "ORMOND BEACH", "administrativeArea": "FL", "postalCode": "32176" }, "websiteUrl": "https://www.StuartWickedEats.com", "phoneNumber": "6574567813", "businessContact": { "firstName": "Stuart", "lastName": "Stuart", "phoneNumber": "6574567813", "email": "svc_email_bt@corpdev.visa.com" }, "merchantCategoryCode": "5999" } }, "productInformation": { "selectedProducts": { "payments": { "payerAuthentication": { "subscriptionInformation": { "enabled": true }, "configurationInformation": { "configurations": { "cardTypes": { "verifiedByVisa": { "currencies": [ { "currencyCodes": [ "ALL" ], "acquirerId": "469216", "processorMerchantId": "678855" } ] } } } } }, "cardProcessing": { "subscriptionInformation": { "enabled": true, "features": { "cardNotPresent": { "enabled": true } } }, "configurationInformation": { "configurations": { "common": { "merchantCategoryCode": "1234", "merchantDescriptorInformation": { "name": "r4ef", "city": "Bellevue", "country": "US", "phone": "4255547845", "state": "WA", "street": "StreetName", "zip": "98007" }, "processors": { "tsys": { "merchantId": "123456789101", "terminalId": "1231", "industryCode": "D (Direct Marketing)", "vitalNumber": "71234567", "merchantBinNumber": "123456", "merchantLocationNumber": "00001", "storeID": "1234", "settlementCurrency": "USD" } } }, "features": { "cardNotPresent": { "visaStraightThroughProcessingOnly": true } } } } }, "virtualTerminal": { "subscriptionInformation": { "enabled": "true" } }, "customerInvoicing": { "subscriptionInformation": { "enabled": "true" } }, "payouts": { "subscriptionInformation": { "enabled": "true" } } }, "commerceSolutions": { "tokenManagement": { "subscriptionInformation": { "enabled": "true" } } }, "risk": { "fraudManagementEssentials": { "subscriptionInformation": { "enabled": "true" }, "configurationInformation": { "templateId": "E4EDB280-9DAC-4698-9EB9-9434D40FF60C" } } } } } } }, "example1": { "summary": "Merchant Boarding with AmexDirect", "value": { "organizationInformation": { "parentOrganizationId": "apitester00", "type": "MERCHANT", "configurable": "true", "businessInformation": { "name": "StuartWickedFastEatz", "address": { "country": "US", "address1": "123456 SandMarket", "locality": "ORMOND BEACH", "administrativeArea": "FL", "postalCode": "32176" }, "websiteUrl": "https://www.StuartWickedEats.com", "phoneNumber": "6574567813", "businessContact": { "firstName": "Stuart", "lastName": "Stuart", "phoneNumber": "6574567813", "email": "svc_email_bt@corpdev.visa.com" }, "merchantCategoryCode": "5999" } }, "productInformation": { "selectedProducts": { "payments": { "cardProcessing": { "subscriptionInformation": { "enabled": true, "features": { "cardNotPresent": { "enabled": true }, "cardPresent": { "enabled": true } } }, "configurationInformation": { "configurations": { "common": { "merchantCategoryCode": "1799", "merchantDescriptorInformation": { "city": "Cupertino", "country": "USA", "name": "Mer name", "phone": "8885554444", "zip": "94043", "state": "CA", "street": "mer street", "url": "www.test.com" }, "subMerchantId": "123457", "subMerchantBusinessName": "bus name", "processors": { "amexdirect": { "acquirer": {}, "currencies": { "AED": { "enabled": true, "enabledCardPresent": false, "enabledCardNotPresent": true, "terminalId": "", "serviceEnablementNumber": "1234567890" }, "FJD": { "enabled": true, "enabledCardPresent": false, "enabledCardNotPresent": true, "terminalId": "", "serviceEnablementNumber": "1234567890" }, "USD": { "enabled": true, "enabledCardPresent": true, "enabledCardNotPresent": true, "terminalId": "", "serviceEnablementNumber": "1234567890" } }, "paymentTypes": { "AMERICAN_EXPRESS": { "enabled": true } }, "allowMultipleBills": false, "avsFormat": "basic", "batchGroup": "amexdirect_vme_default", "enableAutoAuthReversalAfterVoid": false, "enhancedData": "disabled", "enableLevel2": false, "amexTransactionAdviceAddendum1": "amex123" } } }, "features": { "cardNotPresent": { "processors": { "amexdirect": { "relaxAddressVerificationSystem": true, "relaxAddressVerificationSystemAllowExpiredCard": true, "relaxAddressVerificationSystemAllowZipWithoutCountry": false } } } } }, "templateId": "2B80A3C7-5A39-4CC3-9882-AC4A828D3646" } }, "virtualTerminal": { "subscriptionInformation": { "enabled": true }, "configurationInformation": { "templateId": "9FA1BB94-5119-48D3-B2E5-A81FD3C657B5" } }, "customerInvoicing": { "subscriptionInformation": { "enabled": true } } }, "risk": {}, "commerceSolutions": { "tokenManagement": { "subscriptionInformation": { "enabled": true }, "configurationInformation": { "templateId": "D62BEE20-DCFD-4AA2-8723-BA3725958ABA" } } }, "valueAddedServices": { "transactionSearch": { "subscriptionInformation": { "enabled": true } }, "reporting": { "subscriptionInformation": { "enabled": true } } } } } } }, "example2": { "summary": "Merchant Boarding with Barclays", "value": { "organizationInformation": { "parentOrganizationId": "apitester00", "type": "MERCHANT", "configurable": "true", "businessInformation": { "name": "StuartWickedFastEatz", "address": { "country": "US", "address1": "123456 SandMarket", "locality": "ORMOND BEACH", "administrativeArea": "FL", "postalCode": "32176" }, "websiteUrl": "https://www.StuartWickedEats.com", "phoneNumber": "6574567813", "businessContact": { "firstName": "Stuart", "lastName": "Stuart", "phoneNumber": "6574567813", "email": "svc_email_bt@corpdev.visa.com" }, "merchantCategoryCode": "5999" } }, "productInformation": { "selectedProducts": { "payments": { "cardProcessing": { "subscriptionInformation": { "enabled": true, "features": { "cardNotPresent": { "enabled": true }, "cardPresent": { "enabled": true } } }, "configurationInformation": { "configurations": { "common": { "merchantCategoryCode": "5999", "defaultAuthTypeCode": "FINAL", "processors": { "barclays2": { "acquirer": {}, "currencies": { "AED": { "enabled": true, "enabledCardPresent": false, "enabledCardNotPresent": true, "merchantId": "1234", "terminalIds": [ "12351245" ], "serviceEnablementNumber": "" }, "USD": { "enabled": true, "enabledCardPresent": false, "enabledCardNotPresent": true, "merchantId": "1234", "terminalIds": [ "12351245" ], "serviceEnablementNumber": "" } }, "paymentTypes": { "MASTERCARD": { "enabled": true }, "VISA": { "enabled": true } }, "batchGroup": "barclays2_16", "quasiCash": false, "enhancedData": "disabled", "merchantId": "124555", "enableMultiCurrencyProcessing": false } } }, "features": { "cardNotPresent": { "processors": { "barclays2": { "payouts": { "merchantId": "1233", "terminalId": "1244" } } } } } }, "templateId": "0A413572-1995-483C-9F48-FCBE4D0B2E86" } }, "virtualTerminal": { "subscriptionInformation": { "enabled": true }, "configurationInformation": { "templateId": "9FA1BB94-5119-48D3-B2E5-A81FD3C657B5" } }, "customerInvoicing": { "subscriptionInformation": { "enabled": true } } }, "risk": {}, "commerceSolutions": { "tokenManagement": { "subscriptionInformation": { "enabled": true }, "configurationInformation": { "templateId": "D62BEE20-DCFD-4AA2-8723-BA3725958ABA" } } }, "valueAddedServices": { "transactionSearch": { "subscriptionInformation": { "enabled": true } }, "reporting": { "subscriptionInformation": { "enabled": true } } } } } } }, "example3": { "summary": "Merchant Boarding with CUP", "value": { "organizationInformation": { "parentOrganizationId": "apitester00", "type": "MERCHANT", "configurable": "true", "businessInformation": { "name": "StuartWickedFastEatz", "address": { "country": "US", "address1": "123456 SandMarket", "locality": "ORMOND BEACH", "administrativeArea": "FL", "postalCode": "32176" }, "websiteUrl": "https://www.StuartWickedEats.com", "phoneNumber": "6574567813", "businessContact": { "firstName": "Stuart", "lastName": "Stuart", "phoneNumber": "6574567813", "email": "svc_email_bt@corpdev.visa.com" }, "merchantCategoryCode": "5999" } }, "productInformation": { "selectedProducts": { "payments": { "cardProcessing": { "subscriptionInformation": { "enabled": true, "features": { "cardNotPresent": { "enabled": true }, "cardPresent": { "enabled": true } } }, "configurationInformation": { "configurations": { "common": { "merchantCategoryCode": "1799", "processors": { "CUP": { "acquirer": { "countryCode": "344_hongkong", "institutionId": "22344" }, "currencies": { "HKD": { "enabled": true, "enabledCardPresent": false, "enabledCardNotPresent": true, "merchantId": "112233", "terminalId": "11224455", "serviceEnablementNumber": "" }, "AUD": { "enabled": true, "enabledCardPresent": false, "enabledCardNotPresent": true, "merchantId": "112233", "terminalId": "11224455", "serviceEnablementNumber": "" }, "USD": { "enabled": true, "enabledCardPresent": true, "enabledCardNotPresent": true, "merchantId": "112233", "terminalId": "11224455", "serviceEnablementNumber": "" } }, "paymentTypes": { "CUP": { "enabled": true } } } } } }, "templateId": "1D8BC41A-F04E-4133-87C8-D89D1806106F" } }, "virtualTerminal": { "subscriptionInformation": { "enabled": true }, "configurationInformation": { "templateId": "9FA1BB94-5119-48D3-B2E5-A81FD3C657B5" } }, "customerInvoicing": { "subscriptionInformation": { "enabled": true } } }, "risk": {}, "commerceSolutions": { "tokenManagement": { "subscriptionInformation": { "enabled": true }, "configurationInformation": { "templateId": "D62BEE20-DCFD-4AA2-8723-BA3725958ABA" } } }, "valueAddedServices": { "transactionSearch": { "subscriptionInformation": { "enabled": true } }, "reporting": { "subscriptionInformation": { "enabled": true } } } } } } }, "example4": { "summary": "Merchant Boarding with EFTPOS", "value": { "organizationInformation": { "parentOrganizationId": "apitester00", "type": "MERCHANT", "configurable": "true", "businessInformation": { "name": "StuartWickedFastEatz", "address": { "country": "US", "address1": "123456 SandMarket", "locality": "ORMOND BEACH", "administrativeArea": "FL", "postalCode": "32176" }, "websiteUrl": "https://www.StuartWickedEats.com", "phoneNumber": "6574567813", "businessContact": { "firstName": "Stuart", "lastName": "Stuart", "phoneNumber": "6574567813", "email": "svc_email_bt@corpdev.visa.com" }, "merchantCategoryCode": "5999" } }, "productInformation": { "selectedProducts": { "payments": { "cardProcessing": { "subscriptionInformation": { "enabled": true, "features": { "cardNotPresent": { "enabled": true }, "cardPresent": { "enabled": false } } }, "configurationInformation": { "configurations": { "common": { "merchantCategoryCode": "5999", "preferCobadgedSecondaryBrand": true, "processors": { "EFTPOS": { "acquirer": { "countryCode": "344_hongkong", "institutionId": "22344" }, "currencies": { "AUD": { "enabled": true, "merchantId": "12345612344", "terminalId": "12121212" } }, "paymentTypes": { "EFTPOS": { "enabled": true } }, "enableCVVResponseIndicator": true, "enableLeastCostRouting": true, "merchantTier": "000" } } }, "features": {} }, "templateId": "1F9B7F6E-F0DB-44C8-BF8E-5013E34C0F87" } } } } } } }, "example5": { "summary": "Merchant Boarding with FDIGlobal", "value": { "organizationInformation": { "parentOrganizationId": "apitester00", "type": "MERCHANT", "configurable": "true", "businessInformation": { "name": "StuartWickedFastEatz", "address": { "country": "US", "address1": "123456 SandMarket", "locality": "ORMOND BEACH", "administrativeArea": "FL", "postalCode": "32176" }, "websiteUrl": "https://www.StuartWickedEats.com", "phoneNumber": "6574567813", "businessContact": { "firstName": "Stuart", "lastName": "Stuart", "phoneNumber": "6574567813", "email": "svc_email_bt@corpdev.visa.com" }, "merchantCategoryCode": "5999" } }, "productInformation": { "selectedProducts": { "payments": { "cardProcessing": { "subscriptionInformation": { "enabled": true, "features": { "cardNotPresent": { "enabled": true }, "cardPresent": { "enabled": true } } }, "configurationInformation": { "configurations": { "common": { "merchantCategoryCode": "0742", "defaultAuthTypeCode": "PRE", "processLevel3Data": "ignored", "masterCardAssignedId": "123456789", "enablePartialAuth": true, "processors": { "fdiglobal": { "acquirer": {}, "currencies": { "CHF": { "enabled": true, "enabledCardPresent": false, "enabledCardNotPresent": true, "merchantId": "123456789mer", "terminalId": "12345ter", "serviceEnablementNumber": "" }, "HRK": { "enabled": true, "enabledCardPresent": false, "enabledCardNotPresent": true, "merchantId": "123456789mer", "terminalId": "12345ter", "serviceEnablementNumber": "" }, "ERN": { "enabled": true, "enabledCardPresent": false, "enabledCardNotPresent": true, "merchantId": "123456789mer", "terminalId": "12345ter", "serviceEnablementNumber": "" }, "USD": { "enabled": true, "enabledCardPresent": true, "enabledCardNotPresent": true, "merchantId": "123456789mer", "terminalId": "12345ter", "serviceEnablementNumber": "" } }, "paymentTypes": { "MASTERCARD": { "enabled": true }, "DISCOVER": { "enabled": true }, "JCB": { "enabled": true }, "VISA": { "enabled": true }, "PIN_DEBIT": { "enabled": true, "currencies": { "USD": { "enabled": true, "terminalId": "pint123", "merchantId": "pinm123", "serviceEnablementNumber": null } } }, "AMERICAN_EXPRESS": { "enabled": true }, "DINERS_CLUB": { "enabled": true }, "CUP": { "enabled": true } }, "batchGroup": "fdiglobal_vme_default", "enhancedData": "disabled", "enablePosNetworkSwitching": true, "enableTransactionReferenceNumber": true } } }, "features": { "cardNotPresent": { "processors": { "fdiglobal": { "relaxAddressVerificationSystem": true, "relaxAddressVerificationSystemAllowExpiredCard": true, "relaxAddressVerificationSystemAllowZipWithoutCountry": true } }, "visaStraightThroughProcessingOnly": true, "amexTransactionAdviceAddendum1": "amex12345", "ignoreAddressVerificationSystem": true } } }, "templateId": "685A1FC9-3CEC-454C-9D8A-19205529CE45" } } } } } } }, "example6": { "summary": "Merchant Boarding with GPX", "value": { "organizationInformation": { "parentOrganizationId": "apitester00", "type": "MERCHANT", "configurable": "true", "businessInformation": { "name": "StuartWickedFastEatz", "address": { "country": "US", "address1": "123456 SandMarket", "locality": "ORMOND BEACH", "administrativeArea": "FL", "postalCode": "32176" }, "websiteUrl": "https://www.StuartWickedEats.com", "phoneNumber": "6574567813", "businessContact": { "firstName": "Stuart", "lastName": "Stuart", "phoneNumber": "6574567813", "email": "svc_email_bt@corpdev.visa.com" }, "merchantCategoryCode": "5999" } }, "productInformation": { "selectedProducts": { "payments": { "cardProcessing": { "subscriptionInformation": { "enabled": true, "features": { "cardNotPresent": { "enabled": true }, "cardPresent": { "enabled": true } } }, "configurationInformation": { "configurations": { "common": { "merchantCategoryCode": "1799", "defaultAuthTypeCode": "FINAL", "foodAndConsumerServiceId": "1456", "masterCardAssignedId": "4567", "sicCode": "1345", "enablePartialAuth": false, "allowCapturesGreaterThanAuthorizations": false, "enableDuplicateMerchantReferenceNumberBlocking": false, "creditCardRefundLimitPercent": "2", "businessCenterCreditCardRefundLimitPercent": "3", "processors": { "gpx": { "acquirer": { "countryCode": "840_usa", "fileDestinationBin": "123456", "interbankCardAssociationId": "1256", "institutionId": "113366", "discoverInstitutionId": "1567" }, "currencies": { "AED": { "enabled": true, "enabledCardPresent": false, "enabledCardNotPresent": true, "terminalId": "", "serviceEnablementNumber": "" } }, "paymentTypes": { "MASTERCARD": { "enabled": true }, "VISA": { "enabled": true }, "PIN_DEBIT": { "enabled": true }, "JCB": { "enabled": true }, "DINERS_CLUB": { "enabled": true }, "DISCOVER": { "enabled": true } }, "allowMultipleBills": true, "batchGroup": "gpx", "businessApplicationId": "AA", "enhancedData": "disabled", "fireSafetyIndicator": false, "abaNumber": "1122445566778", "merchantVerificationValue": "234", "quasiCash": false, "merchantId": "112233", "terminalId": "112244" } } }, "features": { "cardNotPresent": { "processors": { "gpx": { "enableEmsTransactionRiskScore": true, "relaxAddressVerificationSystem": true, "relaxAddressVerificationSystemAllowExpiredCard": true, "relaxAddressVerificationSystemAllowZipWithoutCountry": true } }, "visaStraightThroughProcessingOnly": false, "ignoreAddressVerificationSystem": false }, "cardPresent": { "processors": { "gpx": { "financialInstitutionId": "1347", "pinDebitNetworkOrder": "23456", "pinDebitReimbursementCode": "43567", "defaultPointOfSaleTerminalId": "5432" } }, "enableTerminalIdLookup": false } } }, "templateId": "D2A7C000-5FCA-493A-AD21-469744A19EEA" } }, "virtualTerminal": { "subscriptionInformation": { "enabled": true }, "configurationInformation": { "templateId": "9FA1BB94-5119-48D3-B2E5-A81FD3C657B5" } }, "customerInvoicing": { "subscriptionInformation": { "enabled": true } } }, "risk": {}, "commerceSolutions": { "tokenManagement": { "subscriptionInformation": { "enabled": true }, "configurationInformation": { "templateId": "D62BEE20-DCFD-4AA2-8723-BA3725958ABA" } } }, "valueAddedServices": { "transactionSearch": { "subscriptionInformation": { "enabled": true } }, "reporting": { "subscriptionInformation": { "enabled": true } } } } } } }, "example7": { "summary": "Merchant Boarding with SmartFDC", "value": { "organizationInformation": { "parentOrganizationId": "apitester00", "type": "MERCHANT", "configurable": "true", "businessInformation": { "name": "StuartWickedFastEatz", "address": { "country": "US", "address1": "123456 SandMarket", "locality": "ORMOND BEACH", "administrativeArea": "FL", "postalCode": "32176" }, "websiteUrl": "https://www.StuartWickedEats.com", "phoneNumber": "6574567813", "businessContact": { "firstName": "Stuart", "lastName": "Stuart", "phoneNumber": "6574567813", "email": "svc_email_bt@corpdev.visa.com" }, "merchantCategoryCode": "5999" } }, "productInformation": { "selectedProducts": { "payments": { "cardProcessing": { "subscriptionInformation": { "enabled": true, "features": { "cardNotPresent": { "enabled": true }, "cardPresent": { "enabled": true } } }, "configurationInformation": { "configurations": { "common": { "merchantCategoryCode": "1799", "defaultAuthTypeCode": "FINAL", "enablePartialAuth": true, "processors": { "smartfdc": { "acquirer": {}, "paymentTypes": { "MASTERCARD": { "enabled": true }, "DISCOVER": { "enabled": true }, "JCB": { "enabled": true }, "VISA": { "enabled": true }, "AMERICAN_EXPRESS": { "enabled": true }, "DINERS_CLUB": { "enabled": true } }, "merchantId": "00001234567", "terminalId": "00007654321", "batchGroup": "smartfdc_00" } } } }, "templateId": "3173DA78-A71E-405B-B79C-928C1A9C6AB2" } }, "virtualTerminal": { "subscriptionInformation": { "enabled": true }, "configurationInformation": { "templateId": "9FA1BB94-5119-48D3-B2E5-A81FD3C657B5" } }, "customerInvoicing": { "subscriptionInformation": { "enabled": true } } }, "risk": {}, "commerceSolutions": { "tokenManagement": { "subscriptionInformation": { "enabled": true }, "configurationInformation": { "templateId": "D62BEE20-DCFD-4AA2-8723-BA3725958ABA" } } }, "valueAddedServices": { "transactionSearch": { "subscriptionInformation": { "enabled": true } }, "reporting": { "subscriptionInformation": { "enabled": true } } } } } } }, "example8": { "summary": "Merchant Boarding with TSYS", "value": { "organizationInformation": { "parentOrganizationId": "apitester00", "type": "MERCHANT", "configurable": "true", "businessInformation": { "name": "StuartWickedFastEatz", "address": { "country": "US", "address1": "123456 SandMarket", "locality": "ORMOND BEACH", "administrativeArea": "FL", "postalCode": "32176" }, "websiteUrl": "https://www.StuartWickedEats.com", "phoneNumber": "6574567813", "businessContact": { "firstName": "Stuart", "lastName": "Stuart", "phoneNumber": "6574567813", "email": "svc_email_bt@corpdev.visa.com" }, "merchantCategoryCode": "5999" } }, "productInformation": { "selectedProducts": { "payments": { "cardProcessing": { "subscriptionInformation": { "enabled": true, "features": { "cardNotPresent": { "enabled": true }, "cardPresent": { "enabled": true } } }, "configurationInformation": { "configurations": { "common": { "merchantCategoryCode": "5999", "processLevel3Data": "ignored", "defaultAuthTypeCode": "FINAL", "merchantDescriptorInformation": { "city": "cpertino", "country": "USA", "name": "kumar", "state": "CA", "phone": "888555333", "zip": "94043", "street": "steet1" }, "enablePartialAuth": false, "amexVendorCode": "2233", "processors": { "tsys": { "acquirer": {}, "currencies": { "CAD": { "enabled": true, "enabledCardPresent": true, "enabledCardNotPresent": true, "terminalId": "1234", "serviceEnablementNumber": "" } }, "paymentTypes": { "MASTERCARD": { "enabled": true }, "VISA": { "enabled": true } }, "bankNumber": "234576", "chainNumber": "223344", "batchGroup": "vital_1130", "enhancedData": "disabled", "industryCode": "D (Direct Marketing)", "merchantBinNumber": "765576", "merchantId": "834215123456", "merchantLocationNumber": "00001", "storeID": "2563", "vitalNumber": "71234567", "quasiCash": false, "sendAmexLevel2Data": null, "softDescriptorType": "1 - trans_ref_no", "travelAgencyCode": "2356", "travelAgencyName": "Agent" } } }, "features": { "cardNotPresent": { "visaStraightThroughProcessingOnly": false, "amexTransactionAdviceAddendum1": null } } }, "templateId": "818048AD-2860-4D2D-BC39-2447654628A1" } }, "virtualTerminal": { "subscriptionInformation": { "enabled": true }, "configurationInformation": { "templateId": "9FA1BB94-5119-48D3-B2E5-A81FD3C657B5" } }, "customerInvoicing": { "subscriptionInformation": { "enabled": true } } }, "risk": {}, "commerceSolutions": { "tokenManagement": { "subscriptionInformation": { "enabled": true }, "configurationInformation": { "templateId": "D62BEE20-DCFD-4AA2-8723-BA3725958ABA" } } }, "valueAddedServices": { "transactionSearch": { "subscriptionInformation": { "enabled": true } }, "reporting": { "subscriptionInformation": { "enabled": true } } } } } } }, "example9": { "summary": "Merchant Boarding with VPC", "value": { "organizationInformation": { "parentOrganizationId": "apitester00", "type": "MERCHANT", "configurable": "true", "businessInformation": { "name": "StuartWickedFastEatz", "address": { "country": "US", "address1": "123456 SandMarket", "locality": "ORMOND BEACH", "administrativeArea": "FL", "postalCode": "32176" }, "websiteUrl": "https://www.StuartWickedEats.com", "phoneNumber": "6574567813", "businessContact": { "firstName": "Stuart", "lastName": "Stuart", "phoneNumber": "6574567813", "email": "svc_email_bt@corpdev.visa.com" }, "merchantCategoryCode": "5999" } }, "productInformation": { "selectedProducts": { "payments": { "cardProcessing": { "subscriptionInformation": { "enabled": true, "features": { "cardNotPresent": { "enabled": true }, "cardPresent": { "enabled": true } } }, "configurationInformation": { "configurations": { "common": { "merchantCategoryCode": "1799", "defaultAuthTypeCode": "FINAL", "masterCardAssignedId": null, "sicCode": null, "enablePartialAuth": false, "enableInterchangeOptimization": false, "enableSplitShipment": false, "visaDelegatedAuthenticationId": "123457", "domesticMerchantId": "123458", "creditCardRefundLimitPercent": "2", "businessCenterCreditCardRefundLimitPercent": "3", "allowCapturesGreaterThanAuthorizations": false, "enableDuplicateMerchantReferenceNumberBlocking": false, "processors": { "VPC": { "acquirer": { "countryCode": "840_usa", "fileDestinationBin": "444500", "interbankCardAssociationId": "3684", "institutionId": "444571", "discoverInstitutionId": null }, "paymentTypes": { "VISA": { "enabled": true, "currencies": { "CAD": { "enabled": true, "enabledCardPresent": false, "enabledCardNotPresent": true, "terminalId": "113366", "merchantId": "113355", "serviceEnablementNumber": null }, "USD": { "enabled": true, "enabledCardPresent": true, "enabledCardNotPresent": true, "terminalId": "113366", "merchantId": "113355", "serviceEnablementNumber": null } } } }, "acquirerMerchantId": "123456", "allowMultipleBills": false, "batchGroup": "vdcvantiv_est_00", "businessApplicationId": "AA", "enableAutoAuthReversalAfterVoid": true, "enableExpresspayPanTranslation": null, "merchantVerificationValue": "123456", "quasiCash": false, "enableTransactionReferenceNumber": true } } }, "features": { "cardNotPresent": { "processors": { "VPC": { "enableEmsTransactionRiskScore": null, "relaxAddressVerificationSystem": true, "relaxAddressVerificationSystemAllowExpiredCard": true, "relaxAddressVerificationSystemAllowZipWithoutCountry": true } }, "visaStraightThroughProcessingOnly": false, "ignoreAddressVerificationSystem": true }, "cardPresent": { "processors": { "VPC": { "defaultPointOfSaleTerminalId": "223344", "pointOfSaleTerminalIds": "223355" } } } } }, "templateId": "D671CE88-2F09-469C-A1B4-52C47812F792" } }, "virtualTerminal": { "subscriptionInformation": { "enabled": true }, "configurationInformation": { "templateId": "9FA1BB94-5119-48D3-B2E5-A81FD3C657B5" } }, "customerInvoicing": { "subscriptionInformation": { "enabled": true } } }, "risk": {}, "commerceSolutions": { "tokenManagement": { "subscriptionInformation": { "enabled": true }, "configurationInformation": { "templateId": "D62BEE20-DCFD-4AA2-8723-BA3725958ABA" } } }, "valueAddedServices": { "transactionSearch": { "subscriptionInformation": { "enabled": true } }, "reporting": { "subscriptionInformation": { "enabled": true } } } } } } }, "example10": { "summary": "Merchant Boarding with binLookup", "value": { "organizationInformation": { "parentOrganizationId": "apitester00", "type": "MERCHANT", "configurable": "true", "businessInformation": { "name": "StuartWickedFastEatz", "address": { "country": "US", "address1": "123456 SandMarket", "locality": "ORMOND BEACH", "administrativeArea": "FL", "postalCode": "32176" }, "websiteUrl": "https://www.StuartWickedEats.com", "phoneNumber": "6574567813", "businessContact": { "firstName": "Stuart", "lastName": "Stuart", "phoneNumber": "6574567813", "email": "svc_email_bt@corpdev.visa.com" }, "merchantCategoryCode": "5999" } }, "productInformation": { "selectedProducts": { "payments": {}, "risk": {}, "commerceSolutions": { "binLookup": { "subscriptionInformation": { "enabled": true }, "configurationInformation": { "configuration": { "isPayoutOptionsEnabled": false, "isAccountPrefixEnabled": true } } } }, "valueAddedServices": {} } } } } } } }, "/boarding/v1/registrations/{registrationId}": { "get": { "x-devcenter-metaData": { "categoryTag": "Merchant_Boarding", "firstLevelApiLifeCycle": "beta", "secondLevelApiLifeCycle": "beta", "apiLifeCycle": "beta", "disableProcessorDropDown": true, "authorizationType": [ "Json Web Token" ], "overrideMerchantCredential": "apitester00", "developerGuides": "https://developer.cybersource.com/api/developer-guides/Merchant-Boarding-API_ditamap/Merchant-Boarding-API.html", "SDK_ONLY_AddDisclaimer": true }, "tags": [ "Merchant Boarding" ], "summary": "Gets all the information on a boarding registration", "description": "This end point will get all information of a boarding registration\n", "operationId": "getRegistration", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "registrationId", "type": "string", "description": "Identifies the boarding registration to be updated", "required": true } ], "responses": { "200": { "description": "OK", "headers": { "v-c-correlationid": { "type": "string", "description": "Unique identifier for this request" } }, "schema": { "type": "object", "properties": { "registrationInformation": { "type": "object", "properties": { "boardingRegistrationId": { "type": "string", "maxLength": 60, "example": "1234124", "readOnly": true }, "submitTimeUtc": { "type": "string", "format": "date", "example": "2019-06-11T22:47:57.000Z", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n", "readOnly": true }, "status": { "type": "string", "readOnly": true, "description": "The status of Registration request\nPossible Values:\n - 'PROCESSING': This status is for Registrations that are still in Progress, you can get the latest status by calling the GET endpoint using the Registration Id\n - 'SUCCESS': This status is for Registrations that were successfull on every step of the on boarding process.\n - 'FAILURE': This status is for Registrations that fail before the Organization was created; please refer to the details section in the reponse for more information.\n - 'PARTIAL': This status is for Registrations that created the Organization successfully but fail in at least on step while configuring it; please refer to the details section in the response for more information.\n", "enum": [ "PROCESSING", "SUCCESS", "FAILURE", "PARTIAL" ] }, "boardingPackageId": { "type": "string", "maxLength": 60, "example": 1004001 }, "boardingFlow": { "type": "string", "description": "Determines the boarding flow for this registration.\nPossible Values:\n - 'ENTERPRISE'\n - 'SMB'\n - 'ADDPRODUCT'\n", "enum": [ "ENTERPRISE", "SMB", "ADDPRODUCT" ] }, "mode": { "type": "string", "description": "In case mode is not provided the API will use COMPLETE as default\nPossible Values:\n - 'COMPLETE'\n - 'PARTIAL'\n", "enum": [ "COMPLETE", "PARTIAL" ] }, "salesRepId": { "type": "string", "maxLength": 60, "example": "Rep1" } } }, "integrationInformation": { "type": "object", "properties": { "oauth2": { "type": "array", "items": { "type": "object", "properties": { "client_id": { "type": "string", "maxLength": 32, "example": "client123" }, "state": { "type": "string", "maxLength": 20, "example": "test123" } }, "required": [ "client_id" ] } }, "tenantConfigurations": { "type": "array", "description": "tenantConfigurations is an array of objects that includes the tenant information this merchant is associated with.", "items": { "type": "object", "properties": { "solutionId": { "type": "string", "maxLength": 8, "minLength": 8, "pattern": "^[0-9a-zA-Z_]+$", "description": "The solutionId is the unique identifier for this system resource.\nPartner can use it to reference the specific solution through out the system.\n", "example": "YumSolution1" }, "tenantConfigurationId": { "type": "string", "maxLength": 30, "minLength": 6, "pattern": "^[0-9a-zA-Z_]+$", "description": "The tenantConfigurationId is the unique identifier for this system resource.\nYou will see various places where it must be referenced in the URI path, or when\nquerying the hierarchy for ancestors or descendants.\n" }, "status": { "type": "string", "enum": [ "LIVE", "INACTIVE", "TEST" ] }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC.", "format": "date-time" }, "tenantInformation": { "type": "object", "properties": { "tenantId": { "type": "string", "maxLength": 50, "minLength": 1, "description": "The TenantId is an external Solution Identifier given by Tech Partners like SAP.", "example": "SAP123" } } } } } } } }, "organizationInformation": { "type": "object", "properties": { "organizationId": { "type": "string", "maxLength": 30, "minLength": 6, "pattern": "^[0-9a-zA-Z_]+$", "example": "merch-test1" }, "parentOrganizationId": { "type": "string", "description": "This field is required for Organization Types: MERCHANT, TRANSACTING\n", "maxLength": 30, "minLength": 6, "pattern": "^[0-9a-zA-Z_]+$", "example": "merch-test1-acct" }, "childOrganizations": { "readOnly": true, "type": "array", "items": { "type": "string", "maxLength": 30, "minLength": 6, "pattern": "^[0-9a-zA-Z_]+$", "example": "transactional-org" } }, "type": { "type": "string", "description": "Determines the type of organization in the hirarchy that this registration will use to onboard this Organization\nPossible Values:\n - 'TRANSACTING'\n - 'STRUCTURAL'\n - 'MERCHANT'\n", "enum": [ "TRANSACTING", "STRUCTURAL", "MERCHANT" ] }, "status": { "type": "string", "description": "Determines the status that the organization will be after being onboarded\nPossible Values:\n - 'LIVE'\n - 'TEST'\n - 'DRAFT'\n", "enum": [ "LIVE", "TEST", "DRAFT" ] }, "configurable": { "description": "This denotes the one organization, with exception to the TRANSACTING types, that is allowed to be used for configuration purposes against products. Eventually this field will be deprecated and all organizations will be allowed for product configuration.", "type": "boolean", "default": false, "example": false }, "businessInformation": { "type": "object", "properties": { "name": { "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", "example": "Betos Restaurant" }, "doingBusinessAs": { "type": "string", "maxLength": 60, "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", "example": "Betos Restaurant" }, "description": { "type": "string", "maxLength": 250, "pattern": "[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ff\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ff\\n\\ra-zA-Z0-9().\\-_#,;/\\\\@$:&!?%\u00ab\u00bb\u20ac\u20a3\u00ab\u00bb\u20ac\u20a3 ]{1,}$", "example": "International food Restaurant" }, "startDate": { "type": "string", "format": "date", "pattern": "^\\d{4}\\-(0[1-9]|1[012])\\-(0[1-9]|[12][0-9]|3[01])$", "example": "2019-06-11T00:00:00.000Z", "description": "`Format: YYYY-MM-DD`\nExample 2016-08-11 equals August 11, 2016\n" }, "address": { "type": "object", "properties": { "country": { "type": "string", "maxLength": 2, "minLength": 2, "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/@$:!% ]{1,}$", "example": "US" }, "address1": { "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/@$:!% ]{1,}$", "example": "123 Fake st" }, "address2": { "type": "string", "maxLength": 60, "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/@$:!% ]{1,}$", "example": "apt 2" }, "locality": { "type": "string", "maxLength": 50, "minLength": 1, "pattern": "^[0-9a-zA-Z _\\-\u00a1-\uffff]+$", "description": "City of the billing address.", "example": "Bellevue" }, "administrativeArea": { "type": "string", "minLength": 1, "maxLength": 50, "pattern": "^[0-9a-zA-Z\u00a1-\uffff ]*$", "description": "State or province of the billing address. Required for United States and Canada.", "example": "WA" }, "postalCode": { "type": "string", "minLength": 1, "maxLength": 20, "pattern": "^[0-9a-zA-Z ]*$", "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits. Required for United States and Canada.", "example": 3384 } }, "required": [ "country", "address1", "locality" ] }, "timeZone": { "type": "string", "description": "Merchant perferred time zone\nPossible Values:\n- 'Pacific/Pago_Pago'\n- 'Pacific/Honolulu'\n- 'America/Anchorage'\n- 'America/Vancouver'\n- 'America/Los_Angeles'\n- 'America/Phoenix'\n- 'America/Edmonton'\n- 'America/Denver'\n- 'America/Winnipeg'\n- 'America/Mexico_City'\n- 'America/Chicago'\n- 'America/Bogota'\n- 'America/Indianapolis'\n- 'America/New_York'\n- 'America/La_Paz'\n- 'America/Halifax'\n- 'America/St_Johns'\n- 'America/Buenos_Aires'\n- 'America/Godthab'\n- 'America/Sao_Paulo'\n- 'America/Noronha'\n- 'Atlantic/Cape_Verde'\n- 'GMT'\n- 'Europe/Dublin'\n- 'Europe/Lisbon'\n- 'Europe/London'\n- 'Africa/Tunis'\n- 'Europe/Vienna'\n- 'Europe/Brussels'\n- 'Europe/Zurich'\n- 'Europe/Prague'\n- 'Europe/Berlin'\n- 'Europe/Copenhagen'\n- 'Europe/Madrid'\n- 'Europe/Budapest'\n- 'Europe/Rome'\n- 'Africa/Tripoli'\n- 'Europe/Monaco'\n- 'Europe/Malta'\n- 'Europe/Amsterdam'\n- 'Europe/Oslo'\n- 'Europe/Warsaw'\n- 'Europe/Stockholm'\n- 'Europe/Belgrade'\n- 'Europe/Paris'\n- 'Africa/Johannesburg'\n- 'Europe/Minsk'\n- 'Africa/Cairo'\n- 'Europe/Helsinki'\n- 'Europe/Athens'\n- 'Asia/Jerusalem'\n- 'Europe/Riga'\n- 'Europe/Bucharest'\n- 'Europe/Istanbul'\n- 'Asia/Riyadh'\n- 'Europe/Moscow'\n- 'Asia/Dubai'\n- 'Asia/Baku'\n- 'Asia/Tbilisi'\n- 'Asia/Calcutta'\n- 'Asia/Katmandu'\n- 'Asia/Dacca'\n- 'Asia/Rangoon'\n- 'Asia/Jakarta'\n- 'Asia/Saigon'\n- 'Asia/Bangkok'\n- 'Australia/Perth'\n- 'Asia/Hong_Kong'\n- 'Asia/Macao'\n- 'Asia/Kuala_Lumpur'\n- 'Asia/Manila'\n- 'Asia/Singapore'\n- 'Asia/Taipei'\n- 'Asia/Shanghai'\n- 'Asia/Seoul'\n- 'Asia/Tokyo'\n- 'Asia/Yakutsk'\n- 'Australia/Adelaide'\n- 'Australia/Brisbane'\n- 'Australia/Broken_Hill'\n- 'Australia/Darwin'\n- 'Australia/Eucla'\n- 'Australia/Hobart'\n- 'Australia/Lindeman'\n- 'Australia/Sydney'\n- 'Australia/Lord_Howe'\n- 'Australia/Melbourne'\n- 'Asia/Magadan'\n- 'Pacific/Norfolk'\n- 'Pacific/Auckland'\n", "enum": [ "Pacific/Pago_Pago", "Pacific/Honolulu", "America/Anchorage", "America/Vancouver", "America/Los_Angeles", "America/Phoenix", "America/Edmonton", "America/Denver", "America/Winnipeg", "America/Mexico_City", "America/Chicago", "America/Bogota", "America/Indianapolis", "America/New_York", "America/La_Paz", "America/Halifax", "America/St_Johns", "America/Buenos_Aires", "America/Godthab", "America/Sao_Paulo", "America/Noronha", "Atlantic/Cape_Verde", "GMT", "Europe/Dublin", "Europe/Lisbon", "Europe/London", "Africa/Tunis", "Europe/Vienna", "Europe/Brussels", "Europe/Zurich", "Europe/Prague", "Europe/Berlin", "Europe/Copenhagen", "Europe/Madrid", "Europe/Budapest", "Europe/Rome", "Africa/Tripoli", "Europe/Monaco", "Europe/Malta", "Europe/Amsterdam", "Europe/Oslo", "Europe/Warsaw", "Europe/Stockholm", "Europe/Belgrade", "Europe/Paris", "Africa/Johannesburg", "Europe/Minsk", "Africa/Cairo", "Europe/Helsinki", "Europe/Athens", "Asia/Jerusalem", "Europe/Riga", "Europe/Bucharest", "Europe/Istanbul", "Asia/Riyadh", "Europe/Moscow", "Asia/Dubai", "Asia/Baku", "Asia/Tbilisi", "Asia/Calcutta", "Asia/Katmandu", "Asia/Dacca", "Asia/Rangoon", "Asia/Jakarta", "Asia/Saigon", "Asia/Bangkok", "Australia/Perth", "Asia/Hong_Kong", "Asia/Macao", "Asia/Kuala_Lumpur", "Asia/Manila", "Asia/Singapore", "Asia/Taipei", "Asia/Shanghai", "Asia/Seoul", "Asia/Tokyo", "Asia/Yakutsk", "Australia/Adelaide", "Australia/Brisbane", "Australia/Broken_Hill", "Australia/Darwin", "Australia/Eucla", "Australia/Hobart", "Australia/Lindeman", "Australia/Sydney", "Australia/Lord_Howe", "Australia/Melbourne", "Asia/Magadan", "Pacific/Norfolk", "Pacific/Auckland" ], "example": "America/Chicago" }, "websiteUrl": { "type": "string", "maxLength": 100, "pattern": "\\b((?:https?://|www\\d{0,3}[.]|[a-z0-9.\\-]+[.][a-z]{2,4}/)(?:[^\\s()<>]+|\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\))+(?:\\(([^\\s()<>]+|(\\([^\\s()<>]+\\)))*\\)|[^\\s`!()\\[\\]{};:'\".,<>?\u00c2\u00ab\u00c2\u00bb\u00e2\u20ac\u0153\u00e2\u20ac\u009d\u00e2\u20ac\u02dc\u00e2\u20ac\u2122]))", "example": "www.test.com" }, "type": { "type": "string", "description": "Business type\nPossible Values:\n - 'PARTNERSHIP'\n - 'SOLE_PROPRIETORSHIP'\n - 'CORPORATION'\n - 'LLC'\n - 'NON_PROFIT'\n - 'TRUST'\n", "enum": [ "PARTNERSHIP", "SOLE_PROPRIETORSHIP", "CORPORATION", "LLC", "NON_PROFIT", "TRUST" ] }, "taxId": { "type": "string", "maxLength": 9, "pattern": "\\d{9}", "example": 254324 }, "phoneNumber": { "type": "string", "maxLength": 20, "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", "example": 4564561234 }, "businessContact": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 50, "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", "example": "John" }, "middleName": { "type": "string", "maxLength": 50, "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", "example": "John" }, "lastName": { "type": "string", "maxLength": 50, "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", "example": "John" }, "phoneNumber": { "type": "string", "maxLength": 20, "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", "example": 4567890398 }, "email": { "type": "string", "maxLength": 100, "pattern": "^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,50}|[0-9]{1,3})(\\]?)$", "example": "test@test.com" } }, "required": [ "firstName", "lastName", "phoneNumber", "email" ] }, "technicalContact": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 50, "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", "example": "John" }, "middleName": { "type": "string", "maxLength": 50, "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", "example": "John" }, "lastName": { "type": "string", "maxLength": 50, "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", "example": "John" }, "phoneNumber": { "type": "string", "maxLength": 20, "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", "example": 4567890398 }, "email": { "type": "string", "maxLength": 100, "pattern": "^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,50}|[0-9]{1,3})(\\]?)$", "example": "test@test.com" } }, "required": [ "firstName", "lastName", "phoneNumber", "email" ] }, "emergencyContact": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 50, "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", "example": "John" }, "middleName": { "type": "string", "maxLength": 50, "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", "example": "John" }, "lastName": { "type": "string", "maxLength": 50, "pattern": "^[0-9a-zA-Z _\\-\\+\\.\\*\\\"/'&\\,\\(\\)!$;:?@\\#\u00a1-\uffff]+$", "example": "John" }, "phoneNumber": { "type": "string", "maxLength": 20, "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", "example": 4567890398 }, "email": { "type": "string", "maxLength": 100, "pattern": "^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,50}|[0-9]{1,3})(\\]?)$", "example": "test@test.com" } }, "required": [ "firstName", "lastName", "phoneNumber", "email" ] }, "merchantCategoryCode": { "type": "string", "maxLength": 4, "pattern": "^\\d{3,4}$", "example": 5300, "description": "Industry standard Merchant Category Code (MCC)" } }, "required": [ "name" ] }, "KYC": { "type": "object", "properties": { "whenIsCustomerCharged": { "type": "string", "enum": [ "ONETIMEBEFORE", "ONETIMEAFTER", "OTHER" ], "example": "ONETIMEBEFORE" }, "whenIsCustomerChargedDescription": { "type": "string", "maxLength": 100 }, "offerSubscriptions": { "type": "boolean", "example": true }, "monthlySubscriptionPercent": { "type": "number", "format": "decimal", "pattern": "^((100)|(\\d{0,2}))$", "example": 30 }, "quarterlySubscriptionPercent": { "type": "number", "format": "decimal", "pattern": "^((100)|(\\d{0,2}))$", "example": 20 }, "semiAnnualSubscriptionPercent": { "type": "number", "format": "decimal", "pattern": "^((100)|(\\d{0,2}))$", "example": 50 }, "annualSubscriptionPercent": { "type": "number", "format": "decimal", "pattern": "^((100)|(\\d{0,2}))$", "example": 100 }, "timeToProductDelivery": { "type": "string", "enum": [ "INSTANT", "UPTO2", "UPTO5", "UPTO10", "GREATERTHAN10" ] }, "estimatedMonthlySales": { "type": "number", "format": "currency", "pattern": "^\\d{1,8}(\\.\\d{1,2})?$", "example": 10000.5 }, "averageOrderAmount": { "type": "number", "format": "currency", "pattern": "^\\d{1,6}(\\.\\d{1,2})?$", "example": 50.5 }, "largestExpectedOrderAmount": { "type": "number", "format": "currency", "pattern": "^\\d{1,6}(\\.\\d{1,2})?$", "example": 100.5 }, "depositBankAccount": { "type": "object", "properties": { "accountHolderName": { "type": "string", "maxLength": 40, "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ff\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/\\\\@$:&!?%\u00ab\u00bb\u20ac\u20a3\u00ab\u00bb\u20ac\u20a3 ]{1,}$", "example": "John Doe" }, "accountType": { "type": "string", "enum": [ "checking", "savings", "corporatechecking", "corporatesavings" ], "example": "checking" }, "accountRoutingNumber": { "type": "string", "maxLength": 9, "pattern": "\\d{9}" }, "accountNumber": { "type": "string", "maxLength": 17, "pattern": "^\\d{5,17}$" } }, "required": [ "accountHolderName", "accountType", "accountRoutingNumber", "accountNumber" ] } }, "required": [ "whenIsCustomerCharged", "offerSubscriptions", "timeToProductDelivery", "estimatedMonthlySales", "averageOrderAmount", "largestExpectedOrderAmount" ] }, "owners": { "type": "array", "items": { "type": "object", "properties": { "firstName": { "type": "string", "maxLength": 50, "pattern": "[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ff\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z().\\-_#,;/\\\\@$:&!?%\u00ab\u00bb\u20ac\u20a3\u00ab\u00bb\u20ac\u20a3 ]{1,}$", "example": "John" }, "middleName": { "type": "string", "maxLength": 50, "pattern": "[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ff\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z().\\-_#,;/\\\\@$:&!?%\u00ab\u00bb\u20ac\u20a3\u00ab\u00bb\u20ac\u20a3 ]{1,}$", "example": "John" }, "lastName": { "type": "string", "maxLength": 50, "pattern": "[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ff\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z().\\-_#,;/\\\\@$:&!?%\u00ab\u00bb\u20ac\u20a3\u00ab\u00bb\u20ac\u20a3 ]{1,}$", "example": "John" }, "birthDate": { "type": "string", "format": "date", "pattern": "^\\d{4}\\-(0[1-9]|1[012])\\-(0[1-9]|[12][0-9]|3[01])$", "example": "2016-08-11T00:00:00.000Z", "description": "`Format: YYYY-MM-DD`\nExample 2016-08-11 equals August 11, 2016\n" }, "isPrimary": { "type": "boolean", "description": "Determines whether the owner is the Primary owner of the organization", "example": true }, "ssn": { "type": "string", "maxLength": 12, "pattern": "^\\d{3}-\\d{2}-\\d{4}$|^\\d{9,9}$", "example": 123456789, "description": "Social Security Number" }, "passportNumber": { "type": "string", "maxLength": 12, "pattern": "^(?!^0+$)[a-zA-Z0-9]{3,20}$", "example": "1234556", "description": "Passport number" }, "passportCountry": { "type": "string", "maxLength": 2, "minLength": 2, "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/@$:!% ]{1,}$", "example": "US" }, "jobTitle": { "type": "string", "maxLength": 100, "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/@$:!% ]{1,}$", "example": "Director" }, "hasSignificantResponsability": { "type": "boolean", "description": "Determines whether owner has significant responsibility to control, manage or direct the company", "example": true }, "ownershipPercentage": { "type": "number", "pattern": "^[0-9]$|^[1-9][0-9]$|^(100)$", "description": "Determines the percentage of ownership this owner has. For the primary owner the percentage can be from 0-100; for other owners the percentage can be from 25-100 and the sum of ownership accross owners cannot exceed 100", "example": 25 }, "phoneNumber": { "type": "string", "maxLength": 20, "pattern": "^[0-9a-zA-Z\\\\+\\\\-]+$", "example": 4567890398 }, "email": { "type": "string", "maxLength": 100, "pattern": "^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,50}|[0-9]{1,3})(\\]?)$", "example": "test@test.com" }, "address": { "type": "object", "properties": { "country": { "type": "string", "maxLength": 2, "minLength": 2, "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/@$:!% ]{1,}$", "example": "US" }, "address1": { "type": "string", "maxLength": 60, "minLength": 1, "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/@$:!% ]{1,}$", "example": "123 Fake st" }, "address2": { "type": "string", "maxLength": 60, "pattern": "^[\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ffa-zA-Z0-9().\\-_#,;/@$:!% ]{1,}$", "example": "apt 2" }, "locality": { "type": "string", "maxLength": 50, "minLength": 1, "pattern": "^[0-9a-zA-Z _\\-\u00a1-\uffff]+$", "description": "City of the billing address.", "example": "Bellevue" }, "administrativeArea": { "type": "string", "minLength": 1, "maxLength": 50, "pattern": "^[0-9a-zA-Z\u00a1-\uffff ]*$", "description": "State or province of the billing address. Required for United States and Canada.", "example": "WA" }, "postalCode": { "type": "string", "minLength": 1, "maxLength": 20, "pattern": "^[0-9a-zA-Z ]*$", "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits. Required for United States and Canada.", "example": 3384 } }, "required": [ "country", "address1", "locality" ] } }, "required": [ "firstName", "lastName", "birthDate", "jobTitle", "hasSignificantResponsability", "ownershipPercentage", "phoneNumber", "email", "address", "isPrimary" ] } } }, "required": [ "businessInformation" ] }, "productInformation": { "type": "object", "properties": { "selectedProducts": { "type": "object", "properties": { "payments": { "title": "paymentsProducts", "type": "object", "properties": { "cardProcessing": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." }, "features": { "type": "object", "description": "This is a map. The allowed keys are below. Value should be an object containing a sole boolean property - enabled.\n\n \n \n \n \n \n \n
cardPresent
cardNotPresent
\n", "additionalProperties": { "x-devcenter-additional-properties": [ "cardPresent", "cardNotPresent" ], "type": "object", "properties": { "enabled": { "type": "boolean" } } } } } }, "configurationInformation": { "type": "object", "properties": { "templateId": { "type": "string", "format": "uuid" }, "configurations": { "type": "object", "title": "CardProcessingConfig", "properties": { "common": { "type": "object", "properties": { "processors": { "type": "object", "description": "e.g.\n* amexdirect\n* barclays2\n* CUP\n* EFTPOS\n* fdiglobal\n* gpngsapv3\n* gpx\n* smartfdc\n* tsys\n* vero\n* VPC\n\nFor VPC, CUP and EFTPOS processors, replace the processor name from VPC or CUP or EFTPOS to the actual processor name in the sample request.\ne.g. replace VPC with <your vpc processor>\n", "additionalProperties": { "x-devcenter-additional-properties": [ "amexdirect", "barclays2", "CUP", "EFTPOS", "fdiglobal", "gpngsapv3", "gpx", "smartfdc", "tsys", "vero", "VPC" ], "type": "object", "properties": { "batchGroup": { "type": "string", "description": "Determines the batching group that separates merchants for special batching times. Batching groups can separate merchant batches by the following criteria:\n\n* Timezone\n* Merchant deadlines\n* Large merchants (top 10)\n* Merchants with Service-Level Agreements\n\nApplicable for Chase Paymentech Salem (chasepaymentechsalem), Streamline (streamline2), Six (six), Barclays (barclays2), Paymentech Tampa (paymentechtampa), CMCIC (cmcic), FDC Nashville (smartfdc), RUPAY, American Express Direct (amexdirect), GPN (gpn), VPC, GPX (gpx), CB2A, Barclays HISO (barclayshiso), TSYS (tsys) and FDI Global (fdiglobal) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n\n
ProcessorAcceptance TypeRequired
Barclayscnp, cp, hybridYes
Barclays HISOcnp, cp, hybridYes
American Express Directcnp, cp, hybridNo
\n" }, "businessApplicationId": { "type": "string", "description": "Indicates the type of money transfer used in the transaction. Applicable for VPC and GPX (gpx) processors." }, "merchantVerificationValue": { "type": "string", "description": "Identify merchants that participate in Select Merchant Fee (SMF) programs. Unique to the merchant. Applicable for GPX (gpx) and VPC processors." }, "abaNumber": { "type": "string", "description": "Routing Number to identify banks within the United States. Applicable for GPX (gpx) processors." }, "acquirer": { "type": "object", "description": "Identifies the financial institution acting as the acquirer of this customer transaction. The acquirer is the member or system user that signed the merchant.", "properties": { "institutionId": { "type": "string", "description": "Identifier of the acquirer. This number is usually assigned by Visa.\nApplicable for VPC, GPX (gpx), CMCIC (cmcic), EFTPOS, CB2A, CUP, American Express Direct (amexdirect) and Six (six) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegexDefault Value
American Express Directcnp, cp, hybridYes113^[0-9]+$1111
\n" }, "interbankCardAssociationId": { "type": "string", "description": "Number assigned by MasterCard to banks to identify the member in transactions. Applicable for VPC and GPX (gpx) processors." }, "discoverInstitutionId": { "type": "string", "description": "Assigned by Discover to identify the acquirer. Applicable for VPC and GPX (gpx) processors." }, "countryCode": { "type": "string", "description": "ISO 4217 format. Applicable for VPC, GPX (gpx), EFTPOS, RUPAY, Prisma (prisma) and CUP processors." }, "fileDestinationBin": { "type": "string", "description": "The BIN to which this\u00a0capturefile is sent. This field must contain a valid BIN. Applicable for VPC and GPX (gpx) processors." } } }, "merchantId": { "type": "string", "description": "Merchant ID assigned by an acquirer or a processor. Should not be overriden by any other party.\n\nValidation details (for selected processors)...\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
Barclays HISOcp, cnp, hybridYes115^[0-9a-zA-Z]+$
Barclayscp, cnp, hybridYes111^[0-9a-zA-Z]+$
\n" }, "terminalId": { "type": "string", "description": "The 'Terminal Id' aka TID, is an identifier used for with your payments processor.\nDepending on the processor and payment acceptance type this may also be the default Terminal ID used for Card Present and Virtual Terminal transactions.\n\nValidation details (for selected processors)...\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
Barclays HISOcnp, hybridYes116^[0-9a-zA-Z]+$
Barclays HISOcpNo116^[0-9a-zA-Z]+$
\n" }, "paymentTypes": { "type": "object", "description": "Valid values are:\n* VISA\n* MASTERCARD\n* AMERICAN_EXPRESS\n* CUP\n* EFTPOS\n* DINERS_CLUB\n* DISCOVER\n* JCB\n", "additionalProperties": { "x-devcenter-additional-properties": [ "VISA", "MASTERCARD", "AMERICAN_EXPRESS", "DISCOVER", "DINERS_CLUB", "JCB", "PIN_DEBIT" ], "type": "object", "properties": { "enabled": { "type": "boolean" }, "currencies": { "type": "object", "description": "Three-character [ISO 4217 ALPHA-3 Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)", "additionalProperties": { "x-devcenter-additional-properties": [ "USD", "CAD", "GBP", "EUR", "CHF", "NGN", "ETB", "CUP", "AZN", "RWF", "DOP", "GMD", "BBD", "GTG", "NPR", "SHP", "BZD", "JMP", "PHP", "BRL", "TZS", "BAM", "ISK", "KWD", "RON", "ARS", "SBD", "NOK", "KRW", "TJS", "JOD", "MOP", "CLP", "SOS", "MGA", "LVL", "GIP", "PYG", "SAR", "PGK", "SGD", "ROL", "BSD", "TRY", "CDF", "SYP", "BMD", "MRO", "WST", "GHS", "BTN", "HNL", "MAD", "GAR", "SRD", "BDT", "KGS", "GNF", "CNY", "JPY", "LYD", "TTD", "CVE", "SZL", "ZMW", "KPW", "PEN", "YER", "VEB", "KHR", "VEF", "VUV", "SLL", "AFN", "SCR", "BOB", "COP", "LTL", "EGP", "HUF", "RSD", "AOA", "MYR", "MTL", "CYP", "FKP", "GYD", "PLN", "KMF", "SGD", "IQD", "DKK", "KES", "UZS", "TMM", "NZD", "LKR", "EEK", "SKK", "ANG", "INR", "UYU", "LSL", "TND", "STD", "HTG", "VND", "AED", "MZN", "BND", "KZT", "PKR", "XCD", "RUB", "MKD", "BWP", "AWG", "GEL", "MDL", "HKD", "MVR", "amd", "IRR", "NAD", "MWK", "MNT", "CRC", "XPF", "LAK", "HRK", "ALL", "TOP", "BIF", "MUR", "PAB", "FJD", "CZK", "ZWD", "KYD", "IDR", "BGN", "MXN", "UGX", "MMK", "UAH", "DZD", "XAF", "THB", "OMR", "XOF", "AUD", "ZAR", "LBP", "NIO", "DJF", "LRD", "TWD", "ERN", "BHD", "ILS", "SEK", "BYR" ], "type": "object", "properties": { "enabled": { "type": "boolean" }, "enabledCardPresent": { "type": "boolean", "description": "Indicates whether the card-present transaction is activated for the selected currency. If both enabledCardPresent and enabledCardNotPresent are set to null, then enabledCardPresent will have the value of enabled." }, "enabledCardNotPresent": { "type": "boolean", "description": "Indicates whether the card-not-present transaction is activated for the selected currency. If both enabledCardPresent and enabledCardNotPresent are set to null, then enabledCardNotPresent will have the value of enabled." }, "merchantId": { "type": "string", "description": "Merchant ID assigned by an acquirer or a processor. Should not be overridden by any other party." }, "terminalId": { "type": "string", "description": "The 'Terminal Id' aka TID, is an identifier used for with your payments processor.\nDepending on the processor and payment acceptance type this may also be the default Terminal ID used for Card Present and Virtual Terminal transactions.\n" }, "terminalIds": { "type": "array", "items": { "type": "string" }, "description": "Applicable for Prisma (prisma) processor." }, "serviceEnablementNumber": { "type": "string", "description": "Service Establishment Number (a.k.a. SE Number) is a unique ten-digit number assigned by American Express to a merchant that accepts American Express cards.\n10 digit number provided by acquirer currency. This may be unique for each currency, however it depends on the way the processor is set up for the merchant.\n" } } } } } } }, "currencies": { "type": "object", "description": "Three-character [ISO 4217 ALPHA-3 Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)", "additionalProperties": { "x-devcenter-additional-properties": [ "USD", "CAD", "GBP", "EUR", "CHF", "NGN", "ETB", "CUP", "AZN", "RWF", "DOP", "GMD", "BBD", "GTG", "NPR", "SHP", "BZD", "JMP", "PHP", "BRL", "TZS", "BAM", "ISK", "KWD", "RON", "ARS", "SBD", "NOK", "KRW", "TJS", "JOD", "MOP", "CLP", "SOS", "MGA", "LVL", "GIP", "PYG", "SAR", "PGK", "SGD", "ROL", "BSD", "TRY", "CDF", "SYP", "BMD", "MRO", "WST", "GHS", "BTN", "HNL", "MAD", "GAR", "SRD", "BDT", "KGS", "GNF", "CNY", "JPY", "LYD", "TTD", "CVE", "SZL", "ZMW", "KPW", "PEN", "YER", "VEB", "KHR", "VEF", "VUV", "SLL", "AFN", "SCR", "BOB", "COP", "LTL", "EGP", "HUF", "RSD", "AOA", "MYR", "MTL", "CYP", "FKP", "GYD", "PLN", "KMF", "SGD", "IQD", "DKK", "KES", "UZS", "TMM", "NZD", "LKR", "EEK", "SKK", "ANG", "INR", "UYU", "LSL", "TND", "STD", "HTG", "VND", "AED", "MZN", "BND", "KZT", "PKR", "XCD", "RUB", "MKD", "BWP", "AWG", "GEL", "MDL", "HKD", "MVR", "amd", "IRR", "NAD", "MWK", "MNT", "CRC", "XPF", "LAK", "HRK", "ALL", "TOP", "BIF", "MUR", "PAB", "FJD", "CZK", "ZWD", "KYD", "IDR", "BGN", "MXN", "UGX", "MMK", "UAH", "DZD", "XAF", "THB", "OMR", "XOF", "AUD", "ZAR", "LBP", "NIO", "DJF", "LRD", "TWD", "ERN", "BHD", "ILS", "SEK", "BYR" ], "type": "object", "properties": { "enabled": { "type": "boolean" }, "enabledCardPresent": { "type": "boolean", "description": "Indicates whether the card-present transaction is activated for the selected currency. If both enabledCardPresent and enabledCardNotPresent are set to null, then enabledCardPresent will have the value of enabled.\n" }, "enabledCardNotPresent": { "type": "boolean", "description": "Indicates whether the card-present transaction is activated for the selected currency. If both enabledCardPresent and enabledCardNotPresent are set to null, then enabledCardNotPresent will have the value of enabled.\n" }, "merchantId": { "description": "Merchant ID assigned by an acquirer or a processor. Should not be overriden by any other party.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
Barclayscp, cnp, hybridYes111^[0-9a-zA-Z]+$
\n" }, "terminalId": { "description": "The 'Terminal Id' aka TID, is an identifier used for with your payments processor.\nDepending on the processor and payment acceptance type this may also be the default Terminal ID used for Card Present and Virtual Terminal transactions.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
Barclayscp, cnp, hybridYes88^[0-9]+$
\n" }, "terminalIds": { "type": "array", "items": { "type": "string" }, "description": "Applicable for Prisma (prisma) processor." }, "serviceEnablementNumber": { "description": "Service Establishment Number (a.k.a. SE Number) is a unique ten-digit number assigned by American Express to a merchant that accepts American Express cards.\n10 digit number provided by acquirer currency. This may be unique for each currency, however it depends on the way the processor is set up for the merchant.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcp, cnp, hybridYes1010^[0-9]+$
\n" } } } }, "sicCode": { "type": "string", "description": "The Standard Industrial Classification (SIC) are four-digit codes that categorize the industries that companies belong to based on their business activities. Standard Industrial Classification codes were mostly replaced by the six-digit North American Industry Classification System (NAICS). Applicable for VPC and GPX (gpx) processors." }, "allowMultipleBills": { "type": "boolean", "description": "Allows multiple captures for a single authorization transaction.\nApplicable for Paymentech Tampa (paymentechtampa), VPC, American Express Direct (amexdirect) and GPX (gpx) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcp, hybridYesNo
American Express DirectcnpNoNo
\n" }, "allowMerchantDescriptorOverride": { "type": "boolean", "description": "Enables partner to enable/disable merchant descriptors values. Applicable for VPC, EFTPOS and CUP processors." }, "enhancedData": { "type": "string", "description": "To enable airline transactions.\nApplicable for TSYS (tsys), VPC, Elavon Americas (elavonamericas), FDI Global (fdiglobal), GPX (gpx), Barclays (barclays2) and American Express Direct (amexdirect) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n
ProcessorAcceptance TypeRequired
Barclayscnp, cp, hybridNo
American Express Directcp, cnp, hybridNo
\n" }, "fireSafetyIndicator": { "type": "boolean", "description": "Indicates whether the merchant is compliant with Hotel and Motel Fire Safety Act of 1990. Applicable for GPX (gpx) and VPC processors." }, "quasiCash": { "type": "boolean", "description": "To enable quasi-cash transactions. A quasi-cash transaction is a cash-like transaction for the sale of items that are directly convertible to cash, such as:-\nCasino gaming chips,\nMoney orders,\nWire transfers.\n\nApplicable for GPX (gpx), TSYS (tsys), Barclays (barclays2) and VPC processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
Barclayscnp, cp, hybridNoNo
\n" }, "acquirerMerchantId": { "type": "string", "description": "Identifier assigned by the acquirer. Applicable for RUPAY, VPC and Six (six) processors." }, "avsFormat": { "type": "string", "description": "Enables Enhanced AVS/Automated Address Verification Plus (AAV+).\n\nValid values:\n\"basic\" - Standard address verification system.\n When a processor supports AVS for a transaction's card type, the issuing bank uses AVS to confirm that the customer has provided the correct billing address.\n When a customer provides incorrect information, the transaction might be fraudulent.\n\"basic + name\" - Enhanced address verification system.\n Consists of the standard AVS functionality plus verification of some additional fields.\n The additional fields that are verified for Enhanced AVS are:\n - customer_firstname\n - customer_lastname\n\"basic + name + shipto\" - Automated address verification plus.\n Consists of the Enhanced AVS functionality plus verification of some additional fields.\n AAV+ intended for merchants who deliver physical goods to a different address than the billing address.\n AAV+ verifies the additional fields only when the standard and Enhanced AVS tests pass first.\n For information about Enhanced AVS - The additional fields that are verified for AAV+ are:\n - ship_to_firstname\n - ship_to_lastname\n - ship_to_address1\n - ship_to_country\n - ship_to_zip\n - ship_to_phone\n - customer_phone(American Express Direct only)\n\nApplicable for American Express Direct (amexdirect) processor.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcnp, cp, hybridYesbasic
\n" }, "enableLongTransRefNo": { "type": "boolean", "description": "Amex Direct specific merchant config value which determines what length (either 9 or Unique 12-char reference number) of reference number will be CYBS generated if the merchant does not pass in a trans_ref_no.\nCan be any combination of alpha, numeric and special characters, and/or binary data in hexadecimal.\n\nApplicable for American Express Direct (amexdirect) processor.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcp, cnp, hybridNoNo
\n" }, "enableLevel2": { "type": "boolean", "description": "Field that indicates whether merchant will send level 2 data for Amex cards.\nApplicable for American Express Direct (amexdirect) processor.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcp, cnp, hybridNoNo
\n" }, "enableMultipleTransactionAdviceAddendum": { "type": "boolean", "description": "This flag related to multiple transaction advice addendum field. It is used to display descriptive information about a transaction on customer's American Express card statement.\nApplicable for American Express Direct (amexdirect) processor.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcp, cnp, hybridNoNo
\n" }, "amexTransactionAdviceAddendum1": { "type": "string", "description": "Advice addendum field. It is used to display descriptive information about a transaction on customer's American Express card statement.\nApplicable for TSYS (tsys), FDI Global (fdiglobal) and American Express Direct (amexdirect) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridNo140^[0-9a-zA-Z\-\\s.]+$
\n" }, "enableMultiLineItems": { "type": "boolean", "description": "This flag is related to offer/line item details to be included instead of sending one line item, and a grand total. Example, offer0, offer 1...offer n.\nApplicable for American Express Direct (amexdirect) and Elavon Americas (elavonamericas) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcp, cnp, hybridNoNo
\n" }, "enableTransactionReferenceNumber": { "type": "boolean", "description": "To enable merchant to send in transaction reference number (unique reconciliation ID). Applicable for VPC, Vero (vero), FDI Global (fdiglobal), Six (six), CB2A, CUP, VPC, Chase Paymentech Salem (chasepaymentechsalem), Fiserv (fiserv), Elavon Americas (elavonamericas) and EFTPOS processors." }, "enableAutoAuthReversalAfterVoid": { "type": "boolean", "description": "Enables to meet the Visa mandate requirements to reverse unused authorizations, benefitting the customer by releasing the hold on unused credit card funds.\nApplicable for CB2A, Elavon Americas (elavonamericas), Six (six), VPC and American Express Direct (amexdirect) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcp, cnp, hybridNoNo
\n" }, "enableExpresspayPanTranslation": { "type": "boolean", "description": "When this is enabled, authorization responses from American Express expresspay transactions include the Primary Account Number (PAN) and expiration date of the card. Applicable for American Express Direct (amexdirect) processor." }, "enableCreditAuth": { "type": "boolean", "description": "Authorizes a credit. Reduces refund chargebacks and prevents customers from seeing the online update for credits which are otherwise offline settlements." }, "industryCode": { "type": "string", "enum": [ 0, "A", "B", "D", "F", "G", "H", "L", "O", "P", "R" ], "description": "Field used to identify the industry type of the merchant submitting the authorization request.\n\nValid values:\n`0` \u2013 unknown or unsure\n`A` \u2013 auto rental (EMV supported)\n`B` \u2013 bank/financial institution (EMV supported)\n`D` \u2013 direct marketing\n`F` \u2013 food/restaurant (EMV supported)\n`G` \u2013 grocery store/super market (EMV supported)\n`H` \u2013 hotel (EMV supported)\n`L` \u2013 limited amount terminal (EMV supported)\n`O` \u2013 oil company/automated fueling system (EMV supported)\n`P` \u2013 passenger transport (EMV supported)\n`R` \u2013 retail (EMV supported)\nApplicable for TSYS (tsys), RUPAY and Elavon Americas (elavonamericas) processors.\n" }, "sendAmexLevel2Data": { "type": "boolean", "description": "Field that indicates whether merchant will send level 2 data for Amex cards. Applicable for TSYS (tsys) processor." }, "softDescriptorType": { "type": "string", "description": "A soft descriptor is a text, rendered on a cardholder's statement, describing a particular product or service, purchased by the cardholder.\nDescriptors are intended to help the cardholder identify the products or services purchased.\nValid values:\n`1` - trans_ref_no\n`2` - merchant_descriptor\n`3` - trans_ref_no and merchant_descriptor\nApplicable for TSYS (tsys) processor.\n" }, "vitalNumber": { "type": "string", "description": "V-number provided by TSYS info. The leading `V` must be replaced by a `7`. For example, replace `V1234567` with `71234567`. Applicable for TSYS (tsys) processor." }, "bankNumber": { "type": "string", "description": "6 digit agent bank number provided by acquirer. Applicable for TSYS (tsys) processor." }, "chainNumber": { "type": "string", "description": "6 digit chain number provided by acquirer. Applicable for TSYS (tsys) processor." }, "merchantBinNumber": { "type": "string", "description": "6 digits acquirer bank identification number. Applicable for TSYS (tsys) processor." }, "merchantLocationNumber": { "type": "string", "description": "5 digit merchant location number. Unless otherwise specified by merchant's bank or processor, this field should default to 00001. Applicable for TSYS (tsys) processor." }, "storeID": { "type": "string", "description": "4 digits number used to identify a specific merchant store location within the member systems. Applicable for TSYS (tsys) processor." }, "travelAgencyCode": { "type": "string", "description": "Contains travel agency code if airline ticket was issued by a travel agency. Applicable for TSYS (tsys) processor." }, "travelAgencyName": { "type": "string", "description": "Contains travel agency name if airline ticket was issued by travel agency. Applicable for TSYS (tsys) processor." }, "settlementCurrency": { "type": "string", "description": "This field is used to indicate Merchant's settlement currency. [ISO 4217 ALPHA-3 Standard Currency Codes] Applicable for TSYS (tsys) and Streamline (streamline2) processors." }, "enableLeastCostRouting": { "type": "boolean", "description": "Indicates whether Least Cost Routing is enabled. Applicable for EFTPOS and CUP processors." }, "enableCVVResponseIndicator": { "type": "boolean", "description": "This field denotes EFTPOS Merchant's choice of receiving CVV Processing Response in return. Applicable for EFTPOS processors." }, "enableMultiCurrencyProcessing": { "type": "string", "description": "Applicable for Barclays (barclays2) processor.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
Barclayscnp, cp, hybridNoYes
\n" }, "enablePosNetworkSwitching": { "type": "boolean", "description": "'POS Network Switching' or 'Alternate Routing' means merchant can process PIN Debit transactions without a PIN. Set the value to 'Yes' if it is supported. Applicable for FDI Global (fdiglobal) processor." }, "enableDynamicCurrencyConversion": { "type": "boolean", "description": "Enable dynamic currency conversion for a merchant." }, "merchantTier": { "type": "string", "maxLength": 3, "minLength": 3, "pattern": "^[0-9]+$", "description": "Merchant Tier defines the type of merchant, the numeric Merchant Tier value is allocated by EFTPOS. Applicable for EFTPOS processors." } }, "required": [ "merchantId" ] } }, "amexVendorCode": { "type": "string", "description": "Vendor code assigned by American Express. Applicable for TSYS (tsys) processor." }, "defaultAuthTypeCode": { "type": "string", "description": "Authorization Finality indicator. Please note that the input can be in small case or capitals but response is in small case as of now. It will be made capitals everywhere in the next version.\nApplicable for Elavon Americas (elavonamericas), TSYS (tsys), Barclays (barclays2), Streamline (streamline2), Six (six), Barclays HISO (barclayshiso), GPN (gpn), FDI Global (fdiglobal), GPX (gpx), Paymentech Tampa (paymentechtampa), FDC Nashville (smartfdc), VPC and Chase Paymentech Salem (chasepaymentechsalem) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
Barclayscnp, cp, hybridNoFINAL
Barclays HISOcnp, cp, hybridYesFINAL
\n", "enum": [ "PRE", "FINAL", "UNDEFINED" ] }, "masterCardAssignedId": { "type": "string", "description": "MAID aka MasterCard assigned ID, MasterCard equivalent of Merchant Verification Value by Visa. Applicable for VPC, GPX (gpx) and FDI Global (fdiglobal) processors." }, "enablePartialAuth": { "type": "boolean", "description": "Allow merchants to accept partial authorization approvals.\nApplicable for Elavon Americas (elavonamericas), VPC, GPX (gpx), FDI Global (fdiglobal), FDC Nashville (smartfdc), GPN (gpn), TSYS (tsys), American Express Direct (amexdirect), Paymentech Tampa (paymentechtampa) and Chase Paymentech Salem (chasepaymentechsalem) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express Directcnp, cp, hybridNoNo
\n" }, "merchantCategoryCode": { "type": "string", "description": "Indicates type of business product or service of the merchant.\nApplicable for Chase Paymentech Salem (chasepaymentechsalem), FDI Global (fdiglobal), RUPAY, Elavon Americas (elavonamericas), American Express Direct (amexdirect), CMCIC (cmcic), GPX (gpx), VPC, TSYS (tsys), EFTPOS, CUP, Paymentech Tampa (paymentechtampa), CB2A, Barclays (barclays2), Prisma (prisma) and GPN (gpn) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
BarclayscnpNo44^[0-9]+$
American Express Directcnp, cp, hybridYes44^[0-9]+$
\n" }, "sicCode": { "type": "string", "description": "The Standard Industrial Classification (SIC) are four-digit codes that categorize the industries that companies belong to based on their business activities. Standard Industrial Classification codes were mostly replaced by the six-digit North American Industry Classification System (NAICS). Applicable for VPC and GPX (gpx) processors." }, "foodAndConsumerServiceId": { "type": "string", "description": "Food and Consumer Service ID. Identifies the merchant as being certified and approved to accept Food Stamps. Applicable for GPX (gpx) processor." }, "enableSplitShipment": { "type": "boolean", "description": "Enables you to split an order into multiple shipments with multiple captures. This feature is provided by CyberSource and supports three different scenarios:\n\n* multiple authorizations\n* multiple captures\n* multiple authorizations with multiple captures\n\nApplicable for VPC processors.\n" }, "enableInterchangeOptimization": { "type": "boolean", "description": "Reduces your interchange fees by using automatic authorization refresh and automatic partial authorization reversal. Applicable for VPC processors." }, "visaDelegatedAuthenticationId": { "type": "string", "description": "Identifier provided to merchants who opt for Visa's delegated authorization program. Applicable for VPC processors." }, "creditCardRefundLimitPercent": { "type": "string", "description": "Blocks over-refunds when the aggregated refund amount is higher than the percentage set for this field. Applicable for GPX (gpx), VPC and Chase Paymentech Salem (chasepaymentechsalem) processors." }, "businessCenterCreditCardRefundLimitPercent": { "type": "string", "description": "Limits refunds to the percentage set in this field. Applicable for GPX (gpx) and VPC processors." }, "allowCapturesGreaterThanAuthorizations": { "type": "boolean", "description": "Enables this merchant account to capture amounts greater than the authorization amount. Applicable for GPX (gpx), VPC, Paymentech Tampa (paymentechtampa) and Chase Paymentech Salem (chasepaymentechsalem) processors." }, "enableDuplicateMerchantReferenceNumberBlocking": { "type": "boolean", "description": "Helps prevent duplicate transactions. Applicable for VPC, GPX (gpx) and Chase Paymentech Salem (chasepaymentechsalem) processors." }, "domesticMerchantId": { "type": "boolean", "description": "This is a local merchant ID used by merchants in addition to the conventional merchant ID. This value is sent to the issuer. Applicable for VPC and Prisma (prisma) processors." }, "processLevel3Data": { "type": "string", "description": "Indicates whether merchant processes Level 3 transactions.\nApplicable for TSYS (tsys), Barclays (barclays2), Paymentech Tampa (paymentechtampa), FDI Global (fdiglobal), Elavon Americas (elavonamericas) and Chase Paymentech Salem (chasepaymentechsalem) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequired
BarclayscnpNo
\n" }, "subMerchantId": { "type": "string", "description": "The ID assigned to the sub-merchant.\nApplicable for American Express Direct (amexdirect) processor.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridNo120^[0-9a-zA-Z\-\_\,\\s.]+$
\n" }, "subMerchantBusinessName": { "type": "string", "description": "Sub-merchant's business name.\nApplicable for American Express Direct (amexdirect) processor.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridNo137^[0-9a-zA-Z\-\_\,\\s.]+$
\n" }, "preferCobadgedSecondaryBrand": { "type": "boolean", "description": "It denotes merchant's preference on secondary brand for routing in case of co-branded cards. Applicable for EFTPOS processors." }, "merchantDescriptorInformation": { "type": "object", "description": "A merchant descriptor is the line of copy that identifies transactions on a cardholder's account activity and statement. If this information is not populated, the data will be retrieved from OMS.", "properties": { "name": { "type": "string", "description": "Applicable for TSYS (tsys), RUPAY, American Express Direct (amexdirect) and Elavon Americas (elavonamericas) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridYes138^[0-9a-zA-Z\\s]+$
\n" }, "city": { "type": "string", "description": "Applicable for American Express Direct (amexdirect), TSYS (tsys), RUPAY and Elavon Americas (elavonamericas) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridYes121^[0-9a-zA-Z\\s]+$
\n" }, "country": { "type": "string", "description": "Applicable for Six (six), Elavon Americas (elavonamericas), TSYS (tsys) and American Express Direct (amexdirect) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridYes33^[A-Z]+$
\n" }, "phone": { "type": "string", "description": "Applicable for RUPAY, Elavon Americas (elavonamericas), American Express Direct (amexdirect) and TSYS (tsys) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridYes120^[0-9a-zA-Z\\s]+$
\n" }, "state": { "type": "string", "description": "Applicable for RUPAY, TSYS (tsys), Elavon Americas (elavonamericas) and American Express Direct (amexdirect) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridNo13^[A-Z]+$
\n" }, "street": { "type": "string", "description": "Applicable for American Express Direct (amexdirect), TSYS (tsys) and Elavon Americas (elavonamericas) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridYes138^[0-9a-zA-Z\\s]+$
\n" }, "zip": { "type": "string", "description": "Applicable for Elavon Americas (elavonamericas), RUPAY, American Express Direct (amexdirect) and TSYS (tsys) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, cp, hybridYes115^[0-9a-zA-Z\\s]+$
\n" }, "url": { "type": "string", "description": "Applicable for RUPAY and American Express Direct (amexdirect) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
American Express Directcnp, hybridYes140URL
American Express DirectcpNo140URL
\n" } } } } }, "features": { "type": "object", "properties": { "cardNotPresent": { "type": "object", "properties": { "processors": { "type": "object", "description": "e.g.\n* amexdirect\n* barclays2\n* CUP\n* EFTPOS\n* fdiglobal\n* gpx\n* smartfdc\n* tsys\n* vero\n* VPC\n\nFor VPC, CUP and EFTPOS processors, replace the processor name from VPC or CUP or EFTPOS to the actual processor name in the sample request.\ne.g. replace VPC with <your vpc processor>\n", "additionalProperties": { "x-devcenter-additional-properties": [ "amexdirect", "barclays2", "CUP", "EFTPOS", "fdiglobal", "gpx", "smartfdc", "tsys", "VPC" ], "type": "object", "properties": { "relaxAddressVerificationSystem": { "type": "boolean", "description": "Enables you to submit the payment transaction without one or more of the fields for the billTo or card_expiration.\nApplicable for Elavon Americas (elavonamericas), CB2A, Six (six), CMCIC (cmcic), GPX (gpx), GPN (gpn), VPC, Vero (vero), Fiserv (fiserv), American Express Direct (amexdirect), Chase Paymentech Salem (chasepaymentechsalem), RUPAY, FDI Global (fdiglobal) and Barclays HISO (barclayshiso) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
Barclays HISOcp, cnp, hybridNoYes
American Express DirectcnpNoNo
American Express DirectcpNoYes
American Express DirecthybridYesYes
\n" }, "relaxAddressVerificationSystemAllowZipWithoutCountry": { "type": "boolean", "description": "Allows Zip code without country.\nApplicable for American Express Direct (amexdirect), GPX (gpx), VPC, FDI Global (fdiglobal), Elavon Americas (elavonamericas), Chase Paymentech Salem (chasepaymentechsalem), RUPAY, GPN (gpn) and Barclays HISO (barclayshiso) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
Barclays HISOcp, cnp, bothNoYes
American Express Directcp, hybridNoYes
American Express DirectcnpNoNo
\n" }, "relaxAddressVerificationSystemAllowExpiredCard": { "type": "boolean", "description": "Allows transactions that use an expired card.\nApplicable for American Express Direct (amexdirect), GPN (gpn), Barclays HISO (barclayshiso), Elavon Americas (elavonamericas), VPC, FDI Global (fdiglobal), GPX (gpx), RUPAY, Six (six), Chase Paymentech Salem (chasepaymentechsalem) and CB2A processors.\n\nValidation details (for selected processors)...\n\n\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
Barclays HISOcp, cnp, hybridNoYes
American Express Directcp, hybridNoYes
American Express DirectcnpNoNo
\n" }, "enableEmsTransactionRiskScore": { "type": "boolean", "description": "MasterCard Expert Monitoring Solutions (EMS) provides a predictive, behavior-based fraud score in real time during authorizations for card-not-present (CNP) transactions on cards issued in the U.S. Applicable for GPX (gpx) and VPC processors." }, "prestigiousPropertyIndicator": { "type": "string", "description": "Applicable for VPC processors." }, "payouts": { "type": "object", "properties": { "reimbursementCode": { "type": "string", "description": "Applicable for VPC processors." }, "acquiringInstitutionId": { "type": "string", "description": "This code identifies the financial institution acting as the acquirer of this customer transaction. The acquirer is the member or system user that signed the merchant. This number is usually a Visa-assigned. Applicable for VPC processors." }, "businessApplicationId": { "type": "string", "description": "Transaction type. List of supported identifiers documented in the Developer Guide. Applicable for GPX (gpx) and VPC processors." }, "financialInstitutionId": { "type": "string", "description": "Applicable for GPX (gpx) and VPC processors." }, "merchantAbaNumber": { "type": "string", "description": "Routing Number to identify banks within the United States. Applicable for VPC processors." }, "networkOrder": { "type": "string", "description": "Order of the networks in which Visa should make routing decisions. Applicable for VPC processors." }, "currencies": { "type": "object", "description": "Three-character [ISO 4217 ALPHA-3 Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)", "additionalProperties": { "x-devcenter-additional-properties": [ "USD", "CAD", "GBP", "EUR", "CHF", "NGN", "ETB", "CUP", "AZN", "RWF", "DOP", "GMD", "BBD", "GTG", "NPR", "SHP", "BZD", "JMP", "PHP", "BRL", "TZS", "BAM", "ISK", "KWD", "RON", "ARS", "SBD", "NOK", "KRW", "TJS", "JOD", "MOP", "CLP", "SOS", "MGA", "LVL", "GIP", "PYG", "SAR", "PGK", "SGD", "ROL", "BSD", "TRY", "CDF", "SYP", "BMD", "MRO", "WST", "GHS", "BTN", "HNL", "MAD", "GAR", "SRD", "BDT", "KGS", "GNF", "CNY", "JPY", "LYD", "TTD", "CVE", "SZL", "ZMW", "KPW", "PEN", "YER", "VEB", "KHR", "VEF", "VUV", "SLL", "AFN", "SCR", "BOB", "COP", "LTL", "EGP", "HUF", "RSD", "AOA", "MYR", "MTL", "CYP", "FKP", "GYD", "PLN", "KMF", "SGD", "IQD", "DKK", "KES", "UZS", "TMM", "NZD", "LKR", "EEK", "SKK", "ANG", "INR", "UYU", "LSL", "TND", "STD", "HTG", "VND", "AED", "MZN", "BND", "KZT", "PKR", "XCD", "RUB", "MKD", "BWP", "AWG", "GEL", "MDL", "HKD", "MVR", "amd", "IRR", "NAD", "MWK", "MNT", "CRC", "XPF", "LAK", "HRK", "ALL", "TOP", "BIF", "MUR", "PAB", "FJD", "CZK", "ZWD", "KYD", "IDR", "BGN", "MXN", "UGX", "MMK", "UAH", "DZD", "XAF", "THB", "OMR", "XOF", "AUD", "ZAR", "LBP", "NIO", "DJF", "LRD", "TWD", "ERN", "BHD", "ILS", "SEK", "BYR" ], "type": "object", "properties": { "enabled": { "type": "boolean" }, "enabledCardPresent": { "type": "boolean", "description": "Indicates whether the card-present transaction is activated for the selected currency. If both enabledCardPresent and enabledCardNotPresent are set to null, then enabledCardPresent will have the value of enabled.\n" }, "enabledCardNotPresent": { "type": "boolean", "description": "Indicates whether the card-present transaction is activated for the selected currency. If both enabledCardPresent and enabledCardNotPresent are set to null, then enabledCardNotPresent will have the value of enabled.\n" }, "merchantId": { "type": "string", "description": "Merchant ID assigned by an acquirer or a processor. Should not be overriden by any other party." }, "terminalId": { "type": "string", "description": "The 'Terminal Id' aka TID, is an identifier used for with your payments processor.\nDepending on the processor and payment acceptance type this may also be the default Terminal ID used for Card Present and Virtual Terminal transactions.\n" }, "terminalIds": { "type": "array", "items": { "type": "string" }, "description": "Applicable for Prisma (prisma) processor." }, "serviceEnablementNumber": { "type": "string", "description": "Service Establishment Number (a.k.a. SE Number) is a unique ten-digit number assigned by American Express to a merchant that accepts American Express cards.\n10 digit number provided by acquirer currency. This may be unique for each currency, however it depends on the way the processor is set up for the merchant.\n" } } }, "example": { "USD": { "enabled": true, "enabledCardPresent": false, "enabledCardNotPresent": true, "merchantId": "merchantId", "terminalIds": [ "12345678", "12345678" ], "serviceEnablementNumber": "serviceEnablementNumber" } } }, "merchantId": { "type": "string", "description": "Merchant ID assigned by an acquirer or a processor. Should not be overridden by any other party.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
Barclayscnp, hybridNo111^[0-9]+$
\n" }, "terminalId": { "type": "string", "description": "The 'Terminal Id' aka TID, is an identifier used for with your payments processor.\nDepending on the processor and payment acceptance type this may also be the default Terminal ID used for Card Present and Virtual Terminal transactions.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegex
Barclayscnp, hybridNo1255^[0-9:\-]+$
\n" } } } } } }, "ignoreAddressVerificationSystem": { "type": "boolean", "description": "Flag for a sale request that indicates whether to allow the capture service to run even when the authorization receives an AVS decline. Applicable for VPC, FDI Global (fdiglobal), GPX (gpx) and GPN (gpn) processors." }, "visaStraightThroughProcessingOnly": { "type": "boolean", "description": "Indicates if a merchant is enabled for Straight Through Processing - B2B invoice payments. Applicable for FDI Global (fdiglobal), TSYS (tsys), VPC and GPX (gpx) processors." }, "amexTransactionAdviceAddendum1": { "type": "string", "description": "Advice addendum field. It is used to display descriptive information about a transaction on customer's American Express card statement. Applicable for TSYS (tsys), FDI Global (fdiglobal) and American Express Direct (amexdirect) processors." }, "installment": { "type": "object", "properties": { "enableInstallment": { "type": "boolean", "description": "This flag is to enable for installment plan programs.\nApplicable for Fiserv (fiserv), Vero (vero) and American Express Direct (amexdirect) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredDefault Value
American Express DirectcnpNoNo
\n" }, "installmentPlan": { "type": "string", "description": "This indicates the type of funding for the installment plan associated with the payment.\n\nValid values:\n\"merchant\" - Merchant-funded installment plan\n\"issuer\" - Issuer-funded installment plan\n\nApplicable for Fiserv (fiserv), American Express Direct (amexdirect) and Vero (vero) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequired
American Express DirectcnpNo
\n" } } } } }, "cardPresent": { "type": "object", "properties": { "processors": { "type": "object", "description": "e.g.\n* amexdirect\n* barclays2\n* CUP\n* EFTPOS\n* fdiglobal\n* gpx\n* smartfdc\n* tsys\n* vero\n* VPC\n\nFor VPC, CUP and EFTPOS processors, replace the processor name from VPC or CUP or EFTPOS to the actual processor name in the sample request.\ne.g. replace VPC with <your vpc processor>\n", "additionalProperties": { "x-devcenter-additional-properties": [ "amexdirect", "barclays2", "CUP", "EFTPOS", "fdiglobal", "gpx", "smartfdc", "tsys", "VPC" ], "type": "object", "properties": { "defaultPointOfSaleTerminalId": { "type": "string", "description": "Default Terminal ID used for Card Present and Virtual Terminal transactions.\nApplicable for VPC, GPX (gpx), American Express Direct (amexdirect) and Chase Paymentech Salem (chasepaymentechsalem) processors.\n\nValidation details (for selected processors)...\n\n\n\n\n
ProcessorAcceptance TypeRequiredMin. LengthMax. LengthRegexDefault Value
American Express DirectcpYes48^[0-9a-zA-Z]+$1111
\n" }, "pointOfSaleTerminalIds": { "type": "array", "items": { "type": "string", "format": "csv" }, "description": "For retail transactions, if merchant chooses to send the terminal id in the API, then that value has to be validated before being used. Holds a comma separated list of all possible terminal ids that the merchant is likely to send. Applicable for VPC processors." }, "disablePointOfSaleTerminalIdValidation": { "type": "boolean", "description": "Disables terminal ID validation. Applicable for VPC processors." }, "pinDebitNetworkOrder": { "type": "string", "description": "Order of the networks in which Visa should make routing decisions. Applicable for GPX (gpx) and VPC processors." }, "pinDebitReimbursementCode": { "type": "string", "description": "This attribute requests VIP to qualify a given PIN Debit transaction for a certain type of interchange program. Y = SMS supermarket, Z = SMS general merchant. Applicable for GPX (gpx) and VPC processors." }, "financialInstitutionId": { "type": "string", "description": "Acquirer Institution ID for the PIN Debit Transactions. Applicable for GPX (gpx) and VPC processors." }, "enablePinTranslation": { "type": "boolean", "description": "Enables CyberSource PIN Translation for Online PIN Transactions. Please ensure you have exchanged PIN keys with CyberSource to use this feature. Applicable for VPC processors." } } } }, "enableTerminalIdLookup": { "type": "boolean", "description": "Used for Card Present and Virtual Terminal Transactions for Terminal ID lookup. Applicable for GPX (gpx) processor." } } } } } } } } } } }, "cardPresentConnect": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "NOT_SELF_SERVICEABLE" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." } } }, "configurationInformation": { "type": "object", "properties": { "templateId": { "type": "string", "format": "uuid" }, "configurations": { "type": "object", "properties": { "partnerSolutionIdentifier": { "type": "string", "description": "Solution identifier used to associate a partner organization with the Merchant that is on-boarded." } } } } } } }, "cybsReadyTerminal": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "NOT_SELF_SERVICEABLE" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." } } } } }, "eCheck": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." }, "mode": { "type": "array", "items": { "type": "string" }, "description": "Indicates what mode the product is expected to behave at boarding and transaction flows. Ex, Acquirer/Gateway/Other." } } }, "configurationInformation": { "type": "object", "properties": { "templateId": { "type": "string", "format": "uuid" }, "configurations": { "type": "object", "title": "ECheckConfig", "properties": { "common": { "type": "object", "properties": { "processors": { "type": "object", "additionalProperties": { "type": "object", "description": "Payment Processing connection used to support eCheck, aka ACH, payment methods. Example - \"bofaach\"", "properties": { "companyEntryDescription": { "type": "string", "maxLength": 10, "description": "*EXISTING* Company (merchant) defined description of entry to receive. For e.g. PAYROLL, GAS BILL, INS PREM. This field is alphanumeric" }, "companyId": { "type": "string", "maxLength": 10, "description": "*EXISTING* company ID assigned to merchant by Acquiring bank. This field is alphanumeric" }, "batchGroup": { "type": "string", "description": "*EXISTING* Capture requests are grouped into a batch bound for your payment processor. The batch time can be identified by reading the last 2-digits as military time. E.g., _16 = your processing cutoff is 4PM PST. Please note if you are in a different location you may then need to convert time zone as well." }, "enableAccuityForAvs": { "type": "boolean", "default": true, "description": "*NEW* Accuity is the original validation service that checks the account/routing number for formatting issues. Used by WF and set to \"Yes\" unless told otherwise" }, "accuityCheckType": { "enum": [ "ALWAYS" ], "default": "ALWAYS", "description": "*NEW*" }, "setCompletedState": { "type": "boolean", "default": false, "description": "*Moved* When set to Yes we will automatically update transactions to a completed status X-number of days after the transaction comes through; if no failure notification is received. When set to No means we will not update transaction status in this manner. For BAMS/Bank of America merchants, they should be set to No unless we are explicitly asked to set a merchant to YES." } }, "required": [ "companyEntryDescription" ] } }, "internalOnly": { "type": "object", "properties": { "displayEcheckInfo": { "type": "boolean", "default": true, "description": "*NEW* Used by EBC UI always set to true" }, "processors": { "type": "object", "description": "*NEW* Payment Processing connection used to support eCheck, aka ACH, payment methods.\nExample\n* \"bofaach\"\n* \"wellsfargoach\"\n", "additionalProperties": { "x-devcenter-additional-properties": [ "bofaach", "wellsfargoach" ], "type": "object", "description": "Name of the payment processor. Example - \"wellsfargoach\"", "properties": { "enableCCS": { "type": "boolean", "description": "*NEW* Flag to indicate whether the processor is migrated to the Common Connectivity Services Platform.\nApplicable for VPC and amexdirect processors.\n" }, "terminalId": { "type": "string", "description": "*NEW* The 'Terminal Id' aka TID, is an identifier used for with your payments processor.\nDepending on the processor and payment acceptance type this may also be the default Terminal ID used for Card Present and Virtual Terminal transactions.\nApplicable for VPC processors.\n" }, "enable15anTransactionReferenceNumber": { "type": "boolean", "default": true, "description": "*NEW* This ensures the transaction reference # contains an identifier that can be viewed in CYBS" }, "portalSupportedPaytypes": { "type": "string", "default": "CHECK", "description": "*NEW* This is used by the EBC2 application" }, "settlementMethod": { "enum": [ "BEST_GUESS" ], "default": "BEST_GUESS", "description": "*NEW*" }, "verificationLevel": { "enum": [ "VALIDATION" ], "default": "VALIDATION", "description": "*NEW*" }, "setCompletedState": { "type": "boolean", "default": false, "description": "*Moved* When set to Yes we will automatically update transactions to a completed status X-number of days after the transaction comes through; if no failure notification is received. When set to No means we will not update transaction status in this manner. For BAMS/Bank of America merchants, they should be set to No unless we are explicitly asked to set a merchant to YES." } } } } } }, "accountHolderName": { "type": "string", "maxLength": 22, "description": "Mandatory \nName on Merchant's Bank Account\nOnly ASCII (Hex 20 to Hex 7E)\n" }, "accountType": { "type": "string", "description": "Mandatory \nType of account for Merchant's Bank Account\nPossible values:\n- checking\n- savings\n- corporatechecking\n- corporatesavings\n" }, "accountRoutingNumber": { "type": "string", "maxLength": 9, "description": "Mandatory \nRouting number for Merchant's Bank Account\nUS Account Routing Number\n" }, "accountNumber": { "type": "string", "maxLength": 17, "description": "Mandatory \nAccount number for Merchant's Bank Account\n" } }, "required": [ "accountHolderName", "accountType", "accountRoutingNumber", "accountNumber" ] }, "underwriting": { "type": "object", "properties": { "standardEntryClassCodes": { "type": "string", "default": "CCD,PPD,TEL,WEB", "description": "Mandatory \nFree-text (csv) \nPossible values (combination):\n\nCCD \u2014 Cash Concentration or Disbursement, or CCD, is a charge or refund against a business checking account. One-time or recurring CCD transactions are fund transfers to or from a corporate entity. A standing authorization is required for recurring transactions.\nPPD \u2014 Prearranged Payment and Deposit Entry, or PPD, is a charge or refund against a customer's checking or savings account. PPD entries can only be originated when payment and deposit terms between the merchant and the customer are prearranged. A written authorization from the customer is required for one-time transactions and a written standing authorization is required for recurring transactions.\nTEL \u2014 Telephone-Initiated Entry, or TEL, is a one-time charge against a customer's checking or savings account. TEL transactions can only be originated when a business relationship between the merchant and the customer already exists; or if a relationship does not exist, then only when the customer initiates the telephone call to the merchant. Payment authorization is obtained from the customer by telephone.\nWEB \u2014 Internet-Initiated Entry or WEB is a charge against a customer's checking or savings account. One-time or recurring WEB transactions are originated through the Internet. Payment authorization is also obtained from the customer through the Internet.\n" }, "enableHold": { "type": "boolean", "default": true, "description": "Mandatory \nDetermines whether CYBS has placed the merchant on a funding hold\nThis will often be set to True for new merchants until the risk team has completed additional verification of their first transaction. It will be switched to \"false\" once underwriting review is completed and we are ready to start funding the merchant.\n" }, "monthlyTotalTransactionAmountLimit": { "type": "number", "format": "currency", "description": "Mandatory \nMonthly Maximum total Transaction Amount\n12 digit including decimal\n" }, "holdingDays": { "type": "number", "format": "integer", "default": 7, "description": "Mandatory \nFunds Hold Days (Number of days funds will be held before it will be deposited into merchant account)\n3 digits\n" }, "enableCredits": { "type": "boolean", "description": "Optional \nAllow Credits (True/False)\n" }, "transactionAmountLimit": { "type": "number", "format": "currency", "description": "Mandatory \nMaximum total Transaction Amount\nThis is a per transaction limit. For example, the merchant is limited to processing transactions under $100\n12 digits (including decimal - USD only)\n" }, "riskReserveMethod": { "type": "string", "description": "Mandatory\nReserve Method \nPossible value:\n- fixed\n- none\nMost merchants do not have a reserve attached to their account so the default value would be \"none.\" \n\nFor a Fixed Reserve, the reserve balance is established by either, (1) a receipt of a lump\nsum deposit from a merchant, or (2) withholding funds at a Reserve Rate established for\nthe account from each batch settlement until the reserve balance is equal to a set\nReserve Target. A Fixed Reserve may also be established by a combination of lump\nsum deposit and withholding of settlement funds.\n\nA Rolling Reserve balance is established by withholding from a merchant's available\nsettlement funds at a Reserve Rate (percentage) and no Reserve Target is specified.\nRather, each amount withheld is retained for a specified number of Reserve Holding\nDays and then released back to the merchant.\n" }, "riskReserveRate": { "type": "number", "format": "decimal", "description": "Mandatory \nReserve Rate (% of TPV)=> Relevant for Rolling Reserve and Fixed Reserve\nThe percentage rate at which risk funds are withheld from each\neCheck.Net batch settlement.\n" }, "riskReserveTargetAmount": { "type": "number", "format": "currency", "description": "Mandatory \nReserve Target (fixed $ amount)=> Relevant for Fixed Reserve ONLY\n\nThe maximum dollar amount that can be held in Risk Reserve for a\nfixed reserve. Once risk withholdings reach the Reserve Target established for the\neCheck.Net account, a portion of available funds will be deposited to the merchant's\nbank account\n12 digit including decimal\n" }, "solutionOrganizationId": { "type": "string", "description": "Solution organization id" } }, "required": [ "standardEntryClassCodes", "enableHold", "monthlyTotalTransactionAmountLimit", "holdingDays", "transactionAmountLimit", "riskReserveMethod", "riskReserveRate", "riskReserveTargetAmount" ] }, "features": { "type": "object", "properties": { "accountValidationService": { "type": "object", "properties": { "internalOnly": { "type": "object", "properties": { "processors": { "type": "object", "description": "*NEW* Payment Processing connection used to support eCheck, aka ACH, payment methods.\nExample\n* \"bofaach\"\n* \"wellsfargoach\"\n", "additionalProperties": { "x-devcenter-additional-properties": [ "bofaach", "wellsfargoach" ], "type": "object", "description": "Name of the payment processor. Example - \"wellsfargoach\"", "properties": { "avsVersion": { "enum": [ "2" ], "default": "2", "description": "*NEW*" } } } } } }, "processors": { "type": "object", "description": "*NEW* Payment Processing connection used to support eCheck, aka ACH, payment methods.\nExample\n* \"bofaach\"\n* \"wellsfargoach\"\n", "additionalProperties": { "type": "object", "description": "*NEW* Name of the payment processor. Example - \"wellsfargoach\"", "properties": { "avsAccountOwnershipService": { "type": "boolean", "description": "*NEW* Determined in WF eTicket if account has opted into the Account Ownership Service." }, "avsAccountStatusService": { "type": "boolean", "description": "*NEW* Determined in WF eTicket if account has opted into the Account Status Service." }, "avsSignedAgreement": { "type": "boolean", "description": "*NEW* Taken from Addendum Agreement Column in boarding form." }, "avsCalculatedResponseBehavior": { "enum": [ "continue" ], "default": "continue", "description": "*NEW*" }, "avsAdditionalId": { "type": "string", "description": "*NEW* Also known as the Additional ID. Taken from the boarding form." }, "enableAvs": { "type": "boolean", "default": true, "description": "*NEW*" }, "avsEntityId": { "type": "string", "description": "*NEW* Also known as the AVS Gateway Entity ID." }, "avsResultMode": { "enum": [ "FULL_RESPONSE", "LOGIC_BOX" ], "description": "*NEW*" }, "enableAvsTokenCreation": { "type": "boolean", "default": false, "description": "*NEW* Applicable if the merchant wants to run AVS on token creation requests only." } } } } } } } } } } } } } }, "payerAuthentication": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." } } }, "configurationInformation": { "type": "object", "properties": { "templateId": { "type": "string", "format": "uuid" }, "configurations": { "type": "object", "title": "PayerAuthConfig", "properties": { "cardTypes": { "type": "object", "properties": { "verifiedByVisa": { "type": "object", "properties": { "enabled": { "type": "boolean", "default": true }, "currencies": { "type": "array", "items": { "type": "object", "properties": { "currencyCodes": { "type": "array", "items": { "type": "string", "example": "ALL" } }, "acquirerId": { "type": "string", "minLength": 6, "maxLength": 20, "pattern": "^[a-zA-Z0-9]{6,20}$", "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" }, "processorMerchantId": { "type": "string", "minLength": 6, "maxLength": 35, "pattern": "^[a-zA-Z0-9]{6,35}$", "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" } } } } } }, "masterCardSecureCode": { "type": "object", "properties": { "enabled": { "type": "boolean", "default": true }, "currencies": { "type": "array", "items": { "type": "object", "properties": { "currencyCodes": { "type": "array", "items": { "type": "string", "example": "ALL" } }, "acquirerId": { "type": "string", "minLength": 6, "maxLength": 20, "pattern": "^[a-zA-Z0-9]{6,20}$", "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" }, "processorMerchantId": { "type": "string", "minLength": 6, "maxLength": 35, "pattern": "^[a-zA-Z0-9]{6,35}$", "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" } } } } } }, "amexSafeKey": { "type": "object", "properties": { "enabled": { "type": "boolean", "default": true }, "currencies": { "type": "array", "items": { "type": "object", "properties": { "currencyCodes": { "type": "array", "items": { "type": "string", "example": "ALL" } }, "acquirerId": { "type": "string", "minLength": 6, "maxLength": 20, "pattern": "^[a-zA-Z0-9]{6,20}$", "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" }, "processorMerchantId": { "type": "string", "minLength": 6, "maxLength": 35, "pattern": "^[a-zA-Z0-9]{6,35}$", "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" } } } } } }, "jCBJSecure": { "type": "object", "properties": { "securePasswordForJCB": { "type": "string", "minLength": 8, "maxLength": 8, "description": "JSecure currency password for Japan Credit Bureau" }, "enabled": { "type": "boolean", "default": true }, "currencies": { "type": "array", "items": { "type": "object", "properties": { "currencyCodes": { "type": "array", "items": { "type": "string", "example": "ALL" } }, "acquirerId": { "type": "string", "minLength": 6, "maxLength": 20, "pattern": "^[a-zA-Z0-9]{6,20}$", "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" }, "processorMerchantId": { "type": "string", "minLength": 6, "maxLength": 35, "pattern": "^[a-zA-Z0-9]{6,35}$", "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" } } } } } }, "dinersClubInternationalProtectBuy": { "type": "object", "properties": { "enabled": { "type": "boolean", "default": true }, "currencies": { "type": "array", "items": { "type": "object", "properties": { "currencyCodes": { "type": "array", "items": { "type": "string", "example": "ALL" } }, "acquirerId": { "type": "string", "minLength": 6, "maxLength": 20, "pattern": "^[a-zA-Z0-9]{6,20}$", "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" }, "processorMerchantId": { "type": "string", "minLength": 6, "maxLength": 35, "pattern": "^[a-zA-Z0-9]{6,35}$", "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" } } } } } }, "ELO": { "type": "object", "properties": { "enabled": { "type": "boolean", "default": true }, "currencies": { "type": "array", "items": { "type": "object", "properties": { "currencyCodes": { "type": "array", "items": { "type": "string", "example": "ALL" } }, "acquirerId": { "type": "string", "minLength": 6, "maxLength": 20, "pattern": "^[a-zA-Z0-9]{6,20}$", "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" }, "processorMerchantId": { "type": "string", "minLength": 6, "maxLength": 35, "pattern": "^[a-zA-Z0-9]{6,35}$", "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" } } } } } }, "UPI": { "type": "object", "properties": { "enabled": { "type": "boolean", "default": true }, "currencies": { "type": "array", "items": { "type": "object", "properties": { "currencyCodes": { "type": "array", "items": { "type": "string", "example": "ALL" } }, "acquirerId": { "type": "string", "minLength": 6, "maxLength": 20, "pattern": "^[a-zA-Z0-9]{6,20}$", "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" }, "processorMerchantId": { "type": "string", "minLength": 6, "maxLength": 35, "pattern": "^[a-zA-Z0-9]{6,35}$", "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" } } } } } }, "CB": { "type": "object", "properties": { "requestorId": { "type": "string", "minLength": 14, "maxLength": 14, "description": "The value is for 3DS2.0 and is a Directory Server assigned 3DS Requestor ID value. If this field is passed in request, it will override Requestor Id value that is configured on the Merchant's profile." }, "enabled": { "type": "boolean", "default": true }, "currencies": { "type": "array", "items": { "type": "object", "properties": { "currencyCodes": { "type": "array", "items": { "type": "string", "example": "ALL" } }, "acquirerId": { "type": "string", "minLength": 6, "maxLength": 20, "pattern": "^[a-zA-Z0-9]{6,20}$", "description": "The Acquirer ID value, often referred to as the Acquirer BIN, is specific to an Acquirer.\nThe value is created by Cardinal in their system and the Acquirer may not know that the Acquirer ID is different from their Acquiring BIN.\nIt is most often the Acquiring BIN + \"-1000\" but the trailing character can be different.\n**Note** We will need to double check with Cardinal before setting up the Portfolio Template in production.\n" }, "processorMerchantId": { "type": "string", "minLength": 6, "maxLength": 35, "pattern": "^[a-zA-Z0-9]{6,35}$", "description": "Processor Merchant ID is the Merchant ID assigned by your acquiring bank.\nThis Merchant ID should also be used by your bank to register your account to the card scheme Directory Server for processing Payer Authentication services.\n" } } } } } } } } } } } } } }, "digitalPayments": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." }, "features": { "type": "object", "description": "Allowed values are;\n\n \n \n \n \n \n \n \n \n \n \n \n \n
visaCheckout
applePay
samsungPay
googlePay
\n", "additionalProperties": { "x-devcenter-additional-properties": [ "visaCheckout", "applePay", "samsungPay", "googlePay" ], "type": "object", "properties": { "enabled": { "type": "boolean" } } } } } } } }, "secureAcceptance": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." } } }, "configurationInformation": { "type": "object", "properties": { "templateId": { "type": "string", "format": "uuid" }, "configurations": { "type": "object", "title": "SAConfig", "properties": { "parentProfileId": { "type": "string", "description": "You can group Secure Acceptance profiles under parent profiles. By changing the parent profile, you can update all profiles underneath that parent. Specify the Parent Profile ID here." }, "contactInformation": { "type": "object", "description": "Optional contact information to be associated with the Secure Acceptance profile - for example the developer of the integration to the Hosted Checkout.", "properties": { "phone": { "type": "string" }, "companyName": { "type": "string" }, "email": { "type": "string" }, "name": { "type": "string" } } }, "notifications": { "type": "object", "properties": { "merchantNotifications": { "type": "object", "properties": { "backofficePostEnabled": { "type": "boolean", "description": "Enables Webhook transaction confirmation messages sent to URL defined in backofficePostUrl. Usually enabled by web developers integrating to Secure Acceptance." }, "backofficeEmailAddress": { "type": "string", "description": "Email address to receive transaction confirmation messages." }, "backofficeEmailEnabled": { "type": "boolean", "description": "Enables email transaction confirmation messages, sent to the address specified in backofficeEmailAddress." }, "backofficePostUrl": { "type": "string", "description": "Webhook URL to which transaction confirmation is sent. Usually completed by the web developers integrating to Secure Acceptance." }, "cardNumberFormat": { "type": "string", "description": "Format in which the card number should be masked in the notifications. \n\nValid values:\n`1` - Display first 6 digits only (e.g. \"444433**********\")\n\n`2` - Display last four digits only (e.g. \"************1111\")\n\n`3` - Display First six and last four digits (e.g. \"444433******1111\")\n" } } }, "customerNotifications": { "type": "object", "description": "Features relating to notifications being sent directly to the payer using the Hosted Checkout.", "properties": { "customReceiptPageEnabled": { "type": "boolean", "description": "Toggles the custom receipt page, where merchants can receive the results of the transaction and display appropriate messaging. Usually set by web developers integrating to Secure Acceptance." }, "receiptEmailAddress": { "type": "string", "description": "Email address where a copy of the payer's receipt email is sent, when notificationReceiptEmailEnabled is true." }, "customerReceiptEmailEnabled": { "type": "boolean", "description": "Toggles an email receipt sent to the payer's email address on payment success." }, "customCancelPage": { "type": "string", "description": "URL to which transaction results are POSTed when the payer clicks 'Cancel' on the Hosted Checkout. Triggered when customCancelPageEnabled is true. Usually set by web developers integrating to Secure Acceptance." }, "customReceiptPage": { "type": "string", "description": "URL to which transaction results are POSTed when the payer requests a payment on the Hosted Checkout. Triggered when customCancelPageEnabled is true. Usually set by web developers integrating to Secure Acceptance." }, "customCancelPageEnabled": { "type": "boolean", "description": "Toggles the custom cancel page, where merchants can receive notice that the payer has canceled, and display appropriate messaging and direction. Usually set by web developers integrating to Secure Acceptance." }, "notificationReceiptEmailEnabled": { "type": "boolean", "description": "Toggles whether merchant receives a copy of the payer's receipt email." } } } } }, "service": { "type": "object", "properties": { "decisionManagerVerboseEnabled": { "type": "boolean", "description": "Toggles whether verbose Decision Manager results should be present in the Secure Acceptance response. As this response passes through the browser, it is recommended to set this to \"false\" outside of debugging." }, "declinedRetryLimit": { "type": "number", "description": "Defines the number of retries a payer is presented with on payment declines on Hosted Checkout. Valid values are between 0 and 5." }, "decisionManagerEnabled": { "type": "boolean", "description": "Toggles whether Decision Manager is enabled or not for Secure Acceptance transactions. Requires the transacting MID to be enabled and configured for Decicion Manager." }, "tokenizationEnabled": { "type": "boolean", "description": "Toggles whether Tokenization is enabled or not for Secure Acceptance transactions. Requires the transacting MID to be enabled and configured for Tokenization." }, "reverseAuthOnAddressVerificationSystemFailure": { "type": "boolean", "description": "Toggles whether or not an approved Authorization that fails AVS should be automatically reversed." }, "deviceFingerprintEnabled": { "type": "boolean", "description": "Toggles whether or not fraud Device Fingerprinting is enabled on the Hosted Checkout. This simplifies enablement for Decision Manager." }, "reverseAuthOnCardVerificationNumberFailure": { "type": "boolean", "description": "Toggles whether or not an approved Authorization that fails CVN check that should be automatically reversed." } } }, "paymentMethods": { "type": "object", "properties": { "enabledPaymentMethods": { "type": "array", "items": { "type": "string", "enum": [ "CARD", "ECHECK", "VISACHECKOUT", "PAYPAL" ] } } } }, "checkout": { "type": "object", "properties": { "displayTaxAmount": { "type": "boolean", "description": "Toggles whether or not the tax amount is displayed on the Hosted Checkout." }, "templateType": { "type": "string", "description": "Specifies whether the Hosted Checkout is displayed as a single page form or multi page checkout. \n\nValid values: \n`multi` \n`single`\n" }, "returnToMerchantSiteUrl": { "type": "string", "description": "URL of the website linked to from the Secure Acceptance receipt page. Only used if the profile does not have custom receipt pages configured." } } }, "paymentTypes": { "type": "object", "description": "Object containing Payment Types supported", "properties": { "cardTypes": { "type": "object", "properties": { "discover": { "type": "object", "description": "Object containing supported Card Types and settings", "properties": { "cardVerificationNumberSupported": { "type": "boolean", "description": "Dictates whether or Card Verification Number is supported by the card type. Usually this is set at system level." }, "cardVerificationNumberDisplay": { "type": "boolean", "description": "Toggles whether or Card Verification Number is displayed on the Hosted Checkout." }, "payerAuthenticationSupported": { "type": "boolean", "description": "Dictates whether or Payer Authentication is supported by the card type. Usually this is set at system level." }, "supportedCurrencies": { "type": "array", "description": "Array of the supported ISO 4217 alphabetic currency codes.", "items": { "type": "string" } }, "method": { "type": "string" }, "cardVerificationNumberRequired": { "type": "boolean" }, "payerAuthenticationEnabled": { "type": "boolean" } } }, "amex": { "type": "object", "description": "Object containing supported Card Types and settings", "properties": { "cardVerificationNumberSupported": { "type": "boolean", "description": "Dictates whether or Card Verification Number is supported by the card type. Usually this is set at system level." }, "cardVerificationNumberDisplay": { "type": "boolean", "description": "Toggles whether or Card Verification Number is displayed on the Hosted Checkout." }, "payerAuthenticationSupported": { "type": "boolean", "description": "Dictates whether or Payer Authentication is supported by the card type. Usually this is set at system level." }, "supportedCurrencies": { "type": "array", "description": "Array of the supported ISO 4217 alphabetic currency codes.", "items": { "type": "string" } }, "method": { "type": "string" }, "cardVerificationNumberRequired": { "type": "boolean" }, "payerAuthenticationEnabled": { "type": "boolean" } } }, "masterCard": { "type": "object", "description": "Object containing supported Card Types and settings", "properties": { "cardVerificationNumberSupported": { "type": "boolean", "description": "Dictates whether or Card Verification Number is supported by the card type. Usually this is set at system level." }, "cardVerificationNumberDisplay": { "type": "boolean", "description": "Toggles whether or Card Verification Number is displayed on the Hosted Checkout." }, "payerAuthenticationSupported": { "type": "boolean", "description": "Dictates whether or Payer Authentication is supported by the card type. Usually this is set at system level." }, "supportedCurrencies": { "type": "array", "description": "Array of the supported ISO 4217 alphabetic currency codes.", "items": { "type": "string" } }, "method": { "type": "string" }, "cardVerificationNumberRequired": { "type": "boolean" }, "payerAuthenticationEnabled": { "type": "boolean" } } }, "visa": { "type": "object", "description": "Object containing supported Card Types and settings", "properties": { "cardVerificationNumberSupported": { "type": "boolean", "description": "Dictates whether or Card Verification Number is supported by the card type. Usually this is set at system level." }, "cardVerificationNumberDisplay": { "type": "boolean", "description": "Toggles whether or Card Verification Number is displayed on the Hosted Checkout." }, "payerAuthenticationSupported": { "type": "boolean", "description": "Dictates whether or Payer Authentication is supported by the card type. Usually this is set at system level." }, "supportedCurrencies": { "type": "array", "description": "Array of the supported ISO 4217 alphabetic currency codes.", "items": { "type": "string" } }, "method": { "type": "string" }, "cardVerificationNumberRequired": { "type": "boolean" }, "payerAuthenticationEnabled": { "type": "boolean" } } } } } } } } } } } } }, "virtualTerminal": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." } } }, "configurationInformation": { "type": "object", "properties": { "templateId": { "type": "string", "format": "uuid" }, "configurations": { "type": "object", "title": "VTConfig", "properties": { "cardNotPresent": { "type": "object", "properties": { "globalPaymentInformation": { "type": "object", "properties": { "basicInformation": { "type": "object", "properties": { "defaultStandardEntryClassCode": { "type": "string" }, "defaultCountryCode": { "type": "string", "description": "ISO 4217 format" }, "defaultCurrencyCode": { "type": "string", "description": "Three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)" }, "defaultTransactionType": { "type": "string", "enum": [ "AUTHORIZATION", "SALE" ] }, "defaultPaymentType": { "type": "string", "enum": [ "CREDIT_CARD", "ECHECK" ] }, "defaultTransactionSource": { "type": "string" }, "displayRetail": { "type": "boolean" }, "displayMoto": { "type": "boolean" }, "displayInternet": { "type": "boolean" } } }, "paymentInformation": { "type": "object", "properties": { "displayCardVerificationValue": { "type": "array", "items": { "type": "string", "enum": [ "VISA", "MASTER_CARD", "AMEX", "DISCOVER", "DINERS_CLUB", "CARTE_BLANCHE", "JCB", "ENROUTE", "JAL", "SWITCH_SOLO", "DELTA", "VISA_ELECTRON", "DANKORT", "LASER", "CARTE_SBANCAIRES", "CARTASI", "MAESTRO_INTERNATIONAL", "GE_MONEY_UK_CARD", "HIPER_CARD", "ELO" ] } }, "requireCardVerificationValue": { "type": "array", "items": { "type": "string", "enum": [ "VISA", "MASTER_CARD", "AMEX", "DISCOVER", "DINERS_CLUB", "CARTE_BLANCHE", "JCB", "ENROUTE", "JAL", "SWITCH_SOLO", "DELTA", "VISA_ELECTRON", "DANKORT", "LASER", "CARTE_SBANCAIRES", "CARTASI", "MAESTRO_INTERNATIONAL", "GE_MONEY_UK_CARD", "HIPER_CARD", "ELO" ] } }, "acceptedCardTypes": { "type": "array", "items": { "type": "string", "enum": [ "VISA", "MASTER_CARD", "AMEX", "DISCOVER", "DINERS_CLUB", "CARTE_BLANCHE", "JCB", "ENROUTE", "JAL", "SWITCH_SOLO", "DELTA", "VISA_ELECTRON", "DANKORT", "LASER", "CARTE_SBANCAIRES", "CARTASI", "MAESTRO_INTERNATIONAL", "GE_MONEY_UK_CARD", "HIPER_CARD", "ELO" ] } }, "displayCreditCards": { "type": "boolean" }, "displayEchecks": { "type": "boolean" }, "displayDebtIndicator": { "type": "boolean" }, "displayBillPayment": { "type": "boolean" }, "enableEchecks": { "type": "boolean" }, "displayIgnoreECheckAvsCheckbox": { "type": "boolean" }, "firstNameRequired": { "type": "boolean" }, "lastNameRequired": { "type": "boolean" }, "displayFirstName": { "type": "boolean" }, "displayLastName": { "type": "boolean" } } }, "merchantDefinedDataFields": { "type": "object", "properties": { "displayMerchantDefinedData1": { "type": "boolean" }, "displayMerchantDefinedData2": { "type": "boolean" }, "displayMerchantDefinedData3": { "type": "boolean" }, "displayMerchantDefinedData4": { "type": "boolean" }, "displayMerchantDefinedData5": { "type": "boolean" }, "merchantDefinedData1DefaultValue": { "type": "string" }, "merchantDefinedData1Label": { "type": "string" }, "requireMerchantDefinedData1": { "type": "boolean" }, "merchantDefinedData2DefaultValue": { "type": "string" }, "merchantDefinedData2Label": { "type": "string" }, "requireMerchantDefinedData2": { "type": "boolean" }, "merchantDefinedData3DefaultValue": { "type": "string" }, "merchantDefinedData3Label": { "type": "string" }, "requireMerchantDefinedData3": { "type": "boolean" }, "merchantDefinedData4DefaultValue": { "type": "string" }, "merchantDefinedData4Label": { "type": "string" }, "requireMerchantDefinedData4": { "type": "boolean" }, "merchantDefinedData5DefaultValue": { "type": "string" }, "merchantDefinedData5Label": { "type": "string" }, "requireMerchantDefinedData5": { "type": "boolean" }, "merchantDefinedData1DisplayOnReceipt": { "type": "boolean" }, "merchantDefinedData2DisplayOnReceipt": { "type": "boolean" }, "merchantDefinedData3DisplayOnReceipt": { "type": "boolean" }, "merchantDefinedData4DisplayOnReceipt": { "type": "boolean" }, "merchantDefinedData5DisplayOnReceipt": { "type": "boolean" } } } } }, "receiptInformation": { "type": "object", "properties": { "header": { "type": "object", "properties": { "virtualTerminalReceiptHeader": { "type": "string" } } }, "orderInformation": { "type": "object", "properties": { "emailAliasName": { "type": "string" }, "customReplyToEmailAddress": { "type": "string" } } }, "emailReceipt": { "type": "object", "properties": { "sendersEmailAddress": { "type": "string" } } } } } } }, "cardPresent": { "type": "object", "properties": { "globalPaymentInformation": { "type": "object", "properties": { "basicInformation": { "type": "object", "properties": { "defaultStandardEntryClassCode": { "type": "string" }, "defaultCountryCode": { "type": "string", "description": "ISO 4217 format" }, "defaultCurrencyCode": { "type": "string", "description": "Three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)" }, "defaultTransactionType": { "type": "string", "enum": [ "AUTHORIZATION", "SALE" ] }, "defaultPaymentType": { "type": "string", "enum": [ "CREDIT_CARD", "ECHECK" ] }, "defaultTransactionSource": { "type": "string" }, "displayRetail": { "type": "boolean" }, "displayMoto": { "type": "boolean" }, "displayInternet": { "type": "boolean" } } }, "paymentInformation": { "type": "object", "properties": { "displayCardVerificationValue": { "type": "array", "items": { "type": "string", "enum": [ "VISA", "MASTER_CARD", "AMEX", "DISCOVER", "DINERS_CLUB", "CARTE_BLANCHE", "JCB", "ENROUTE", "JAL", "SWITCH_SOLO", "DELTA", "VISA_ELECTRON", "DANKORT", "LASER", "CARTE_SBANCAIRES", "CARTASI", "MAESTRO_INTERNATIONAL", "GE_MONEY_UK_CARD", "HIPER_CARD", "ELO" ] } }, "requireCardVerificationValue": { "type": "array", "items": { "type": "string", "enum": [ "VISA", "MASTER_CARD", "AMEX", "DISCOVER", "DINERS_CLUB", "CARTE_BLANCHE", "JCB", "ENROUTE", "JAL", "SWITCH_SOLO", "DELTA", "VISA_ELECTRON", "DANKORT", "LASER", "CARTE_SBANCAIRES", "CARTASI", "MAESTRO_INTERNATIONAL", "GE_MONEY_UK_CARD", "HIPER_CARD", "ELO" ] } }, "acceptedCardTypes": { "type": "array", "items": { "type": "string", "enum": [ "VISA", "MASTER_CARD", "AMEX", "DISCOVER", "DINERS_CLUB", "CARTE_BLANCHE", "JCB", "ENROUTE", "JAL", "SWITCH_SOLO", "DELTA", "VISA_ELECTRON", "DANKORT", "LASER", "CARTE_SBANCAIRES", "CARTASI", "MAESTRO_INTERNATIONAL", "GE_MONEY_UK_CARD", "HIPER_CARD", "ELO" ] } }, "displayCreditCards": { "type": "boolean" }, "displayEchecks": { "type": "boolean" }, "displayDebtIndicator": { "type": "boolean" }, "displayBillPayment": { "type": "boolean" }, "enableEchecks": { "type": "boolean" }, "displayIgnoreECheckAvsCheckbox": { "type": "boolean" }, "firstNameRequired": { "type": "boolean" }, "lastNameRequired": { "type": "boolean" }, "displayFirstName": { "type": "boolean" }, "displayLastName": { "type": "boolean" } } }, "merchantDefinedDataFields": { "type": "object", "properties": { "displayMerchantDefinedData1": { "type": "boolean" }, "displayMerchantDefinedData2": { "type": "boolean" }, "displayMerchantDefinedData3": { "type": "boolean" }, "displayMerchantDefinedData4": { "type": "boolean" }, "displayMerchantDefinedData5": { "type": "boolean" }, "merchantDefinedData1DefaultValue": { "type": "string" }, "merchantDefinedData1Label": { "type": "string" }, "requireMerchantDefinedData1": { "type": "boolean" }, "merchantDefinedData2DefaultValue": { "type": "string" }, "merchantDefinedData2Label": { "type": "string" }, "requireMerchantDefinedData2": { "type": "boolean" }, "merchantDefinedData3DefaultValue": { "type": "string" }, "merchantDefinedData3Label": { "type": "string" }, "requireMerchantDefinedData3": { "type": "boolean" }, "merchantDefinedData4DefaultValue": { "type": "string" }, "merchantDefinedData4Label": { "type": "string" }, "requireMerchantDefinedData4": { "type": "boolean" }, "merchantDefinedData5DefaultValue": { "type": "string" }, "merchantDefinedData5Label": { "type": "string" }, "requireMerchantDefinedData5": { "type": "boolean" }, "merchantDefinedData1DisplayOnReceipt": { "type": "boolean" }, "merchantDefinedData2DisplayOnReceipt": { "type": "boolean" }, "merchantDefinedData3DisplayOnReceipt": { "type": "boolean" }, "merchantDefinedData4DisplayOnReceipt": { "type": "boolean" }, "merchantDefinedData5DisplayOnReceipt": { "type": "boolean" } } } } }, "receiptInformation": { "type": "object", "properties": { "header": { "type": "object", "properties": { "virtualTerminalReceiptHeader": { "type": "string" } } }, "orderInformation": { "type": "object", "properties": { "emailAliasName": { "type": "string" }, "customReplyToEmailAddress": { "type": "string" } } }, "emailReceipt": { "type": "object", "properties": { "sendersEmailAddress": { "type": "string" } } } } } } } } } } } } }, "currencyConversion": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." } } }, "configurationInformation": { "type": "object", "properties": { "templateId": { "type": "string", "format": "uuid" }, "configurations": { "type": "object", "properties": { "processors": { "type": "object", "additionalProperties": { "x-devcenter-additional-properties": [ "six", "cmcic", "fdiglobal", "fdcsouth" ], "type": "object", "properties": { "merchantId": { "type": "string", "description": "The merchant identifier for the Currency Conversion service. Check with your Currency Conversion Provider for details." }, "acquirerId": { "type": "string" } } } } } } } } } }, "tax": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." } } } } }, "customerInvoicing": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." } } } } }, "recurringBilling": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." } } } } }, "paymentOrchestration": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." } } } } }, "payouts": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." } } }, "configurationInformation": { "type": "object", "properties": { "configurations": { "type": "object", "properties": { "pullfunds": { "type": "object", "additionalProperties": { "description": "Formatted as *{payoutsAcquirerName}. The property name field should be the same as the processor name for which the pull funds or push funds feature is being configured. Here is the list of valid processor names [TBD]", "type": "object", "required": [ "acquiringBIN", "cardAcceptorId", "cardTerminalId" ], "properties": { "acquirerOrganizationId": { "type": "string", "minLength": 1, "maxLength": 50, "description": "Valid organization in OMS with an organizationInformation.type as \"acquirer\"." }, "acquiringBIN": { "type": "integer", "minLength": 6, "maxLength": 11, "description": "This code identifies the financial institution acting as the acquirer of this transaction. The acquirer is the client or system user that signed the originator or installed the unattended cardholder- activated environment. When a processing center operates for multiple acquirers, this code is for the individual client or system user, not a code for the center." }, "allowCryptoCurrencyPurchase": { "type": "boolean", "description": "This configuration allows a transaction to be flagged for cryptocurrency funds transfer." }, "cardAcceptorId": { "type": "string", "minLength": 1, "maxLength": 15, "description": "A unique identifier number for the originator of transfers that is unique to the processor or acquirer." }, "originatorMvv": { "type": "string", "minLength": 10, "maxLength": 10, "description": "Merchant Verification Value (MVV) is used to identify originators that participate in a variety of programs. The MVV is unique to the merchant." }, "originatorNameAbbreviation": { "type": "string", "minLength": 1, "maxLength": 4, "description": "A 4 character max name abbreviation for the originator." }, "cardTerminalId": { "type": "string", "minLength": 1, "maxLength": 8, "description": "This field contains a code that identifies a terminal at the card acceptor location. This field is used in all messages related to a transaction. If sending transactions from a card not present environment, use the same value for all transactions." } } } }, "pushfunds": { "type": "object", "additionalProperties": { "description": "Formatted as *{payoutsAcquirerName}. The property name field should be the same as the processor name for which the pull funds or push funds feature is being configured. Here is the list of valid processor names [TBD]", "type": "object", "required": [ "originatorBusinessApplicationId", "acquirerCountryCode", "acquiringBIN", "processorAccount" ], "properties": { "acquirerCountryCode": { "type": "integer", "maxLength": 3, "description": "TBD" }, "acquiringBIN": { "type": "integer", "maxLength": 11, "description": "TBD" }, "allowCryptoCurrencyPurchase": { "type": "boolean", "description": "This configuration allows a transaction to be flagged for cryptocurrency funds transfer." }, "financialInstitutionId": { "type": "string", "minLength": 4, "maxLength": 4, "description": "TBD" }, "networkOrder": { "type": "string", "maxLength": 30, "description": "TBD" }, "nationalReimbursementFee": { "type": "string", "maxLength": 1, "description": "TBD" }, "originatorBusinessApplicationId": { "type": "string", "maxLength": 3, "description": "TBD" }, "originatorPseudoAbaNumber": { "type": "string", "maxLength": 9, "description": "TBD" }, "processorAccount": { "type": "array", "items": { "required": [ "originatorMerchantId", "originatorTerminalId" ], "type": "object", "properties": { "originatorMerchantId": { "type": "string", "maxLength": 15, "description": "TBD" }, "originatorTerminalId": { "type": "array", "description": "TBD", "items": { "type": "string", "maxLength": 8 } }, "supportedCurrencies": { "type": "array", "description": "Three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)", "items": { "type": "string", "maxLength": 3, "minLength": 3 } } } }, "description": "TBD" } } } } } } } } } }, "differentialFee": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." }, "features": { "type": "object", "properties": { "surcharge": { "type": "object", "properties": { "enabled": { "type": "boolean" } } } } } } } } }, "payByLink": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." } } } } }, "unifiedCheckout": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." } } } } }, "receivablesManager": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." } } } } } } }, "risk": { "title": "riskProducts", "type": "object", "properties": { "fraudManagementEssentials": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." } } }, "configurationInformation": { "type": "object", "properties": { "templateId": { "type": "string", "format": "uuid" } } } } }, "decisionManager": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." } } }, "configurationInformation": { "type": "object", "properties": { "templateId": { "type": "string", "format": "uuid" }, "configurations": { "type": "object", "title": "DmConfig", "properties": { "processingOptions": { "type": "object", "properties": { "stepUpAuthEnabled": { "type": "boolean" } } }, "organization": { "type": "object", "properties": { "hierarchyGroup": { "type": "string", "description": "Must be one of the following : NO_GROUP, INCLUDE_IN_PARENTS_GROUP\n", "example": "NO_GROUP" } } }, "portfolioControls": { "type": "object", "properties": { "hideRiskMenus": { "type": "boolean" }, "hideRiskTransactionData": { "type": "boolean" } } }, "thirdparty": { "type": "object", "properties": { "provider": { "type": "object", "properties": { "accurint": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "credentials": { "type": "object", "properties": { "username": { "type": "string" }, "password": { "type": "string" } } } } }, "credilink": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "enableRealTime": { "type": "boolean" }, "useCybsCredentials": { "type": "boolean" }, "credentials": { "type": "object", "properties": { "username": { "type": "string" }, "password": { "type": "string" }, "sigla": { "type": "string" } } } } }, "ekata": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "enableRealTime": { "type": "boolean" }, "useCybsCredentials": { "type": "boolean" }, "credentials": { "type": "object", "properties": { "apiKey": { "type": "string" } } } } }, "emailage": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "enableRealTime": { "type": "boolean" }, "useCybsCredentials": { "type": "boolean" }, "credentials": { "type": "object", "properties": { "username": { "type": "string" }, "password": { "type": "string" } } } } }, "perseuss": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "enableRealTime": { "type": "boolean" }, "credentials": { "type": "object", "properties": { "username": { "type": "string" }, "password": { "type": "string" } } } } }, "signifyd": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "credentials": { "type": "object", "properties": { "teamId": { "type": "string" }, "apiKey": { "type": "string" }, "secretKeyid": { "type": "string" }, "secretKey": { "type": "string" } } } } }, "targus": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "useCybsCredentials": { "type": "boolean" }, "credentials": { "type": "object", "properties": { "username": { "type": "string" }, "password": { "type": "string" }, "serviceId": { "type": "string" } } } } } } } } } } } } } } } } }, "commerceSolutions": { "title": "commerceSolutionsProducts", "type": "object", "properties": { "tokenManagement": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." } } }, "configurationInformation": { "type": "object", "properties": { "templateId": { "type": "string", "format": "uuid" }, "configurations": { "type": "object", "properties": { "parentProfileId": { "type": "string", "description": "Specify the Vault ID to which transacting MID needs to be assigned.Provide Vault ID as seen on EBC Vault management page. If not provided , transacting MID will be assigned to the existing default Vault at merchant's level. If there are no Vaults at merchant level , a new Vault will be created and transacting MID will be assigned to it." } } } } } } }, "accountUpdater": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." } } }, "configurationInformation": { "type": "object", "properties": { "templateId": { "type": "string", "format": "uuid" }, "configurations": { "type": "object", "properties": { "masterCard": { "type": "object", "properties": { "merchantId": { "type": "string", "description": "MasterCard merchant identified number" }, "interbankCardAssociationNumber": { "type": "string", "description": "Number assigned by MasterCard to a financial institution, third-party processor or other member to identify the member in transaction." }, "active": { "type": "boolean" } }, "required": [ "merchantId", "interbankCardAssociationNumber" ] }, "visa": { "type": "object", "properties": { "merchantId": { "type": "string", "description": "Visa merchant identified number" }, "segmentId": { "type": "string", "description": "Visa assigned segment ID for each group of merchants participating in VAU." }, "active": { "type": "boolean" } }, "required": [ "merchantId", "segmentId" ] }, "amex": { "type": "object", "properties": { "mode": { "type": "string", "description": "Type of mode. Valid values are `tokenApi` or `dailyHarvest`." }, "seNumber": { "type": "string" }, "subscriberId": { "type": "string" }, "active": { "type": "boolean" } } }, "preferredDay": { "type": "number", "minimum": 1, "maximum": 28 }, "daysWindow": { "type": "number", "minimum": 1, "maximum": 3650, "default": 31 } } } } } } }, "binLookup": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." } } }, "configurationInformation": { "type": "object", "properties": { "configurations": { "type": "object", "properties": { "isPayoutOptionsEnabled": { "type": "boolean", "description": "This flag indicates if the merchant is configured to make payout calls" }, "isAccountPrefixEnabled": { "type": "boolean", "description": "This flag indicates if the merchant is configured to receive account prefix" } } } } } } } } }, "valueAddedServices": { "title": "valueAddedServicesProducts", "type": "object", "properties": { "reporting": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." } } } } }, "transactionSearch": { "type": "object", "properties": { "subscriptionInformation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "selfServiceability": { "type": "string", "enum": [ "SELF_SERVICEABLE", "NOT_SELF_SERVICEABLE", "SELF_SERVICE_ONLY" ], "default": "NOT_SELF_SERVICEABLE", "description": "Indicates if the organization can enable this product using self service." } } } } } } } } } } }, "productInformationSetups": { "type": "array", "items": { "type": "object", "properties": { "organizationId": { "type": "string", "maxLength": 30, "minLength": 6, "pattern": "^[0-9a-zA-Z]+$", "example": "merch-test1" }, "setups": { "type": "object", "properties": { "payments": { "type": "object", "properties": { "cardProcessing": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } }, "configurationStatus": { "type": "object", "properties": { "configurationId": { "type": "string", "format": "uuid", "description": "This is NOT for MVP" }, "version": { "type": "string" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "PARTIAL", "PENDING", "NOT_SETUP" ] }, "reason": { "type": "string", "enum": [ "PENDING_PROVISIONING_PROCESS", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD", "NOT_APPLICABLE" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } }, "cardPresentConnect": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } }, "configurationStatus": { "type": "object", "properties": { "configurationId": { "type": "string", "format": "uuid", "description": "This is NOT for MVP" }, "version": { "type": "string" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "PARTIAL", "PENDING", "NOT_SETUP" ] }, "reason": { "type": "string", "enum": [ "PENDING_PROVISIONING_PROCESS", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD", "NOT_APPLICABLE" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } }, "eCheck": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } }, "configurationStatus": { "type": "object", "properties": { "configurationId": { "type": "string", "format": "uuid", "description": "This is NOT for MVP" }, "version": { "type": "string" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "PARTIAL", "PENDING", "NOT_SETUP" ] }, "reason": { "type": "string", "enum": [ "PENDING_PROVISIONING_PROCESS", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD", "NOT_APPLICABLE" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } }, "payerAuthentication": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } }, "configurationStatus": { "type": "object", "properties": { "configurationId": { "type": "string", "format": "uuid", "description": "This is NOT for MVP" }, "version": { "type": "string" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "PARTIAL", "PENDING", "NOT_SETUP" ] }, "reason": { "type": "string", "enum": [ "PENDING_PROVISIONING_PROCESS", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD", "NOT_APPLICABLE" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } }, "digitalPayments": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } }, "secureAcceptance": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } }, "configurationStatus": { "type": "object", "properties": { "configurationId": { "type": "string", "format": "uuid", "description": "This is NOT for MVP" }, "version": { "type": "string" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "PARTIAL", "PENDING", "NOT_SETUP" ] }, "reason": { "type": "string", "enum": [ "PENDING_PROVISIONING_PROCESS", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD", "NOT_APPLICABLE" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } }, "virtualTerminal": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } }, "configurationStatus": { "type": "object", "properties": { "configurationId": { "type": "string", "format": "uuid", "description": "This is NOT for MVP" }, "version": { "type": "string" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "PARTIAL", "PENDING", "NOT_SETUP" ] }, "reason": { "type": "string", "enum": [ "PENDING_PROVISIONING_PROCESS", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD", "NOT_APPLICABLE" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } }, "currencyConversion": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } }, "configurationStatus": { "type": "object", "properties": { "configurationId": { "type": "string", "format": "uuid", "description": "This is NOT for MVP" }, "version": { "type": "string" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "PARTIAL", "PENDING", "NOT_SETUP" ] }, "reason": { "type": "string", "enum": [ "PENDING_PROVISIONING_PROCESS", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD", "NOT_APPLICABLE" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } }, "tax": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } }, "customerInvoicing": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } }, "recurringBilling": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } }, "configurationStatus": { "type": "object", "properties": { "configurationId": { "type": "string", "format": "uuid", "description": "This is NOT for MVP" }, "version": { "type": "string" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "PARTIAL", "PENDING", "NOT_SETUP" ] }, "reason": { "type": "string", "enum": [ "PENDING_PROVISIONING_PROCESS", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD", "NOT_APPLICABLE" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } }, "cybsReadyTerminal": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } }, "configurationStatus": { "type": "object", "properties": { "configurationId": { "type": "string", "format": "uuid", "description": "This is NOT for MVP" }, "version": { "type": "string" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "PARTIAL", "PENDING", "NOT_SETUP" ] }, "reason": { "type": "string", "enum": [ "PENDING_PROVISIONING_PROCESS", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD", "NOT_APPLICABLE" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } }, "paymentOrchestration": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } }, "payouts": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } }, "configurationStatus": { "type": "object", "properties": { "configurationId": { "type": "string", "format": "uuid", "description": "This is NOT for MVP" }, "version": { "type": "string" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "PARTIAL", "PENDING", "NOT_SETUP" ] }, "reason": { "type": "string", "enum": [ "PENDING_PROVISIONING_PROCESS", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD", "NOT_APPLICABLE" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } }, "payByLink": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } }, "unifiedCheckout": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } }, "receivablesManager": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } } } }, "risk": { "type": "object", "properties": { "fraudManagementEssentials": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } }, "configurationStatus": { "type": "object", "properties": { "configurationId": { "type": "string", "format": "uuid", "description": "This is NOT for MVP" }, "version": { "type": "string" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "PARTIAL", "PENDING", "NOT_SETUP" ] }, "reason": { "type": "string", "enum": [ "PENDING_PROVISIONING_PROCESS", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD", "NOT_APPLICABLE" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } }, "decisionManager": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } }, "configurationStatus": { "type": "object", "properties": { "configurationId": { "type": "string", "format": "uuid", "description": "This is NOT for MVP" }, "version": { "type": "string" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "PARTIAL", "PENDING", "NOT_SETUP" ] }, "reason": { "type": "string", "enum": [ "PENDING_PROVISIONING_PROCESS", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD", "NOT_APPLICABLE" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } } } }, "commerceSolutions": { "type": "object", "properties": { "tokenManagement": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } }, "configurationStatus": { "type": "object", "properties": { "configurationId": { "type": "string", "format": "uuid", "description": "This is NOT for MVP" }, "version": { "type": "string" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "PARTIAL", "PENDING", "NOT_SETUP" ] }, "reason": { "type": "string", "enum": [ "PENDING_PROVISIONING_PROCESS", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD", "NOT_APPLICABLE" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } }, "accountUpdater": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } }, "configurationStatus": { "type": "object", "properties": { "configurationId": { "type": "string", "format": "uuid", "description": "This is NOT for MVP" }, "version": { "type": "string" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "PARTIAL", "PENDING", "NOT_SETUP" ] }, "reason": { "type": "string", "enum": [ "PENDING_PROVISIONING_PROCESS", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD", "NOT_APPLICABLE" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } }, "binLookup": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } }, "configurationStatus": { "type": "object", "properties": { "configurationId": { "type": "string", "format": "uuid", "description": "This is NOT for MVP" }, "version": { "type": "string" }, "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "PARTIAL", "PENDING", "NOT_SETUP" ] }, "reason": { "type": "string", "enum": [ "PENDING_PROVISIONING_PROCESS", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD", "NOT_APPLICABLE" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } } } }, "valueAddedServices": { "type": "object", "properties": { "reporting": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } }, "transactionSearch": { "type": "object", "properties": { "subscriptionStatus": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "enum": [ "SUCCESS", "FAILURE", "PARTIAL", "PENDING" ] }, "reason": { "type": "string", "enum": [ "DEPENDENT_PRODUCT_NOT_CONTRACTED", "DEPENDENT_FEATURE_NOT_CHOSEN", "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string", "enum": [ "MISSING_DATA", "INVALID_DATA", "DUPLICATE_FIELD" ] } }, "additionalProperties": { "type": "string" } } }, "message": { "type": "string" } } } } } } } } } } } }, "documentInformation": { "type": "object", "properties": { "signedDocuments": { "type": "array", "items": { "type": "object", "properties": { "documentId": { "type": "string", "maxLength": 200, "example": "TCProcessing" } } } } } }, "details": { "type": "object", "additionalProperties": { "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.", "example": "MISSING_FIELD" }, "value": { "type": "string", "example": "abc123" }, "reference": { "type": "string", "example": "xyz" } } }, "x-devcenter-additional-properties": [ "organizationInformation", "productInformation" ] } } } } }, "400": { "description": "Bad Request", "headers": { "v-c-correlationid": { "type": "string", "description": "Unique identifier for this request" } }, "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "format": "date", "example": "2019-06-11T22:47:57.000Z", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "description": "The http status description of the submitted request.", "example": "BAD_REQUEST" }, "reason": { "type": "string", "description": "Documented reason codes. Client should be able to use the key for generating their own error message\nPossible Values:\n - 'INVALID_DATA'\n - 'SYSTEM_ERROR'\n - 'RESOURCE_NOT_FOUND'\n", "enum": [ "INVALID_DATA", "SYSTEM_ERROR", "RESOURCE_NOT_FOUND" ] }, "message": { "type": "string", "description": "Descriptive message for the error." }, "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.", "example": "MISSING_FIELD" } } } } } } }, "404": { "description": "Resource Not Found", "headers": { "v-c-correlationid": { "type": "string", "description": "Unique identifier for this request" } }, "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "format": "date", "example": "2019-06-11T22:47:57.000Z", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "description": "The http status description of the submitted request.", "example": "NOT_FOUND" }, "reason": { "type": "string", "description": "Documented reason codes. Client should be able to use the key for generating their own error message\nPossible Values:\n - 'RESOURCE_NOT_FOUND'\n", "enum": [ "RESOURCE_NOT_FOUND" ] }, "message": { "type": "string", "description": "Descriptive message for the error." }, "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.", "example": "MISSING_FIELD" } } } } } } }, "500": { "description": "Internal Server error", "headers": { "v-c-correlationid": { "type": "string", "description": "Unique identifier for this request" } }, "schema": { "type": "object", "properties": { "submitTimeUtc": { "type": "string", "format": "date", "example": "2019-06-11T22:47:57.000Z", "description": "Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\n\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the\ntime. The Z indicates UTC.\n" }, "status": { "type": "string", "description": "The http status description of the submitted request.", "example": "INTERNAL_SERVER_ERROR" }, "reason": { "type": "string", "description": "Documented reason codes. Client should be able to use the key for generating their own error message\nPossible Values:\n - 'SYSTEM_ERROR'\n", "enum": [ "SYSTEM_ERROR" ] }, "message": { "type": "string", "description": "Descriptive message for the error." } } } } } } }, "/kms/egress/v2/keys-sym": { "post": { "tags": [ "Create New Webhooks" ], "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/json;charset=utf-8" ], "x-devcenter-metaData": { "categoryTag": "Webhooks", "firstLevelApiLifeCycle": "beta", "secondLevelApiLifeCycle": "beta", "apiLifeCycle": "beta", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/webhooks/implementation/all/rest/webhooks/wh-fg-intro.html", "SDK_ONLY_AddDisclaimer": true }, "summary": "Create Webhook Security Keys", "description": "Create security keys that CyberSource will use internally to connect to your servers and validate messages using a digital signature.\n\nSelect the CREATE example for CyberSource to generate the key on our server and maintain it for you as well. Remeber to save the key in the API response, so that you can use it to validate messages later.\n", "operationId": "saveSymEgressKey", "parameters": [ { "name": "v-c-correlation-id", "in": "header", "description": "A globally unique id associated with your request", "type": "string", "pattern": "^[A-Za-z0-9\\.\\-_:]+$", "minLength": 2, "maxLength": 100 }, { "name": "v-c-sender-organization-id", "in": "header", "description": "Sender organization id", "required": true, "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$", "minLength": 2, "maxLength": 100 }, { "name": "v-c-permissions", "in": "header", "description": "Encoded user permissions returned by the CGK, for the entity user who initiated the boarding", "required": true, "type": "string" }, { "name": "SaveSymEgressKey", "in": "body", "description": "Provide egress Symmetric key information to save (create or store or refresh)", "schema": { "type": "object", "required": [ "clientRequestAction", "keyInformation" ], "properties": { "clientReferenceInformation": { "type": "object", "description": "Object for client references.", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Client generated order reference or tracking number. CyberSource recommends that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n" } } }, "clientRequestAction": { "type": "string", "description": "Client request action.\n" }, "keyInformation": { "type": "object", "description": "Egress Key Information Request\n", "properties": { "provider": { "type": "string", "description": "Provider name\n" }, "tenant": { "type": "string", "description": "Tenant name\n" }, "keyType": { "type": "string", "description": "Type of the key\n" }, "organizationId": { "type": "string", "description": "Organization Id\n" }, "clientKeyId": { "type": "string", "description": "Client key Id\n" }, "keyId": { "type": "string", "description": "Key Serial Number\n" }, "key": { "type": "string", "description": "Value of the key\n" }, "status": { "type": "string", "description": "The status of the key\n" }, "expiryDuration": { "type": "string", "description": "Key expiry duration in days\n" } } } } } } ], "responses": { "201": { "description": "Successful Response", "schema": { "type": "object", "description": "Egress Key Information Response\n", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\nExample `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The `T` separates the date and the\ntime. The `Z` indicates UTC.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\nPossible values:\n - ACCEPTED\n" }, "clientReferenceInformation": { "type": "object", "description": "Object for client references.", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Client generated order reference or tracking number. CyberSource recommends that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n" } } }, "keyInformation": { "type": "object", "description": "Egress Key Information\n", "properties": { "provider": { "type": "string", "description": "Provider name\n" }, "tenant": { "type": "string", "description": "Tenant name\n" }, "organizationId": { "type": "string", "description": "Organization Id\n" }, "clientKeyId": { "type": "string", "description": "Client key Id\n" }, "keyId": { "type": "string", "description": "Key Serial Number\n" }, "key": { "type": "string", "description": "Value of the key\n" }, "keyType": { "type": "string", "description": "Type of the key\n" }, "status": { "type": "string", "description": "The status of the key\n" }, "expirationDate": { "type": "string", "description": "The expiration time in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`\nExample 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the time. The Z indicates UTC.\n" }, "message": { "type": "string", "description": "Message in case of failed key\n" }, "errorInformation": { "type": "object", "properties": { "reason": { "type": "string", "description": "The reason of the status.\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n" }, "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.\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n" } } } } } } } } } } }, "400": { "description": "Bad Request" }, "401": { "description": "Unauthorized Request" }, "502": { "description": "Unexpected system error or system timeout" } }, "x-example": { "example0": { "summary": "Create Webhook Symmetric Key", "value": { "clientRequestAction": "CREATE", "keyInformation": { "provider": "nrtd", "tenant": "", "keyType": "sharedSecret", "organizationId": "" } } }, "example1": { "summary": "Store oAuth Credentials", "value": { "clientRequestAction": "STORE", "keyInformation": { "provider": "", "tenant": "nrtd", "keyType": "oAuthClientCredentials", "clientKeyId": "client username", "key": "client secret", "organizationId": "", "expiryDuration": "365" } } } } } }, "/notification-subscriptions/v1/products/{organizationId}": { "get": { "tags": [ "Create New Webhooks" ], "produces": [ "application/json;charset=utf-8" ], "x-devcenter-metaData": { "categoryTag": "Webhooks", "firstLevelApiLifeCycle": "beta", "secondLevelApiLifeCycle": "beta", "apiLifeCycle": "beta", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/webhooks/implementation/all/rest/webhooks/wh-fg-intro.html", "SDK_ONLY_AddDisclaimer": true }, "summary": "Find Products You Can Subscribe To", "description": "Retrieve a list of products and event types that your account is eligible for. These products and events are the ones that you may subscribe to in the next step of creating webhooks.", "operationId": "findProductsToSubscribe", "parameters": [ { "name": "organizationId", "in": "path", "description": "The Organization Identifier.", "type": "string", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "type": "object", "properties": { "productId": { "type": "string", "description": "Product ID." }, "productName": { "type": "string", "description": "Product Name." }, "eventTypes": { "type": "array", "items": { "type": "object", "properties": { "eventName": { "type": "string" }, "displayName": { "type": "string" }, "frequency": { "type": "integer", "default": -1 }, "timeSensitivity": { "type": "boolean", "default": false }, "payloadEncryption": { "type": "boolean", "default": false } }, "example": { "eventName": "payments.credits.accepted", "payloadEncryption": true } } } } } } }, "401": { "description": "Unauthorized" }, "404": { "description": "Not found" }, "500": { "description": "Server error" } }, "x-queryParameterDefaults": { "organizationId": "testrest" } } }, "/notification-subscriptions/v1/webhooks": { "post": { "tags": [ "Create New Webhooks" ], "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/json;charset=utf-8" ], "x-devcenter-metaData": { "categoryTag": "Webhooks", "firstLevelApiLifeCycle": "beta", "secondLevelApiLifeCycle": "beta", "apiLifeCycle": "beta", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/webhooks/implementation/all/rest/webhooks/wh-fg-intro.html", "SDK_ONLY_AddDisclaimer": true }, "summary": "Create a Webhook", "description": "Create a new webhook subscription. Before creating a webhook, ensure that a security key has been created at the top of this developer center section.\nYou will not need to pass us back the key during the creation of the webhook, but you will receive an error if you did not already create a key or store one on file.\n", "operationId": "createWebhookSubscription", "parameters": [ { "name": "createWebhookRequest", "in": "body", "description": "The webhook payload", "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "Client friendly webhook name." }, "description": { "type": "string", "description": "Client friendly webhook description." }, "organizationId": { "type": "string", "description": "Organization Identifier (OrgId) or Merchant Identifier (MID)." }, "productId": { "type": "string", "description": "To see the valid productId and eventTypes, call the \"Create and Manage Webhooks - Retrieve a list of event types\" endpoint." }, "eventTypes": { "type": "array", "items": { "type": "string" }, "description": "Array of the different events for a given product id." }, "webhookUrl": { "type": "string", "description": "The client's endpoint (URL) to receive webhooks." }, "healthCheckUrl": { "type": "string", "description": "The client's health check endpoint (URL). This should be as close as possible to the actual webhookUrl. If the user does not provide the health check URL, it is the user's responsibility to re-activate the webhook if it is deactivated by calling the test endpoint.\n" }, "notificationScope": { "type": "string", "description": "The webhook scope. 1. SELF The Webhook is used to deliver webhooks for only this Organization (or Merchant). 2. DESCENDANTS The Webhook is used to deliver webhooks for this Organization and its children. 3. CUSTOM The Webhook is used to deliver webhooks for the OrgIds (or MiDs) explicitly listed in scopeData field.\n" }, "retryPolicy": { "type": "object", "description": "Retry policy for the individual webhooks that are a part of your subscription. If a message fails to deliver, it will execute through this retry policy.\n\nAutomatic suspend and resume:\n\nIf you experience downtime and have `deactivateFlag = true` any new messages will be held in a \"SUSPENDED\" status.\nWhen your healthCheckUrl returns healthy again, the subscription will automatically be re-enabled and your messages will be sent.\nWe will ping your healthCheckUrl routinely using a POST call with an empty payload to check availability.\nIf your endpoint returns an unhealthy status of != 200, we will check the healthCheckUrl at a more frequent rate until it is healthy again.\n\nIf you experience downtime and have `deactivateFlag = false` and your message exhausts all retry attempts the message will go to a \"FAILED\" status.\nSupport will be notified and will reach out to suggest you execute the \"REPLAY\" endpoint at a later date when your server is healthy.\n\n\nReference the below values for formulas and calculations related to the frequency of retries depending on algorithm and configuration.\n", "properties": { "algorithm": { "type": "string", "description": "This is used to calculate the Retry Sequence.\n\nSample calculations using firstRetry=10, interval=30, maxNumberOfRetries=3\nArithmetic = a+r(n-1)\nRetry 1 - 10 minutes\nRetry 2 - 10+30x1 = 40 minutes\nRetry 3 - 10+30x2 = 70 minutes\n\nGeometric = ar^(n-1)\nRetry 1 - 10 minutes\nRetry 2 - 10x30^1 = 300 minutes\nRetry 3 - 10x30^2 = 9,000 minutes\n" }, "firstRetry": { "type": "integer", "description": "When to initiate first retry, after the initial call failed. (in mins)." }, "interval": { "type": "integer", "description": "The interval between retries (in mins)." }, "numberOfRetries": { "type": "integer", "description": "The number of retries per sequence." }, "deactivateFlag": { "type": "string", "description": "Deactivate the subscription if your retries fail to deliver.\n\nIf this is set to `true`, the automatic suspend and resume feature will occur.\nThis would prevent new webhooks from attempting to deliver and to queue up until your healthCheckUrl returns 200 again, then all messages will be sent.\n\nIf this is set to `false`, new individual messages will continue to retry and exhaust all failures, but the subscription will stay active.\n" }, "repeatSequenceCount": { "type": "integer", "description": "The number of times to repeat the complete retry sequence.\n0 => don't repeat the retry sequence\n1 => repeat the retry sequence once (R1, R2, R3)+ (R1, R2, R3)\n2 => repeat the retry sequence twice (R1, R2, R3) + (R1, R2, R3) + (R1, R2, R3)\n" }, "repeatSequenceWaitTime": { "type": "integer", "description": "The time to wait to before repeating the complete retry sequence.\nAmount of time to wait between each sequence.\nSample calculation using repeatSequenceWaitTime=10\n(R1, R2, R3) + (10) + (R1, R2, R3) + (10) + (R1, R2, R3)\n" }, "additionalAttributes": { "description": "Additional data, if any.", "type": "array", "items": { "type": "object", "additionalProperties": { "type": "string" } } } } }, "securityPolicy": { "type": "object", "description": "The security option to authenticate with your API or client server.", "properties": { "securityType": { "type": "string", "description": "Security Policy of the client server." }, "proxyType": { "type": "string", "description": "Internal client proxy type to be used by security policy." }, "config": { "description": "Optional configuration object for if your API or server requires oAuth for an incoming webhook.", "type": "object", "properties": { "oAuthTokenExpiry": { "type": "string", "description": "Token expiration for the oAuth server." }, "oAuthURL": { "type": "string", "description": "Client direct endpoint to the oAuth server." }, "oAuthTokenType": { "type": "string", "description": "Token type for the oAuth config." }, "additionalConfig": { "description": "Additional, free form configuration data.", "type": "object", "properties": { "aud": { "type": "string" }, "client_id": { "type": "string" }, "keyId": { "type": "string" }, "scope": { "type": "string" } } } } } } } } } } ], "responses": { "201": { "description": "Created", "schema": { "type": "object", "properties": { "webhookId": { "type": "string", "description": "Webhook Id. This is generated by the server." }, "organizationId": { "type": "string", "description": "Organization ID" }, "productId": { "type": "string", "description": "The product you are receiving a webhook for." }, "eventTypes": { "type": "array", "items": { "type": "string" }, "description": "Array of the different events for a given product id." }, "webhookUrl": { "type": "string", "description": "The client's endpoint (URL) to receive webhooks." }, "healthCheckUrl": { "type": "string", "description": "The client's health check endpoint (URL). This should be as close as possible to the actual webhookUrl." }, "notificationScope": { "type": "object", "properties": { "scope": { "type": "string", "description": "The webhook scope. 1. SELF The Webhook is used to deliver webhooks for only this Organization (or Merchant). 2. DESCENDANTS The Webhook is used to deliver webhooks for this Organization and its children. 3. CUSTOM The Webhook is used to deliver webhooks for the OrgIds (or MiDs) explicitly listed in scopeData field", "default": "SELF" }, "scopeData": { "type": "array", "description": "Applicable only if scope=CUSTOM. This should contains a Set of MIDs or OrgIDs for which this subscription is applicable.", "items": { "type": "string" } } } }, "status": { "type": "string", "description": "Webhook status.", "default": "INACTIVE" }, "name": { "type": "string", "description": "Client friendly webhook name." }, "description": { "type": "string", "description": "Client friendly webhook description." }, "retryPolicy": { "type": "object", "description": "Retry policy for the individual webhooks that are a part of your subscription. If a message fails to deliver, it will execute through this retry policy.\n\nAutomatic suspend and resume:\n\nIf you experience downtime and have `deactivateFlag = true` any new messages will be held in a \"SUSPENDED\" status.\nWhen your healthCheckUrl returns healthy again, the subscription will automatically be re-enabled and your messages will be sent.\nWe will ping your healthCheckUrl routinely using a POST call with an empty payload to check availability.\nIf your endpoint returns an unhealthy status of != 200, we will check the healthCheckUrl at a more frequent rate until it is healthy again.\n\nIf you experience downtime and have `deactivateFlag = false` and your message exhausts all retry attempts the message will go to a \"FAILED\" status.\nSupport will be notified and will reach out to suggest you execute the \"REPLAY\" endpoint at a later date when your server is healthy.\n\n\nReference the below values for formulas and calculations related to the frequency of retries depending on algorithm and configuration.\n", "properties": { "algorithm": { "type": "string", "description": "This is used to calculate the Retry Sequence.\n\nSample calculations using firstRetry=10, interval=30, maxNumberOfRetries=3\nArithmetic = a+r(n-1)\nRetry 1 - 10 minutes\nRetry 2 - 10+30x1 = 40 minutes\nRetry 3 - 10+30x2 = 70 minutes\n\nGeometric = ar^(n-1)\nRetry 1 - 10 minutes\nRetry 2 - 10x30^1 = 300 minutes\nRetry 3 - 10x30^2 = 9,000 minutes\n" }, "firstRetry": { "type": "integer", "description": "When to initiate first retry, after the initial call failed. (in mins)." }, "interval": { "type": "integer", "description": "The interval between retries (in mins)." }, "numberOfRetries": { "type": "integer", "description": "The number of retries per sequence." }, "deactivateFlag": { "type": "string", "description": "Deactivate the subscription if your retries fail to deliver.\n\nIf this is set to `true`, the automatic suspend and resume feature will occur.\nThis would prevent new webhooks from attempting to deliver and to queue up until your healthCheckUrl returns 200 again, then all messages will be sent.\n\nIf this is set to `false`, new individual messages will continue to retry and exhaust all failures, but the subscription will stay active.\n" }, "repeatSequenceCount": { "type": "integer", "description": "The number of times to repeat the complete retry sequence.\n0 => don't repeat the retry sequence\n1 => repeat the retry sequence once (R1, R2, R3)+ (R1, R2, R3)\n2 => repeat the retry sequence twice (R1, R2, R3) + (R1, R2, R3) + (R1, R2, R3)\n" }, "repeatSequenceWaitTime": { "type": "integer", "description": "The time to wait to before repeating the complete retry sequence.\nAmount of time to wait between each sequence.\nSample calculation using repeatSequenceWaitTime=10\n(R1, R2, R3) + (10) + (R1, R2, R3) + (10) + (R1, R2, R3)\n" }, "additionalAttributes": { "description": "Additional data, if any.", "type": "array", "items": { "type": "object", "additionalProperties": { "type": "string" } } } } }, "securityPolicy": { "type": "object", "properties": { "securityType": { "type": "string", "description": "Security Policy of the client server." }, "config": { "description": "Optional configuration object for if your API or server requires oAuth for an incoming webhook.", "type": "object", "properties": { "oAuthTokenExpiry": { "type": "string", "description": "Token expiration for the oAuth server." }, "oAuthURL": { "type": "string", "description": "Client direct endpoint to the oAuth server." }, "oAuthTokenType": { "type": "string", "description": "Token type for the oAuth config." } } } }, "description": "The security option to authenticate with your API or client server." }, "createdOn": { "type": "string", "description": "Date on which webhook was created/registered." }, "updatedOn": { "type": "string", "description": "Date on which webhook was most recently updated." }, "additionalAttributes": { "description": "Additional, free form configuration data.", "type": "array", "items": { "type": "object", "additionalProperties": { "type": "string" } } } }, "example": { "webhookId": "b555a545-58a9-47c7-aef9-10a8e17f201a", "organizationId": "", "productId": "payments", "eventTypes": [ "payments.payments.accept", "payments.payments.reject", "payments.refunds.accept" ], "webhookUrl": "https://example.com:443/cybs", "healthCheckUrl": "https://example.com:443/cybs/healthcheck", "notificationScope": "SELF", "status": "INACTIVE", "name": "Billing Update Webhook", "description": null, "retryPolicy": null, "securityPolicy": { "securityType": "oAuth", "config": { "oAuthUrl": "https://acquirers.authorization-server.com/token", "oAuthTokenType": "Bearer", "oAuthTokenExpiry": 300, "keyId": "IdFromSecureUSAPI2LookupClientIdAndClientSecret" } }, "createdOn": "2021-02-25T23:25:11.000Z", "updatedOn": null, "additionalAttributes": [] } } }, "400": { "description": "Bad Request" }, "401": { "description": "Unauthorized" }, "500": { "description": "Server error" } }, "x-example": { "example0": { "summary": "Create Token Management Webhook", "value": { "name": "My Custom Webhook", "description": "Sample Webhook from Developer Center", "organizationId": "", "productId": "tokenManagement", "eventTypes": [ "tms.networktoken.provisioned", "tms.networktoken.updated", "tms.token.pan_updated", "tms.token.created", "tms.token.updated" ], "webhookUrl": "https://MyWebhookServer.com:8443/simulateClient", "healthCheckUrl": "https://MyWebhookServer.com:8443/simulateClientHealthCheck", "notificationScope": "SELF", "retryPolicy": { "algorithm": "ARITHMETIC", "firstRetry": 1, "interval": 1, "numberOfRetries": 3, "deactivateFlag": "false", "repeatSequenceCount": 0, "repeatSequenceWaitTime": 0 }, "securityPolicy": { "securityType": "KEY", "proxyType": "external" } } }, "example1": { "summary": "Create Outage and Key Expiration Notification Webhook", "value": { "name": "My Custom Webhook", "description": "Sample Webhook from Developer Center", "organizationId": "", "productId": "cns", "eventTypes": [ "cns.outage.notify.freeform", "cns.report.keyExpiration.detail" ], "webhookUrl": "https://MyWebhookServer.com:8443/simulateClient", "healthCheckUrl": "https://MyWebhookServer.com:8443/simulateClientHealthCheck", "notificationScope": "SELF", "retryPolicy": { "algorithm": "ARITHMETIC", "firstRetry": 1, "interval": 1, "numberOfRetries": 3, "deactivateFlag": "false", "repeatSequenceCount": 0, "repeatSequenceWaitTime": 0 }, "securityPolicy": { "securityType": "KEY", "proxyType": "external" } } }, "example2": { "summary": "Create Alternative Payments Notification Webhook", "value": { "name": "My Custom Webhook", "description": "Sample Webhook from Developer Center", "organizationId": "", "productId": "alternativePaymentMethods", "eventTypes": [ "payments.payments.updated" ], "webhookUrl": "https://MyWebhookServer.com:8443/simulateClient", "healthCheckUrl": "https://MyWebhookServer.com:8443/simulateClientHealthCheck", "notificationScope": "SELF", "retryPolicy": { "algorithm": "ARITHMETIC", "firstRetry": 1, "interval": 1, "numberOfRetries": 3, "deactivateFlag": "false", "repeatSequenceCount": 0, "repeatSequenceWaitTime": 0 }, "securityPolicy": { "securityType": "KEY", "proxyType": "external" } } }, "example3": { "summary": "Create Recurring Billing Webhook", "value": { "name": "My Custom Webhook", "description": "Sample Webhook from Developer Center", "organizationId": "", "productId": "recurringBilling", "eventTypes": [ "rbs.subscriptions.charge.pre-notified", "rbs.subscriptions.charge.created", "rbs.subscriptions.charge.failed" ], "webhookUrl": "https://MyWebhookServer.com:8443/simulateClient", "healthCheckUrl": "https://MyWebhookServer.com:8443/simulateClientHealthCheck", "notificationScope": "SELF", "retryPolicy": { "algorithm": "ARITHMETIC", "firstRetry": 1, "interval": 1, "numberOfRetries": 3, "deactivateFlag": "false", "repeatSequenceCount": 0, "repeatSequenceWaitTime": 0 }, "securityPolicy": { "securityType": "KEY", "proxyType": "external" } } }, "example4": { "summary": "Create Secure Acceptance Webhook", "value": { "name": "My Custom Webhook", "description": "Sample Webhook from Developer Center", "organizationId": "", "productId": "secureAcceptance", "eventTypes": [ "sa.orders.rawtransactionresults", "sa.orders.cardholderreceipts", "sa.orders.merchantreceipts" ], "webhookUrl": "https://MyWebhookServer.com:8443/simulateClient", "healthCheckUrl": "https://MyWebhookServer.com:8443/simulateClientHealthCheck", "notificationScope": "SELF", "retryPolicy": { "algorithm": "ARITHMETIC", "firstRetry": 1, "interval": 1, "numberOfRetries": 3, "deactivateFlag": "false", "repeatSequenceCount": 0, "repeatSequenceWaitTime": 0 }, "securityPolicy": { "securityType": "KEY", "proxyType": "external" } } }, "example5": { "summary": "Create Invoicing Webhook", "value": { "name": "My Custom Webhook", "description": "Sample Webhook from Developer Center", "organizationId": "", "productId": "customerInvoicing", "eventTypes": [ "invoicing.customer.invoice.cancel", "invoicing.customer.invoice.overdue-reminder", "invoicing.customer.invoice.paid", "invoicing.customer.invoice.partial-payment", "invoicing.customer.invoice.partial-resend", "invoicing.customer.invoice.reminder", "invoicing.customer.invoice.send" ], "webhookUrl": "https://MyWebhookServer.com:8443/simulateClient", "healthCheckUrl": "https://MyWebhookServer.com:8443/simulateClientHealthCheck", "notificationScope": "SELF", "retryPolicy": { "algorithm": "ARITHMETIC", "firstRetry": 1, "interval": 1, "numberOfRetries": 3, "deactivateFlag": "false", "repeatSequenceCount": 0, "repeatSequenceWaitTime": 0 }, "securityPolicy": { "securityType": "KEY", "proxyType": "external" } } }, "example6": { "summary": "Create Terminal Management Webhook", "value": { "name": "My Custom Webhook", "description": "Sample Webhook from Developer Center", "organizationId": "", "productId": "terminalManagement", "eventTypes": [ "terminalManagement.assignment.update", "terminalManagement.status.update", "terminalManagement.reAssignment.update" ], "webhookUrl": "https://MyWebhookServer.com:8443/simulateClient", "healthCheckUrl": "https://MyWebhookServer.com:8443/simulateClientHealthCheck", "notificationScope": "SELF", "retryPolicy": { "algorithm": "ARITHMETIC", "firstRetry": 1, "interval": 1, "numberOfRetries": 3, "deactivateFlag": "false", "repeatSequenceCount": 0, "repeatSequenceWaitTime": 0 }, "securityPolicy": { "securityType": "KEY", "proxyType": "external" } } }, "example7": { "summary": "Create Fraud Management Webhook", "value": { "name": "My Custom Webhook", "description": "Sample Webhook from Developer Center", "organizationId": "", "productId": "fraudManagementEssentials", "eventTypes": [ "risk.profile.decision.review", "risk.profile.decision.reject", "risk.profile.decision.monitor", "risk.casemanagement.addnote", "risk.casemanagement.decision.accept", "risk.casemanagement.decision.reject" ], "webhookUrl": "https://MyWebhookServer.com:8443/simulateClient", "healthCheckUrl": "https://MyWebhookServer.com:8443/simulateClientHealthCheck", "notificationScope": "SELF", "retryPolicy": { "algorithm": "ARITHMETIC", "firstRetry": 1, "interval": 1, "numberOfRetries": 3, "deactivateFlag": "false", "repeatSequenceCount": 0, "repeatSequenceWaitTime": 0 }, "securityPolicy": { "securityType": "KEY", "proxyType": "external" } } }, "example8": { "summary": "Create Decision Manager Webhook", "value": { "name": "My Custom Webhook", "description": "Sample Webhook from Developer Center", "organizationId": "", "productId": "decisionManager", "eventTypes": [ "risk.profile.decision.reject", "risk.casemanagement.addnote", "risk.casemanagement.decision.accept", "risk.casemanagement.decision.reject" ], "webhookUrl": "https://MyWebhookServer.com:8443/simulateClient", "healthCheckUrl": "https://MyWebhookServer.com:8443/simulateClientHealthCheck", "notificationScope": "SELF", "retryPolicy": { "algorithm": "ARITHMETIC", "firstRetry": 1, "interval": 1, "numberOfRetries": 3, "deactivateFlag": "false", "repeatSequenceCount": 0, "repeatSequenceWaitTime": 0 }, "securityPolicy": { "securityType": "KEY", "proxyType": "external" } } }, "example9": { "summary": "Create Webhook using oAuth with Client Credentials", "value": { "name": "My Custom Webhook", "description": "Sample Webhook from Developer Center", "organizationId": "", "productId": "terminalManagement", "eventTypes": [ "terminalManagement.assignment.update" ], "webhookUrl": "https://MyWebhookServer.com:8443/simulateClient", "healthCheckUrl": "https://MyWebhookServer.com:8443/simulateClientHealthCheck", "notificationScope": "SELF", "retryPolicy": { "algorithm": "ARITHMETIC", "firstRetry": 1, "interval": 1, "numberOfRetries": 3, "deactivateFlag": "false", "repeatSequenceCount": 0, "repeatSequenceWaitTime": 0 }, "securityPolicy": { "securityType": "oAuth", "proxyType": "external", "config": { "oAuthTokenExpiry": 365, "oAuthURL": "https://MyWebhookServer.com:8443/oAuthToken", "oAuthTokenType": "Bearer" } } } }, "example10": { "summary": "Create Webhook using oAuth with JWT", "value": { "name": "My Custom Webhook", "description": "Sample Webhook from Developer Center", "organizationId": "", "productId": "terminalManagement", "eventTypes": [ "terminalManagement.assignment.update" ], "webhookUrl": "https://MyWebhookServer.com:8443/simulateClient", "healthCheckUrl": "https://MyWebhookServer.com:8443/simulateClientHealthCheck", "notificationScope": "SELF", "retryPolicy": { "algorithm": "ARITHMETIC", "firstRetry": 1, "interval": 1, "numberOfRetries": 3, "deactivateFlag": "false", "repeatSequenceCount": 0, "repeatSequenceWaitTime": 0 }, "securityPolicy": { "securityType": "oAuth_JWT", "proxyType": "external", "config": { "oAuthTokenExpiry": 365, "oAuthURL": "https://MyWebhookServer.com:8443/oAuthToken", "oAuthTokenType": "Bearer", "additionalConfig": { "aud": "idp.api.myServer.com", "client_id": "650538A1-7AB0-AD3A-51AB-932ABC57AD70", "keyId": "y-daaaAVyF0176M7-eAZ34pR9Ts", "scope": "merchantacq:rte:write" } } } } } } }, "get": { "tags": [ "Manage Webhooks" ], "produces": [ "application/json;charset=utf-8" ], "x-devcenter-metaData": { "categoryTag": "Webhooks", "firstLevelApiLifeCycle": "beta", "secondLevelApiLifeCycle": "beta", "apiLifeCycle": "beta", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/webhooks/implementation/all/rest/webhooks/wh-fg-intro.html", "SDK_ONLY_AddDisclaimer": true }, "summary": "Get Details On All Created Webhooks", "description": "Retrieve a list of all previously created webhooks.", "operationId": "getWebhookSubscriptionsByOrg", "parameters": [ { "name": "organizationId", "in": "query", "description": "The Organization Identifier.", "type": "string", "required": true }, { "name": "productId", "in": "query", "description": "The Product Identifier.", "type": "string", "required": true }, { "name": "eventType", "in": "query", "description": "The Event Type.", "type": "string", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "type": "object", "properties": { "webhookId": { "type": "string", "description": "Webhook Id. This is generated by the server." }, "organizationId": { "type": "string", "description": "Organization ID." }, "products": { "type": "array", "items": { "type": "object", "properties": { "productId": { "type": "string", "description": "Product ID." }, "eventTypes": { "type": "array", "items": { "type": "string", "description": "Event types within the product that you would like subscriptions for." } } }, "example": { "productId": "payments", "eventTypes": [ "payments.credits.accept", "payments.credits.partial.approval", "payments.payments.accept", "payments.payments.reject" ] } } }, "webhookUrl": { "type": "string", "description": "The client's endpoint (URL) to receive webhooks." }, "healthCheckUrl": { "type": "string", "description": "The client's health check endpoint (URL). This should be as close as possible to the actual webhookUrl." }, "notificationScope": { "type": "object", "properties": { "scope": { "type": "string", "description": "The webhook scope. 1. SELF The Webhook is used to deliver webhooks for only this Organization (or Merchant). 2. DESCENDANTS The Webhook is used to deliver webhooks for this Organization and its children. 3. CUSTOM The Webhook is used to deliver webhooks for the OrgIds (or MiDs) explicitly listed in scopeData field", "default": "SELF" }, "scopeData": { "type": "array", "description": "Applicable only if scope=CUSTOM. This should contains a Set of MIDs or OrgIDs for which this subscription is applicable.", "items": { "type": "string" } } } }, "status": { "type": "string", "description": "Webhook status.", "default": "INACTIVE" }, "name": { "type": "string", "description": "Client friendly webhook name." }, "description": { "type": "string", "description": "Client friendly webhook description." }, "retryPolicy": { "type": "object", "description": "Retry policy for the individual webhooks that are a part of your subscription. If a message fails to deliver, it will execute through this retry policy.\n\nAutomatic suspend and resume:\n\nIf you experience downtime and have `deactivateFlag = true` any new messages will be held in a \"SUSPENDED\" status.\nWhen your healthCheckUrl returns healthy again, the subscription will automatically be re-enabled and your messages will be sent.\nWe will ping your healthCheckUrl routinely using a POST call with an empty payload to check availability.\nIf your endpoint returns an unhealthy status of != 200, we will check the healthCheckUrl at a more frequent rate until it is healthy again.\n\nIf you experience downtime and have `deactivateFlag = false` and your message exhausts all retry attempts the message will go to a \"FAILED\" status.\nSupport will be notified and will reach out to suggest you execute the \"REPLAY\" endpoint at a later date when your server is healthy.\n\n\nReference the below values for formulas and calculations related to the frequency of retries depending on algorithm and configuration.\n", "properties": { "algorithm": { "type": "string", "description": "This is used to calculate the Retry Sequence.\n\nSample calculations using firstRetry=10, interval=30, maxNumberOfRetries=3\nArithmetic = a+r(n-1)\nRetry 1 - 10 minutes\nRetry 2 - 10+30x1 = 40 minutes\nRetry 3 - 10+30x2 = 70 minutes\n\nGeometric = ar^(n-1)\nRetry 1 - 10 minutes\nRetry 2 - 10x30^1 = 300 minutes\nRetry 3 - 10x30^2 = 9,000 minutes\n" }, "firstRetry": { "type": "integer", "description": "When to initiate first retry, after the initial call failed. (in mins)." }, "interval": { "type": "integer", "description": "The interval between retries (in mins)." }, "numberOfRetries": { "type": "integer", "description": "The number of retries per sequence." }, "deactivateFlag": { "type": "string", "description": "Deactivate the subscription if your retries fail to deliver.\n\nIf this is set to `true`, the automatic suspend and resume feature will occur.\nThis would prevent new webhooks from attempting to deliver and to queue up until your healthCheckUrl returns 200 again, then all messages will be sent.\n\nIf this is set to `false`, new individual messages will continue to retry and exhaust all failures, but the subscription will stay active.\n" }, "repeatSequenceCount": { "type": "integer", "description": "The number of times to repeat the complete retry sequence.\n0 => don't repeat the retry sequence\n1 => repeat the retry sequence once (R1, R2, R3)+ (R1, R2, R3)\n2 => repeat the retry sequence twice (R1, R2, R3) + (R1, R2, R3) + (R1, R2, R3)\n" }, "repeatSequenceWaitTime": { "type": "integer", "description": "The time to wait to before repeating the complete retry sequence.\nAmount of time to wait between each sequence.\nSample calculation using repeatSequenceWaitTime=10\n(R1, R2, R3) + (10) + (R1, R2, R3) + (10) + (R1, R2, R3)\n" }, "additionalAttributes": { "description": "Additional data, if any.", "type": "array", "items": { "type": "object", "additionalProperties": { "type": "string" } } } } }, "securityPolicy": { "type": "object", "properties": { "securityType": { "type": "string", "description": "Security Policy of the client server." }, "config": { "description": "Optional configuration object for if your API or server requires oAuth for an incoming webhook.", "type": "object", "properties": { "oAuthTokenExpiry": { "type": "string", "description": "Token expiration for the oAuth server." }, "oAuthURL": { "type": "string", "description": "Client direct endpoint to the oAuth server." }, "oAuthTokenType": { "type": "string", "description": "Token type for the oAuth config." } } } }, "description": "The security option to authenticate with your API or client server." }, "createdOn": { "type": "string", "description": "Date on which webhook was created/registered." }, "updatedOn": { "type": "string", "description": "Date on which webhook was most recently updated." }, "additionalAttributes": { "description": "Additional, free form configuration data.", "type": "array", "items": { "type": "object", "additionalProperties": { "type": "string" } } } }, "example": { "webhookId": "b555a545-58a9-47c7-aef9-10a8e17f201a", "organizationId": "", "productId": "payments", "eventTypes": [ "payments.payments.accept", "payments.payments.reject", "payments.refunds.accept" ], "webhookUrl": "https://example.com:443/cybs", "healthCheckUrl": "https://example.com:443/cybs/healthcheck", "notificationScope": "SELF", "status": "INACTIVE", "name": "Billing Update Webhook", "description": null, "retryPolicy": null, "securityPolicy": { "securityType": "oAuth", "config": { "oAuthUrl": "https://acquirers.authorization-server.com/token", "oAuthTokenType": "Bearer", "oAuthTokenExpiry": 300, "keyId": "IdFromSecureUSAPI2LookupClientIdAndClientSecret" } }, "createdOn": "2021-02-25T23:25:11.000Z", "updatedOn": null, "additionalAttributes": [] } } } }, "401": { "description": "Unauthorized" }, "500": { "description": "Server error" } } } }, "/notification-subscriptions/v1/webhooks/{webhookId}": { "patch": { "tags": [ "Manage Webhooks" ], "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/json;charset=utf-8" ], "x-devcenter-metaData": { "categoryTag": "Webhooks", "firstLevelApiLifeCycle": "beta", "secondLevelApiLifeCycle": "beta", "apiLifeCycle": "beta", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/webhooks/implementation/all/rest/webhooks/wh-fg-intro.html", "SDK_ONLY_AddDisclaimer": true }, "summary": "Update a Webhook Subscription", "description": "Update the webhook subscription using PATCH.", "operationId": "updateWebhookSubscription", "parameters": [ { "name": "webhookId", "in": "path", "type": "string", "description": "The Webhook Identifier.", "required": true }, { "name": "updateWebhookRequest", "in": "body", "description": "The webhook payload or changes to apply.", "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "Client friendly webhook name." }, "description": { "type": "string", "description": "Client friendly webhook description.\\" }, "organizationId": { "type": "string", "description": "Organization Id." }, "productId": { "type": "string", "description": "The product you are receiving a webhook for." }, "eventTypes": { "type": "array", "items": { "type": "string" }, "description": "Array of the different events for a given product id." }, "webhookUrl": { "type": "string", "description": "The client's endpoint (URL) to receive webhooks." }, "healthCheckUrl": { "type": "string", "description": "The client's health check endpoint (URL). This should be as close as possible to the actual webhookUrl." }, "status": { "type": "string", "description": "Webhook status.", "default": "INACTIVE" }, "notificationScope": { "type": "object", "properties": { "scope": { "type": "string", "description": "The webhook scope. 1. SELF The Webhook is used to deliver webhooks for only this Organization (or Merchant). 2. DESCENDANTS The Webhook is used to deliver webhooks for this Organization and its children. 3. CUSTOM The Webhook is used to deliver webhooks for the OrgIds (or MiDs) explicitly listed in scopeData field", "default": "SELF" }, "scopeData": { "type": "array", "description": "Applicable only if scope=CUSTOM. This should contains a Set of MIDs or OrgIDs for which this subscription is applicable.", "items": { "type": "string" } } } }, "retryPolicy": { "type": "object", "description": "Retry policy for the individual webhooks that are a part of your subscription. If a message fails to deliver, it will execute through this retry policy.\n\nAutomatic suspend and resume:\n\nIf you experience downtime and have `deactivateFlag = true` any new messages will be held in a \"SUSPENDED\" status.\nWhen your healthCheckUrl returns healthy again, the subscription will automatically be re-enabled and your messages will be sent.\nWe will ping your healthCheckUrl routinely using a POST call with an empty payload to check availability.\nIf your endpoint returns an unhealthy status of != 200, we will check the healthCheckUrl at a more frequent rate until it is healthy again.\n\nIf you experience downtime and have `deactivateFlag = false` and your message exhausts all retry attempts the message will go to a \"FAILED\" status.\nSupport will be notified and will reach out to suggest you execute the \"REPLAY\" endpoint at a later date when your server is healthy.\n\n\nReference the below values for formulas and calculations related to the frequency of retries depending on algorithm and configuration.\n", "properties": { "algorithm": { "type": "string", "description": "This is used to calculate the Retry Sequence.\n\nSample calculations using firstRetry=10, interval=30, maxNumberOfRetries=3\nArithmetic = a+r(n-1)\nRetry 1 - 10 minutes\nRetry 2 - 10+30x1 = 40 minutes\nRetry 3 - 10+30x2 = 70 minutes\n\nGeometric = ar^(n-1)\nRetry 1 - 10 minutes\nRetry 2 - 10x30^1 = 300 minutes\nRetry 3 - 10x30^2 = 9,000 minutes\n" }, "firstRetry": { "type": "integer", "description": "When to initiate first retry, after the initial call failed. (in mins)." }, "interval": { "type": "integer", "description": "The interval between retries (in mins)." }, "numberOfRetries": { "type": "integer", "description": "The number of retries per sequence." }, "deactivateFlag": { "type": "string", "description": "Deactivate the subscription if your retries fail to deliver.\n\nIf this is set to `true`, the automatic suspend and resume feature will occur.\nThis would prevent new webhooks from attempting to deliver and to queue up until your healthCheckUrl returns 200 again, then all messages will be sent.\n\nIf this is set to `false`, new individual messages will continue to retry and exhaust all failures, but the subscription will stay active.\n" }, "repeatSequenceCount": { "type": "integer", "description": "The number of times to repeat the complete retry sequence.\n0 => don't repeat the retry sequence\n1 => repeat the retry sequence once (R1, R2, R3)+ (R1, R2, R3)\n2 => repeat the retry sequence twice (R1, R2, R3) + (R1, R2, R3) + (R1, R2, R3)\n" }, "repeatSequenceWaitTime": { "type": "integer", "description": "The time to wait to before repeating the complete retry sequence.\nAmount of time to wait between each sequence.\nSample calculation using repeatSequenceWaitTime=10\n(R1, R2, R3) + (10) + (R1, R2, R3) + (10) + (R1, R2, R3)\n" }, "additionalAttributes": { "description": "Additional data, if any.", "type": "array", "items": { "type": "object", "additionalProperties": { "type": "string" } } } } }, "securityPolicy": { "type": "object", "properties": { "securityType": { "type": "string", "description": "Security Policy of the client server." }, "config": { "description": "Optional configuration object for if your API or server requires oAuth for an incoming webhook.", "type": "object", "properties": { "oAuthTokenExpiry": { "type": "string", "description": "Token expiration for the oAuth server." }, "oAuthURL": { "type": "string", "description": "Client direct endpoint to the oAuth server." }, "oAuthTokenType": { "type": "string", "description": "Token type for the oAuth config." } } } }, "description": "The security option to authenticate with your API or client server." }, "additionalAttributes": { "description": "Additional, free form configuration data.", "type": "array", "items": { "type": "object", "additionalProperties": { "type": "string" } } } }, "example": { "status": "ACTIVE" } } } ], "responses": { "200": { "description": "Updated" }, "401": { "description": "Unauthorized" }, "404": { "description": "Not found", "schema": { "type": "object", "properties": { "reason": { "type": "string" }, "message": { "type": "string" }, "details": { "type": "array", "items": { "type": "object", "properties": { "field": { "type": "string" }, "reason": { "type": "string" } } } } } } }, "500": { "description": "Server error" } }, "x-example": { "example0": { "summary": "Update Webhook", "value": { "name": "My Sample Webhook", "description": "Update to my sample webhook", "organizationId": "", "productId": "terminalManagement", "eventTypes": [ "terminalManagement.assignment.update", "terminalManagement.status.update" ], "webhookUrl": "https://MyWebhookServer.com:8443:/simulateClient", "healthCheckUrl": "https://MyWebhookServer.com:8443:/simulateClientHealthCheck", "notificationScope": "SELF" } } } }, "get": { "tags": [ "Manage Webhooks" ], "produces": [ "application/json;charset=utf-8" ], "x-devcenter-metaData": { "categoryTag": "Webhooks", "firstLevelApiLifeCycle": "beta", "secondLevelApiLifeCycle": "beta", "apiLifeCycle": "beta", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/webhooks/implementation/all/rest/webhooks/wh-fg-intro.html", "SDK_ONLY_AddDisclaimer": true }, "summary": "Get Details On a Single Webhook", "description": "Retrieve the details of a specific webhook by supplying the webhook ID in the path.", "operationId": "getWebhookSubscriptionById", "parameters": [ { "name": "webhookId", "in": "path", "type": "string", "description": "The webhook Identifier", "required": true } ], "responses": { "200": { "description": "Ok", "schema": { "type": "object", "properties": { "webhookId": { "type": "string", "description": "Webhook Id. This is generated by the server." }, "organizationId": { "type": "string", "description": "Organization ID." }, "products": { "type": "array", "items": { "type": "object", "properties": { "productId": { "type": "string", "description": "Product ID." }, "eventTypes": { "type": "array", "items": { "type": "string", "description": "Event types within the product that you would like subscriptions for." } } }, "example": { "productId": "payments", "eventTypes": [ "payments.credits.accept", "payments.credits.partial.approval", "payments.payments.accept", "payments.payments.reject" ] } } }, "webhookUrl": { "type": "string", "description": "The client's endpoint (URL) to receive webhooks." }, "healthCheckUrl": { "type": "string", "description": "The client's health check endpoint (URL). This should be as close as possible to the actual webhookUrl." }, "notificationScope": { "type": "object", "properties": { "scope": { "type": "string", "description": "The webhook scope. 1. SELF The Webhook is used to deliver webhooks for only this Organization (or Merchant). 2. DESCENDANTS The Webhook is used to deliver webhooks for this Organization and its children. 3. CUSTOM The Webhook is used to deliver webhooks for the OrgIds (or MiDs) explicitly listed in scopeData field", "default": "SELF" }, "scopeData": { "type": "array", "description": "Applicable only if scope=CUSTOM. This should contains a Set of MIDs or OrgIDs for which this subscription is applicable.", "items": { "type": "string" } } } }, "status": { "type": "string", "description": "Webhook status.", "default": "INACTIVE" }, "name": { "type": "string", "description": "Client friendly webhook name." }, "description": { "type": "string", "description": "Client friendly webhook description." }, "retryPolicy": { "type": "object", "description": "Retry policy for the individual webhooks that are a part of your subscription. If a message fails to deliver, it will execute through this retry policy.\n\nAutomatic suspend and resume:\n\nIf you experience downtime and have `deactivateFlag = true` any new messages will be held in a \"SUSPENDED\" status.\nWhen your healthCheckUrl returns healthy again, the subscription will automatically be re-enabled and your messages will be sent.\nWe will ping your healthCheckUrl routinely using a POST call with an empty payload to check availability.\nIf your endpoint returns an unhealthy status of != 200, we will check the healthCheckUrl at a more frequent rate until it is healthy again.\n\nIf you experience downtime and have `deactivateFlag = false` and your message exhausts all retry attempts the message will go to a \"FAILED\" status.\nSupport will be notified and will reach out to suggest you execute the \"REPLAY\" endpoint at a later date when your server is healthy.\n\n\nReference the below values for formulas and calculations related to the frequency of retries depending on algorithm and configuration.\n", "properties": { "algorithm": { "type": "string", "description": "This is used to calculate the Retry Sequence.\n\nSample calculations using firstRetry=10, interval=30, maxNumberOfRetries=3\nArithmetic = a+r(n-1)\nRetry 1 - 10 minutes\nRetry 2 - 10+30x1 = 40 minutes\nRetry 3 - 10+30x2 = 70 minutes\n\nGeometric = ar^(n-1)\nRetry 1 - 10 minutes\nRetry 2 - 10x30^1 = 300 minutes\nRetry 3 - 10x30^2 = 9,000 minutes\n" }, "firstRetry": { "type": "integer", "description": "When to initiate first retry, after the initial call failed. (in mins)." }, "interval": { "type": "integer", "description": "The interval between retries (in mins)." }, "numberOfRetries": { "type": "integer", "description": "The number of retries per sequence." }, "deactivateFlag": { "type": "string", "description": "Deactivate the subscription if your retries fail to deliver.\n\nIf this is set to `true`, the automatic suspend and resume feature will occur.\nThis would prevent new webhooks from attempting to deliver and to queue up until your healthCheckUrl returns 200 again, then all messages will be sent.\n\nIf this is set to `false`, new individual messages will continue to retry and exhaust all failures, but the subscription will stay active.\n" }, "repeatSequenceCount": { "type": "integer", "description": "The number of times to repeat the complete retry sequence.\n0 => don't repeat the retry sequence\n1 => repeat the retry sequence once (R1, R2, R3)+ (R1, R2, R3)\n2 => repeat the retry sequence twice (R1, R2, R3) + (R1, R2, R3) + (R1, R2, R3)\n" }, "repeatSequenceWaitTime": { "type": "integer", "description": "The time to wait to before repeating the complete retry sequence.\nAmount of time to wait between each sequence.\nSample calculation using repeatSequenceWaitTime=10\n(R1, R2, R3) + (10) + (R1, R2, R3) + (10) + (R1, R2, R3)\n" }, "additionalAttributes": { "description": "Additional data, if any.", "type": "array", "items": { "type": "object", "additionalProperties": { "type": "string" } } } } }, "securityPolicy": { "type": "object", "properties": { "securityType": { "type": "string", "description": "Security Policy of the client server." }, "config": { "description": "Optional configuration object for if your API or server requires oAuth for an incoming webhook.", "type": "object", "properties": { "oAuthTokenExpiry": { "type": "string", "description": "Token expiration for the oAuth server." }, "oAuthURL": { "type": "string", "description": "Client direct endpoint to the oAuth server." }, "oAuthTokenType": { "type": "string", "description": "Token type for the oAuth config." } } } }, "description": "The security option to authenticate with your API or client server." }, "createdOn": { "type": "string", "description": "Date on which webhook was created/registered." }, "updatedOn": { "type": "string", "description": "Date on which webhook was most recently updated." }, "additionalAttributes": { "description": "Additional, free form configuration data.", "type": "array", "items": { "type": "object", "additionalProperties": { "type": "string" } } } }, "example": { "webhookId": "b555a545-58a9-47c7-aef9-10a8e17f201a", "organizationId": "", "productId": "payments", "eventTypes": [ "payments.payments.accept", "payments.payments.reject", "payments.refunds.accept" ], "webhookUrl": "https://example.com:443/cybs", "healthCheckUrl": "https://example.com:443/cybs/healthcheck", "notificationScope": "SELF", "status": "INACTIVE", "name": "Billing Update Webhook", "description": null, "retryPolicy": null, "securityPolicy": { "securityType": "oAuth", "config": { "oAuthUrl": "https://acquirers.authorization-server.com/token", "oAuthTokenType": "Bearer", "oAuthTokenExpiry": 300, "keyId": "IdFromSecureUSAPI2LookupClientIdAndClientSecret" } }, "createdOn": "2021-02-25T23:25:11.000Z", "updatedOn": null, "additionalAttributes": [] } } }, "401": { "description": "Unauthorized" }, "404": { "description": "Not found" }, "500": { "description": "Server error" } } }, "delete": { "tags": [ "Manage Webhooks" ], "produces": [ "application/json;charset=utf-8" ], "x-devcenter-metaData": { "categoryTag": "Webhooks", "firstLevelApiLifeCycle": "beta", "secondLevelApiLifeCycle": "beta", "apiLifeCycle": "beta", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/webhooks/implementation/all/rest/webhooks/wh-fg-intro.html", "SDK_ONLY_AddDisclaimer": true }, "summary": "Delete a Webhook Subscription", "description": "Delete the webhook. Please note that deleting a particular webhook does not delete the history of the webhook notifications.", "operationId": "deleteWebhookSubscription", "parameters": [ { "name": "webhookId", "in": "path", "type": "string", "description": "The webhook identifier.", "required": true } ], "responses": { "200": { "description": "Ok" }, "401": { "description": "Unauthorized" }, "404": { "description": "Not found" }, "500": { "description": "Server error" } } } }, "/nrtf/v1/webhooks/{webhookId}/replays": { "post": { "tags": [ "Replay Webhooks" ], "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/json;charset=utf-8" ], "x-devcenter-metaData": { "categoryTag": "Webhooks", "firstLevelApiLifeCycle": "beta", "secondLevelApiLifeCycle": "hidden", "apiLifeCycle": "hidden", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/webhooks/implementation/all/rest/webhooks/wh-fg-intro.html", "SDK_ONLY_AddDisclaimer": true }, "summary": "Replay Previous Webhooks", "description": "Initiate a webhook replay request to replay transactions that happened in the past.\n\nCannot execute more than 1 replay request at a time. While one request is processing, you will not be allowed to execute another replay.\n\nThe difference between Start and End time cannot exceed a 24 hour window, and 1 month is the farthest date back that is eligible for replay.\n", "operationId": "replayPreviousWebhooks", "parameters": [ { "name": "webhookId", "in": "path", "required": true, "type": "string", "description": "The webhook uuid identifier." }, { "name": "replayWebhooksRequest", "in": "body", "description": "The request query", "schema": { "type": "object", "properties": { "byTransactionTraceIdentifiers": { "type": "array", "items": { "type": "string", "description": "Array list of webhook trace identifiers that would be replayed." } }, "byDeliveryStatus": { "type": "object", "properties": { "status": { "type": "string", "description": "The status of the webhook. Options are FAILED or RETRY" }, "startTime": { "type": "string", "format": "date-time", "description": "The start time in yyyy-mm-dd hh:mm:ss.ms format. Maximum value is 1 month prior to todays system time.\n\nThe difference between Start Time and End Time cannot exceed a 24 hour window within the last month.\n" }, "endTime": { "type": "string", "format": "date-time", "description": "The end time in yyyy-mm-dd hh:mm:ss.ms format.\n\nThe difference between Start Time and End Time cannot exceed a 24 hour window within the last month.\n" }, "hoursBack": { "type": "integer", "description": "Alternative parameter to startTime/endTime.\n\nIt evaluates the startTime using the current system time (endTime) and the hoursBack value (default = 24hrs).\n" }, "productId": { "type": "string" }, "eventType": { "type": "string" } }, "example": { "status": "FAILED", "startTime": "2021-02-25T09:35:52.284Z", "endTime": "2021-02-25T21:35:52.284Z" } } }, "example": { "transactionTraceIdentifiers": [ "1f1d0bf4-9299-418d-99d8-faa3313829f1", "d19fb205-20e5-43a2-867e-bd0f574b771e", "2f2461a3-457c-40e9-867f-aced89662bbb", "e23ddc19-93d5-4f1f-8482-d7cafbb3ed9b", "eb9fc4a9-b31f-48d5-81a9-b1d773fd76d8" ], "deliveryStatus": { "status": "FAILED", "startTime": "2021-02-25T09:35:52.284Z", "endTime": "2021-02-25T21:35:52.284Z" } } } } ], "responses": { "202": { "description": "Accepted" }, "400": { "description": "Bad request" }, "401": { "description": "Unauthorized" }, "404": { "description": "Not Found" }, "500": { "description": "Server error" } }, "x-example": { "example0": { "summary": "Replay failed transactions by a set start and end time", "value": { "byDeliveryStatus": { "status": "FAILED", "startTime": "2021-01-01T09:35:52.284Z", "endTime": "2021-01-01T21:35:52.284Z", "productId": "tokenManagement", "eventType": "tms.token.created" } } }, "example1": { "summary": "Replay failed transactions in the last 24 hours", "value": { "byDeliveryStatus": { "status": "FAILED", "hoursBack": 24, "productId": "tokenManagement", "eventType": "tms.token.created" } } }, "example2": { "summary": "Replay a specific list of transactions", "value": { "byTransactionTraceIdentifiers": [ "1f1d0bf4-9299-418d-99d8-faa3313829f1", "d19fb205-20e5-43a2-867e-bd0f574b771e", "2f2461a3-457c-40e9-867f-aced89662bbb", "e23ddc19-93d5-4f1f-8482-d7cafbb3ed9b", "eb9fc4a9-b31f-48d5-81a9-b1d773fd76d8" ] } } } } }, "/kms/egress/v2/keys-asym": { "post": { "tags": [ "Manage Webhooks" ], "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/json;charset=utf-8" ], "x-devcenter-metaData": { "categoryTag": "Webhooks", "firstLevelApiLifeCycle": "beta", "secondLevelApiLifeCycle": "beta", "apiLifeCycle": "beta", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/webhooks/implementation/all/rest/webhooks/wh-fg-intro.html", "SDK_ONLY_AddDisclaimer": true }, "summary": "Message Level Encryption", "description": "Store and manage certificates that will be used to preform Message Level Encryption (MLE).\nEach new webhook will need its own unique asymmetric certificate.\nYou can either use a digital certificate issued/signed by a CA or self-sign your own using the documentation available on the Developer Guide.\n", "operationId": "saveAsymEgressKey", "parameters": [ { "name": "v-c-correlation-id", "in": "header", "description": "A globally unique id associated with your request", "type": "string", "pattern": "^[A-Za-z0-9\\.\\-_:]+$", "minLength": 2, "maxLength": 100 }, { "name": "v-c-sender-organization-id", "in": "header", "description": "Sender organization id", "required": true, "type": "string", "pattern": "^[A-Za-z0-9\\-_]+$", "minLength": 2, "maxLength": 100 }, { "name": "v-c-permissions", "in": "header", "description": "Encoded user permissions returned by the CGK, for the entity user who initiated the boarding", "required": true, "type": "string" }, { "name": "SaveAsymEgressKey", "in": "body", "description": "Provide egress Asymmetric key information to save (create or store)", "required": true, "schema": { "type": "object", "required": [ "clientRequestAction", "keyInformation" ], "properties": { "clientReferenceInformation": { "description": "Client object", "type": "object", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Client generated order reference or tracking number. CyberSource recommends that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n" } } }, "clientRequestAction": { "type": "string", "description": "Client request action.\n" }, "keyInformation": { "type": "object", "description": "Egress Asymmetric Key Information Request\n", "properties": { "provider": { "type": "string", "description": "Provider name\n" }, "tenant": { "type": "string", "description": "Tenant name\n" }, "keyType": { "type": "string", "description": "Type of the key\n" }, "organizationId": { "type": "string", "description": "Organization Id\n" }, "pub": { "type": "string", "description": "Public certificate with only base64 encoded payload and not the header (BEGIN CERTIFICATE) and footer (END CERTIFICATE)\n" }, "keyId": { "type": "string", "description": "Key Serial Number\n" }, "pvt": { "type": "string", "description": "Private certificate with only base64 encoded payload and not header (BEGIN CERTIFICATE) and footer (END CERTIFICATE)\n" }, "status": { "type": "string", "description": "The status of the key\n" }, "expiryDuration": { "type": "string", "description": "Key expiry duration in days\n" } } } } } } ], "responses": { "201": { "description": "Successful Response", "schema": { "type": "object", "description": "Egress Asymmetric Key Information Response.\n", "properties": { "submitTimeUtc": { "type": "string", "description": "Time of request in UTC. Format: `YYYY-MM-DDThh:mm:ssZ`\nExample `2016-08-11T22:47:57Z` equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The `T` separates the date and the\ntime. The `Z` indicates UTC.\n" }, "status": { "type": "string", "description": "The status of the submitted transaction.\nPossible values:\n - ACCEPTED\n" }, "clientReferenceInformation": { "type": "object", "description": "Object for client references.", "properties": { "code": { "type": "string", "maxLength": 50, "description": "Client generated order reference or tracking number. CyberSource recommends that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n" } } }, "keyInformation": { "type": "object", "description": "Egress Asymmetric Key Information Request\n", "properties": { "provider": { "type": "string", "description": "Provider name\n" }, "tenant": { "type": "string", "description": "Tenant name\n" }, "keyType": { "type": "string", "description": "Type of the key\n" }, "organizationId": { "type": "string", "description": "Organization Id\n" }, "pub": { "type": "string", "description": "Public certificate with only base64 encoded payload and not the header (BEGIN CERTIFICATE) and footer (END CERTIFICATE)\n" }, "keyId": { "type": "string", "description": "Key Serial Number\n" }, "pvt": { "type": "string", "description": "Private certificate with only base64 encoded payload and not header (BEGIN CERTIFICATE) and footer (END CERTIFICATE)\n" }, "status": { "type": "string", "description": "The status of the key\n" }, "expiryDuration": { "type": "string", "description": "Key expiry duration in days\n" } } } } } }, "400": { "description": "Bad Request" }, "401": { "description": "Unauthorized Request" }, "502": { "description": "Unexpected system error or system timeout" } }, "x-example": { "example0": { "summary": "Create Asymmetric Key", "value": { "clientRequestAction": "STORE", "keyInformation": { "provider": "", "tenant": "nrtd", "keyType": "publickey", "organizationId": "", "pub": "MIIDbDCCAlQCCQD4lcSlmasmCTANBgkqhkiG9w0BAQsFADB4MQswCQYDVQQGEwJVUzELMAkGA1UECAwCVFgxDzANBgNVBAcMBkF1c3RpbjENMAsGA1UECgwEVGVzdDEOMAwGA1UECwwFVGVzdDIxDjAMBgNVBAMMBVRlc3QzMRwwGgYJKoZIhvcNAQkBFg10ZXN0QHRlc3QuY29tMB4XDTIxMDgwOTE0MTcxNFoXDTIyMDgwOTE0MTcxNFoweDELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAlRYMQ8wDQYDVQQHDAZBdXN0aW4xDTALBgNVBAoMBFRlc3QxDjAMBgNVBAsMBVRlc3QyMQ4wDAYDVQQDDAVUZXN0MzEcMBoGCSqGSIb3DQEJARYNdGVzdEB0ZXN0LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMcHQWZRETqim3XzUQlAiujFEvsHIi1uJZKj+1lvPH36Ucqo3ORcoh/MM/zxVdahjhSyyp7MHuKBWnzft6bFeDEul6qKWGPAAzaxG/2xZSV3FggA9SyAZEDUpJ6mblwqm/EY4KmZi1FrNBUHfW2wwaqDexHPRDesRG6aI7Wuu4GdQUUqoTa2+Nv7kVgEDmGcfIjoWkGKHe+Yan95EITrq4jEFCE5Tg/vERnMvHfK2SovENZ13/pnwFYbeh1kfJSBzWW7yq8AyQAgAE9iqJXbJ/MAasir2vjUQ2+Hcl7WbkpoVjLqDt3rzV1T0Bsd4T9SC3wij9qjJSxa6vAgV4xn6bECAwEAATANBgkqhkiG9w0BAQsFAAOCAQEADuMrtYW1Sf0IsZ4ZD9ipjUrFuTxqh+0M5Jk8h0QqAXEHA/MawedlU3JmE3NB/UR82/XUwdmtObGnFANuUQQ+8WMFpcNo/Sq2kg7juneHZroRh72o73UUMtHWHzo8s0fXElNal8h3SaAAnjMblCiN+gM1RvWMvhGrMTXp2XAcdIezXf8/FOZLlzOF9QylbSk1U4ayWBag6MydkxgHjkPKdShZROEm0oz/O7J/gNp/r7J8F42Rw9MmJh9qH3SFre13nQa8V7Kg+dJHZ/jpGtSlDHAxO0SSTrPXkwB+iBJ6hSkiL/J2Ep+lYHqVe3p5NXMOlTtJdbU4enHeLkD6PazKTw", "expiryDuration": "365" } } } } } }, "/up/v1/capture-contexts": { "post": { "tags": [ "Unified Checkout Capture Context" ], "summary": "Generate Unified Checkout Capture Context", "description": "Unified Checkout is a powerful product within the Digital Acceptance Suite. Unified Checkout is designed to assist merchants with the adoption and inclusion of digital payments within their payment acceptance page. With Unified Checkout Integration you can add digital payment methods to create familiar, convenient and seamless payment experiences that are designed to reduce checkout friction and increase conversions.\nClick to Pay Drop-in UI is built on the Unified Checkout platform.\nFor 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). For examples on how to integrate Unified Checkout within your webpage please see our [GitHub Unified Checkout Samples](https://github.com/CyberSource/cybersource-unified-checkout-sample-java). For more information about Click to Pay drop in UI, see the [Click to Pay Drop-in UI Developer Guides Page](https://developer.cybersource.com/docs/cybs/en-us/click-to-pay/developer/all/rest/click-to-pay/ctp-intro.html).\nGenerate Unified Checkout Capture Context\nGenerate a one-time use capture context used for the invocation of Unified Checkout. The Request wil contain all of the parameters for how Unified Checkout will operate within a client webpage. The resulting payload will be a JWT signed object that can be used to initiate Unified Checkout or Click to Pay Drop-in UI within a web page", "operationId": "generateUnifiedCheckoutCaptureContext", "x-devcenter-metaData": { "categoryTag": "Unified_Checkout", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/unified-checkout/developer/all/rest/unified-checkout/uc-intro.html", "disableProcessorDropDown": true }, "produces": [ "application/jwt" ], "parameters": [ { "in": "body", "name": "generateUnifiedCheckoutCaptureContextRequest", "required": true, "schema": { "type": "object", "properties": { "targetOrigins": { "type": "array", "items": { "type": "string", "example": "https://yourCheckoutPage.com" } }, "clientVersion": { "type": "string", "example": 0.19, "maxLength": 60, "description": "version number of Unified Checkout being used" }, "allowedCardNetworks": { "type": "array", "items": { "type": "string", "example": "VISA" } }, "allowedPaymentTypes": { "type": "array", "items": { "type": "string", "example": "PANENTRY" } }, "country": { "type": "string", "example": "US", "maxLength": 2, "description": "Country the purchase is originating from (e.g. country of the merchant). Use the two- character ISO Standard" }, "locale": { "type": "string", "example": "en_US", "description": "Localization of the User experience conforming to the ISO 639-1 language standards and two-character ISO Standard Country Code" }, "captureMandate": { "type": "object", "properties": { "billingType": { "type": "string", "example": "FULL", "maxLength": 25, "description": "This field defines the type of Billing Address information captured through the Manual card Entry UX. FULL, PARTIAL" }, "requestEmail": { "type": "boolean", "description": "Capture email contact information in the manual card acceptance screens." }, "requestPhone": { "type": "boolean", "description": "Capture email contact information in the manual card acceptance screens." }, "requestShipping": { "type": "boolean", "description": "Capture email contact information in the manual card acceptance screens." }, "shipToCountries": { "type": "array", "description": "List of countries available to ship to. Use the two- character ISO Standard Country Codes.", "items": { "type": "string", "example": "US", "maxLength": 2 } }, "showAcceptedNetworkIcons": { "type": "boolean", "description": "Show the list of accepted payment icons in the payment button" } } }, "orderInformation": { "type": "object", "properties": { "amountDetails": { "type": "object", "properties": { "totalAmount": { "type": "string", "example": 21 }, "currency": { "type": "string", "example": "USD" } } }, "billTo": { "type": "object", "properties": { "address1": { "type": "string", "example": "277 Park Avenue", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "example": "50th Floor", "maxLength": 60, "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n" }, "address3": { "type": "string", "example": "Desk NY-50110", "maxLength": 60, "description": "Additional address information (third line of the billing address)" }, "address4": { "type": "string", "example": "address4", "maxLength": 60, "description": "Additional address information (fourth line of the billing address)\n" }, "administrativeArea": { "type": "string", "example": "NY", "maxLength": 20, "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n" }, "buildingNumber": { "type": "string", "example": "buildingNumber", "maxLength": 256, "description": "Building number in the street address.\n" }, "country": { "type": "string", "example": "US", "maxLength": 2, "description": "Payment card billing country. Use the two-character [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" }, "district": { "type": "string", "example": "district", "maxLength": 50, "description": "Customer's neighborhood, community, or region (a barrio in Brazil) within the city or municipality\n" }, "locality": { "type": "string", "example": "New York", "maxLength": 50, "description": "Payment card billing city.\n" }, "postalCode": { "type": "string", "example": 10172, "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n" }, "company": { "type": "object", "properties": { "name": { "type": "string", "example": "Visa Inc", "maxLength": 60, "description": "Name of the customer's company." }, "address1": { "type": "string", "example": "277 Park Avenue", "maxLength": 60, "description": "Payment card billing street address as it appears on the credit card issuer's records.\n" }, "address2": { "type": "string", "example": "50th Floor", "maxLength": 60, "description": "Used for additional address information. For example: _Attention: Accounts Payable_\nOptional field.\n" }, "address3": { "type": "string", "example": "Desk NY-50110", "maxLength": 60, "description": "Additional address information (third line of the billing address)" }, "address4": { "type": "string", "example": "address4", "maxLength": 60, "description": "Additional address information (fourth line of the billing address)\n" }, "administrativeArea": { "type": "string", "example": "NY", "maxLength": 20, "description": "State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).\n" }, "buildingNumber": { "type": "string", "example": "buildingNumber", "maxLength": 256, "description": "Building number in the street address.\n" }, "country": { "type": "string", "example": "US", "maxLength": 2, "description": "Payment card billing country. Use the two-character [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).\n" }, "district": { "type": "string", "example": "district", "maxLength": 50, "description": "Customer's neighborhood, community, or region (a barrio in Brazil) within the city or municipality\n" }, "locality": { "type": "string", "example": "New York", "maxLength": 50, "description": "Payment card billing city.\n" }, "postalCode": { "type": "string", "example": 10172, "maxLength": 10, "description": "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n" } } }, "email": { "type": "string", "example": "john.doe@visa.com", "maxLength": 255, "description": "Customer's email address, including the full domain name.\n" }, "firstName": { "type": "string", "example": "John", "maxLength": 60, "description": "Customer's first name. This name must be the same as the name on the card" }, "lastName": { "type": "string", "example": "Doe", "maxLength": 60, "description": "Customer's last name. This name must be the same as the name on the card.\n" }, "middleName": { "type": "string", "example": "F", "maxLength": 60, "description": "Customer's middle name.\n" }, "nameSuffix": { "type": "string", "example": "Jr", "maxLength": 60, "description": "Customer's name suffix.\n" }, "title": { "type": "string", "example": "Mr", "maxLength": 60, "description": "Title.\n" }, "phoneNumber": { "type": "string", "example": 1234567890, "description": "Customer's phone number.\n" }, "phoneType": { "type": "string", "example": "phoneType", "description": "Customer's phone number type.\n\n#### For Payouts:\nThis field may be sent only for FDC Compass.\n\nPossible Values:\n* day\n* home\n* night\n* work\n" } } }, "shipTo": { "type": "object", "properties": { "address1": { "type": "string", "example": "CyberSource", "maxLength": 60, "description": "First line of the shipping address.\n" }, "address2": { "type": "string", "example": "Victoria House", "maxLength": 60, "description": "Second line of the shipping address.\n" }, "address3": { "type": "string", "example": "15-17 Gloucester Street", "description": "Third line of the shipping address.\n" }, "address4": { "type": "string", "example": "string", "maxLength": 60, "description": "Fourth line of the shipping address." }, "administrativeArea": { "type": "string", "example": "CA", "maxLength": 2, "description": "State or province of the shipping address.\n\nUse the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf)\n" }, "buildingNumber": { "type": "string", "example": "string", "maxLength": 15, "description": "Building number in the street address.\n" }, "country": { "type": "string", "example": "GB", "description": "Country of the shipping address.\n\nUse the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)\n" }, "district": { "type": "string", "example": "string", "maxLength": 50, "description": "Neighborhood, community, or region within a city or municipality." }, "locality": { "type": "string", "example": "Belfast", "maxLength": 50, "description": "City of the shipping address.\n" }, "postalCode": { "type": "string", "example": "BT1 4LS", "maxLength": 10, "description": "Postal code for the shipping address. The postal code must consist of 5 to 9 digits.\n" }, "firstName": { "type": "string", "example": "John", "maxLength": 60, "description": "First name of the recipient" }, "lastName": { "type": "string", "example": "Doe", "maxLength": 60, "description": "Last name of the recipient." } } } } }, "checkoutApiInitialization": { "type": "object", "properties": { "profile_id": { "type": "string", "example": "12341234-1234-1234-1234-123412341234" }, "access_key": { "type": "string", "example": "acce55acce55acce55acce55acce5500" }, "reference_number": { "type": "string", "example": 1611305732 }, "transaction_uuid": { "type": "string", "example": "1611305732-001" }, "transaction_type": { "type": "string", "example": "authorization" }, "currency": { "type": "string", "example": "USD" }, "amount": { "type": "string", "example": 100 }, "locale": { "type": "string", "example": "en-us" }, "override_custom_receipt_page": { "type": "string", "example": "https://the-up-demo.appspot.com/demos/demo5/receipt" }, "unsigned_field_names": { "type": "string", "example": "transient_token" } } } } } } ], "x-example": { "example0": { "summary": "Generate Unified Checkout Capture Context", "value": { "targetOrigins": [ "https://yourCheckoutPage.com" ], "clientVersion": "0.19", "allowedCardNetworks": [ "VISA", "MASTERCARD", "AMEX" ], "allowedPaymentTypes": [ "PANENTRY", "SRC", "GOOGLEPAY" ], "country": "US", "locale": "en_US", "captureMandate": { "billingType": "FULL", "requestEmail": true, "requestPhone": true, "requestShipping": true, "shipToCountries": [ "US", "GB" ], "showAcceptedNetworkIcons": true }, "orderInformation": { "amountDetails": { "totalAmount": "21.00", "currency": "USD" } } } }, "example1": { "summary": "Generate Unified Checkout Capture Context with Checkout API", "value": { "targetOrigins": [ "https://yourCheckoutPage.com" ], "clientVersion": "0.19", "allowedCardNetworks": [ "VISA", "MASTERCARD", "AMEX" ], "allowedPaymentTypes": [ "PANENTRY" ], "country": "US", "locale": "en_US", "captureMandate": { "billingType": "FULL", "requestEmail": true, "requestPhone": true, "requestShipping": true, "shipToCountries": [ "US", "GB" ], "showAcceptedNetworkIcons": true }, "orderInformation": { "amountDetails": { "totalAmount": "21.00", "currency": "USD" } }, "checkoutApiInitialization": { "profile_id": "12341234-1234-1234-1234-123412341234", "access_key": "acce55acce55acce55acce55acce5500", "reference_number": "1611305732", "transaction_uuid": "1611305732-001", "transaction_type": "authorization", "currency": "USD", "amount": "100.00", "locale": "en-us", "override_custom_receipt_page": "https://the-up-demo.appspot.com/demos/demo5/receipt", "unsigned_field_names": "transient_token" } } }, "example3": { "summary": "Generate Unified Checkout Capture Context passing Billing & Shipping", "value": { "targetOrigins": [ "https://yourCheckoutPage.com" ], "clientVersion": "0.19", "allowedCardNetworks": [ "VISA", "MASTERCARD", "AMEX" ], "allowedPaymentTypes": [ "PANENTRY", "SRC", "GOOGLEPAY" ], "country": "US", "locale": "en_US", "captureMandate": { "billingType": "FULL", "requestEmail": true, "requestPhone": true, "requestShipping": true, "shipToCountries": [ "US", "GB" ], "showAcceptedNetworkIcons": true }, "orderInformation": { "amountDetails": { "totalAmount": "21.00", "currency": "USD" }, "billTo": { "address1": "277 Park Avenue", "address2": "50th Floor", "address3": "Desk NY-50110", "address4": "address4", "administrativeArea": "NY", "buildingNumber": "buildingNumber", "country": "US", "district": "district", "locality": "New York", "postalCode": "10172", "company": { "name": "Visa Inc", "address1": "900 Metro Center Blvd", "address2": "address2", "address3": "address3", "address4": "address4", "administrativeArea": "CA", "buildingNumber": "1", "country": "US", "district": "district", "locality": "Foster City", "postalCode": "94404" }, "email": "john.doe@visa.com", "firstName": "John", "lastName": "Doe", "middleName": "F", "nameSuffix": "Jr", "title": "Mr", "phoneNumber": "1234567890", "phoneType": "phoneType" }, "shipTo": { "address1": "CyberSource", "address2": "Victoria House", "address3": "15-17 Gloucester Street", "address4": "string", "administrativeArea": "CA", "buildingNumber": "string", "country": "GB", "district": "string", "locality": "Belfast", "postalCode": "BT1 4LS", "firstName": "Joe", "lastName": "Soap" } } } } }, "responses": { "201": { "description": "Capture Context Created", "schema": { "type": "string" }, "examples": { "application/jwt": "eyJraWQiOiJ6dSIsImFsZyI6IlJTMjU2In0.eyJmbHgiOnsicGF0aCI6Ii9mbGV4L3YyL3Rva2VucyIsImRhdGEiOiJaNHVqZEZ3S1dsVWlGUTFWQWtydmF4QUFFQzdTOGJOVWs2ZWgzbXVXZm51U0dxM2FHdEdTUUsrS1dXMlNtaVg5RlBMWE5sc3VjbXV2SHk3R1A5eFR1Q3hXRXFlU3ZIWHMrYkhhWUhMcGhaVnZpb0lcdTAwM2QiLCJvcmlnaW4iOiJodHRwczovL3Rlc3RmbGV4LmN5YmVyc291cmNlLmNvbSIsImp3ayI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsInVzZSI6ImVuYyIsIm4iOiJpMHZtSDBmQTNVaTZWN0NvbmhvVHdwV01PeFhWdk5aUlVpWWFZSjktR0hKbmZlMUdYVERTLXk5bG1ibVFVUGZpMlVRakNoU3EyclNrZ2pxTExtRzFsRkZ5TjFINVFLSkVlUzhXWEdmeWdVNDBPc05YdDd2X1g0Mmo0a0RXVmNuV0xucGlsYndYZjhwRTh4NmUyWHBoVG5tRmZMR1phbGtUN21PYXVPdmNwdFlXUVZlVGU3bmZrWlZYZTFFN0ZmZ2taNXFkMnY1OVJ2Z1NhQmhkMko4ankyUVZidE5RNTZxMTlfc2h3bEJIYWc3dFdxbzg2S1Iwd0V3dkQyWmNENTFvZGtteFdudFVJaU1tT3VXUUFGTmVaQXBDYklySlc1SFVSdTNHM1g4M2pLM3h1NHZVQjI0WGRIdlExS215dW13RlJJWFRLZFB1TmtTOUtWRHMyemZvaVEiLCJraWQiOiIwOHhzd05TV2xDUnVzeWFHQklJRkVSOEN5M0JTNXB6ZCJ9fSwiY3R4IjpbeyJkYXRhIjp7ImFsbG93ZWRQYXltZW50VHlwZXMiOlt7InBhZ2UiOjEsInR5cGUiOiJQQU5FTlRSWSJ9LHsicGFnZSI6MiwidHlwZSI6IlNSQ1ZJU0EifSx7InBhZ2UiOjMsInR5cGUiOiJTUkNNQVNURVJDQVJEIn1dLCJwYXltZW50Q29uZmlndXJhdGlvbnMiOnsiU1JDVklTQSI6eyJvcmlnaW4iOiJodHRwczovL3NhbmRib3gtYXNzZXRzLnNlY3VyZS5jaGVja291dC52aXNhLmNvbSIsInBhdGgiOiIvY2hlY2tvdXQtd2lkZ2V0L3Jlc291cmNlcy9qcy9zcmMtaS1hZGFwdGVyL3Zpc2FTZGsuanMiLCJwYW5FbmNyeXB0aW9uS2V5Ijp7ImtpZCI6IlY2WVBMMERGSjJWNTZISUg2UTNGMTMzZmJaV3lBeUlIaldWU2VjeDZLTUY2aVRIR00iLCJlIjoiQVFBQiIsIm4iOiJzWlBJdXNEZjd5UW5uaEJrVTltdTE0Vk9PM0NydWkzYjdyQWYyS1llb2JVUm1YQTE3YjFKWDlqZzBDZC12Z3BtdXlUcnhCVVNjLTRiMC1VUGdTd0dGcVBXVXB4MDhFeHFyd1BET3ZGb2pCb3Uyd2x5cThiY3kwVXMtQmZlQ3pTRTVsTVZkU1hUWFhYY05xdS1xYjIyakNDQ0pBTHB4c0Fyc2JvTU9Yc0xlZGgzTTRYTlE1WEdBdFJmN2ItLXVUWTVEcjlLTFl5VXZaS0FuWTA0TUtKUEVPNTRZaUlGTTVEVEFoTk9tczA4OWpkTWR4LVVSSUtKalBVMi1ScEhHMXU4TENHMDI4UlRJcFBzTmJSYW51UzVUQVlfemx4RGdiMWhLSjM2WWJaRU5ITGc5UFhUQmhkT01sVTkwRFRMbGZjYkxUYS1EN0RnbGpBYVdDdXZ6TFBhR3cifSwicGFyYW1ldGVycyI6eyJzcmNJbml0aWF0b3JJZCI6IkpGQ1o4UVZPSkE3Nk5YWjY4RlpEMjFSWUl4ajN5UFpkaVV4a2ROdWliQmx4Z3dhUDQiLCJzcmNpRHBhSWQiOiJiOTIyY2VmMC0yOGQ5LTQ3OWUtYWFhZi0wOGI2MWYzM2VlN2IiLCJzcmNpVHJhbnNhY3Rpb25JZCI6ImJjOWZmNzgyLTM3NTctNDEyMS1hNGM4LTdkMDhkOGY3ZGQ4NiIsImRwYVRyYW5zYWN0aW9uT3B0aW9ucyI6eyJkcGFMb2NhbGUiOiJlbl9VUyIsInBheWxvYWRUeXBlSW5kaWNhdG9yIjoiRlVMTCIsInJldmlld0FjdGlvbiI6ImNvbnRpbnVlIiwiZHBhQWNjZXB0ZWRCaWxsaW5nQ291bnRyaWVzIjpbXSwiZHBhQWNjZXB0ZWRTaGlwcGluZ0NvdW50cmllcyI6WyJVUyIsIkdCIl0sImRwYUJpbGxpbmdQcmVmZXJlbmNlIjoiQUxMIiwiZHBhU2hpcHBpbmdQcmVmZXJlbmNlIjoiQUxMIiwiY29uc3VtZXJOYW1lUmVxdWVzdGVkIjp0cnVlLCJjb25zdW1lckVtYWlsQWRkcmVzc1JlcXVlc3RlZCI6dHJ1ZSwiY29uc3VtZXJQaG9uZU51bWJlclJlcXVlc3RlZCI6dHJ1ZSwidHJhbnNhY3Rpb25BbW91bnQiOnsidHJhbnNhY3Rpb25BbW91bnQiOiIyMS4wMCIsInRyYW5zYWN0aW9uQ3VycmVuY3lDb2RlIjoiVVNEIn0sInBheW1lbnRPcHRpb25zIjp7ImRwYVBhblJlcXVlc3RlZCI6dHJ1ZX19fX0sIlNSQ01BU1RFUkNBUkQiOnsib3JpZ2luIjoiaHR0cHM6Ly9zYW5kYm94LnNyYy5tYXN0ZXJjYXJkLmNvbSIsInBhdGgiOiIvc2RrL3NyY3Nkay5tYXN0ZXJjYXJkLmpzIiwicGFuRW5jcnlwdGlvbktleSI6eyJrdHkiOiJSU0EiLCJlIjoiQVFBQiIsInVzZSI6ImVuYyIsImtpZCI6IjE0OTEyMy1zcmMtZnBhbi1lbmNyeXB0aW9uIiwia2V5X29wcyI6WyJ3cmFwS2V5IiwiZW5jcnlwdCJdLCJhbGciOiJSU0EtT0FFUC0yNTYiLCJuIjoidnQ0bkRTUFN0VGxNMU5OY3ljdklxVWY0eDE0STRqaVRxTVRLUGpHdGF5MHlmYTF2QnlOQ2htdXBwRHdFVDVnR0dscEw4Y2NqM1lWc0JpOV9iV29lX2FwcGtQd2h4ZDd3UjlSeXdWM3ptV3VNSWhNd2xrMGxuSEFNTDY1bnNIVk0zb0VwRXZDZkFQczFOWGx0VHlmam5rZ0ZFTkkzdEhxdHdkdE04ZVAwMnBwMGp2VzY5ZnlidnlWaEx6WHdTT2dKbnRqdGpSVjdoUXI1bGVkX2pXYjV6elhJNDhPVlRUX0Y5aWluRGR0WDV5M0UtaWY1V3RHWlVGRVRiX3RaRlpZbk1MYUxsSHd2YjZaa3I4NFJTd3dzTWYybkFMXzR6UDJVYWhNd3phbWhCb09TYXF5eEd4RXE2N0hyMVU4ekFDNWhsOUQ4TmJnU3dwV3hzT0RVckh4OXJ3In0sInBhcmFtZXRlcnMiOnsic3JjaVRyYW5zYWN0aW9uSWQiOiJiYzlmZjc4Mi0zNzU3LTQxMjEtYTRjOC03ZDA4ZDhmN2RkODYiLCJzcmNpRHBhSWQiOiJiOTIyY2VmMC0yOGQ5LTQ3OWUtYWFhZi0wOGI2MWYzM2VlN2IiLCJzcmNJbml0aWF0b3JJZCI6Ijg0NGY3ZTNkLTA3ZjAtNDRiMS1hMjM3LWU2NDI0NDRlMDUxMiIsImRwYVRyYW5zYWN0aW9uT3B0aW9ucyI6eyJ0cmFuc2FjdGlvblR5cGUiOiJQVVJDSEFTRSIsImRwYUxvY2FsZSI6ImVuX1VTIiwiZHBhQWNjZXB0ZWRTaGlwcGluZ0NvdW50cmllcyI6WyJVUyIsIkdCIl0sImNvbnN1bWVyRW1haWxBZGRyZXNzUmVxdWVzdGVkIjp0cnVlLCJjb25zdW1lclBob25lTnVtYmVyUmVxdWVzdGVkIjp0cnVlLCJ0cmFuc2FjdGlvbkFtb3VudCI6eyJ0cmFuc2FjdGlvbkFtb3VudCI6IjIxLjAwIiwidHJhbnNhY3Rpb25DdXJyZW5jeUNvZGUiOiJVU0QifSwiZHBhQWNjZXB0ZWRCaWxsaW5nQ291bnRyaWVzIjpbXSwiZHBhQmlsbGluZ1ByZWZlcmVuY2UiOiJGVUxMIiwiZHBhU2hpcHBpbmdQcmVmZXJlbmNlIjoiRlVMTCIsImNvbnN1bWVyTmFtZVJlcXVlc3RlZCI6dHJ1ZSwicGF5bG9hZFR5cGVJbmRpY2F0b3IiOiJGVUxMIn19fX0sImNhcHR1cmVNYW5kYXRlIjp7ImJpbGxpbmdUeXBlIjoiRlVMTCIsInJlcXVlc3RFbWFpbCI6dHJ1ZSwicmVxdWVzdFBob25lIjp0cnVlLCJyZXF1ZXN0U2hpcHBpbmciOnRydWUsInNoaXBUb0NvdW50cmllcyI6WyJVUyIsIkdCIl0sInNob3dBY2NlcHRlZE5ldHdvcmtJY29ucyI6dHJ1ZX0sIm9yZGVySW5mb3JtYXRpb24iOnsiYW1vdW50RGV0YWlscyI6eyJ0b3RhbEFtb3VudCI6IjIxLjAwIiwiY3VycmVuY3kiOiJVU0QifSwiYmlsbFRvIjp7ImFkZHJlc3MxIjoiMjc3IFBhcmsgQXZlbnVlIiwiYWRkcmVzczIiOiI1MHRoIEZsb29yIiwiYWRkcmVzczMiOiJEZXNrIE5ZLTUwMTEwIiwiYWRkcmVzczQiOiJhZGRyZXNzNCIsImFkbWluaXN0cmF0aXZlQXJlYSI6Ik5ZIiwiYnVpbGRpbmdOdW1iZXIiOiJidWlsZGluZ051bWJlciIsImNvdW50cnkiOiJVUyIsImRpc3RyaWN0IjoiZGlzdHJpY3QiLCJsb2NhbGl0eSI6Ik5ldyBZb3JrIiwicG9zdGFsQ29kZSI6IjEwMTcyIiwiY29tcGFueSI6eyJhZGRyZXNzMSI6IjkwMCBNZXRybyBDZW50ZXIgQmx2ZCIsImFkZHJlc3MyIjoiYWRkcmVzczIiLCJhZGRyZXNzMyI6ImFkZHJlc3MzIiwiYWRkcmVzczQiOiJhZGRyZXNzNCIsImFkbWluaXN0cmF0aXZlQXJlYSI6IkNBIiwiYnVpbGRpbmdOdW1iZXIiOiIxIiwiY291bnRyeSI6IlVTIiwiZGlzdHJpY3QiOiJkaXN0cmljdCIsImxvY2FsaXR5IjoiRm9zdGVyIENpdHkiLCJwb3N0YWxDb2RlIjoiOTQ0MDQiLCJuYW1lIjoiVmlzYSBJbmMifSwiZW1haWwiOiJqb2huLmRvZUB2aXNhLmNvbSIsImZpcnN0TmFtZSI6IkpvaG4iLCJsYXN0TmFtZSI6IkRvZSIsIm1pZGRsZU5hbWUiOiJGIiwibmFtZVN1ZmZpeCI6IkpyIiwidGl0bGUiOiJNciIsInBob25lTnVtYmVyIjoiMTIzNDU2Nzg5MCIsInBob25lVHlwZSI6InBob25lVHlwZSJ9LCJzaGlwVG8iOnsiYWRkcmVzczEiOiJDeWJlclNvdXJjZSIsImFkZHJlc3MyIjoiVmljdG9yaWEgSG91c2UiLCJhZGRyZXNzMyI6IjE1LTE3IEdsb3VjZXN0ZXIgU3RyZWV0IiwiYWRkcmVzczQiOiJzdHJpbmciLCJhZG1pbmlzdHJhdGl2ZUFyZWEiOiJDQSIsImJ1aWxkaW5nTnVtYmVyIjoic3RyaW5nIiwiY291bnRyeSI6IkdCIiwiZGlzdHJpY3QiOiJzdHJpbmciLCJsb2NhbGl0eSI6IkJlbGZhc3QiLCJwb3N0YWxDb2RlIjoiQlQxIDRMUyIsImZpcnN0TmFtZSI6IkpvZSIsImxhc3ROYW1lIjoiU29hcCJ9fSwidGFyZ2V0T3JpZ2lucyI6WyJodHRwczovL3RoZS11cC1kZW1vLmFwcHNwb3QuY29tIl0sImlmcmFtZXMiOnsibWNlIjoiL21jZS9pZnJhbWUuaHRtbCIsImJ1dHRvbnMiOiIvYnV0dG9ubGlzdC9pZnJhbWUuaHRtbCIsInNyYyI6Ii9zZWN1cmUtcmVtb3RlLWNvbW1lcmNlL3NyYy5odG1sIiwiZ29vZ2xlcGF5IjoiL2dvb2dsZXBheS9nb29nbGVwYXkuaHRtbCJ9LCJjbGllbnRWZXJzaW9uIjoiMC4xMSIsImNvdW50cnkiOiJVUyIsImxvY2FsZSI6ImVuX1VTIiwiYWxsb3dlZENhcmROZXR3b3JrcyI6WyJWSVNBIiwiTUFTVEVSQ0FSRCIsIkFNRVgiXSwiY3IiOiJaX1c0NldGZlNqWXFZY3FCb19sZGVnQ0Z4RUpnUzlKNWJZT2c2cmtZd2VkaEhpV3M2elowaFZEbU5mMmgxVUQ0eWx6OWJsOThUb0c1SC10bFZjQm54YnZZc0dBSVRDT0g5LTNNZHYyc1g0X3ZFMVY2eFpCeVU5SVcwaFEiLCJzZXJ2aWNlT3JpZ2luIjoiaHR0cHM6Ly9hcGl0ZXN0LmN5YmVyc291cmNlLmNvbSIsImNsaWVudExpYnJhcnkiOiJodHRwczovL2FwaXRlc3QuY3liZXJzb3VyY2UuY29tL3VwL3YxL2Fzc2V0cy8wLjExLjAvU2VjdXJlQWNjZXB0YW5jZS5qcyIsImFzc2V0c1BhdGgiOiIvdXAvdjEvYXNzZXRzLzAuMTEuMCIsImNsaWVudExpYnJhcnlJbnRlZ3JpdHkiOiJzaGEyNTYtSm1SY1QxVFpPaThpWlRTMEZWSFdOanR2REorN1ZsdnNPTXRTZ0tMZUtLTVx1MDAzZCJ9LCJ0eXBlIjoiZ2RhLTAuNy4wIn1dLCJpc3MiOiJGbGV4IEFQSSIsImV4cCI6MTY1OTEyMTk2MSwiaWF0IjoxNjU5MTIxMDYxLCJqdGkiOiJjZ0dBaG9hSFBhbWsxM2d3In0.GSYHGM3941-HLPFjSQT2m6Zus19L4H7tSJIHLuFCKRH_bY1bxFIZRGaI-994BdmhKgzlcE6XK8HQd2lJaD7JnJXAHkmjitg0XV0NVYGbrK7V4cOvT8VKWbMV794NWAAY26_UTjLAR5PGOvyTVOyRuHsItmVMgZ0TFc7x6LeWmjyveN1VeeRemkZHh02nETXh2NpqMk_5a_vXOgoOr56MClo4OqqvSHinXZhxNjIH4h6QwksmuIHKpvoXMWsghozn3va4VEXjp4OJ96NvHkcXGAWcPpLUQOAMks4fd7EoQz4-aFOcrqnV9Ut9p82CmoclWGhvjrakB_MUAabykcmXDA" } }, "400": { "description": "Bad Request", "examples": { "application/json": { "correlationId": "08b69ffe-f79b-4e09-991f-b030058e21f4", "informationLink": "https://vdp.visa.com/docs/errors/invalid_merchant_configuration", "message": "Merchant APIKEY is invalid", "reason": "INVALID_APIKEY" } }, "schema": { "properties": { "correlationId": { "type": "string" }, "details": { "items": { "properties": { "location": { "type": "string" }, "message": { "type": "string" } }, "type": "object" }, "type": "array" }, "informationLink": { "type": "string" }, "message": { "type": "string" }, "reason": { "enum": [ "INVALID_APIKEY", "INVALID_SHIPPING_INPUT_PARAMS", "CAPTURE_CONTEXT_INVALID", "CAPTURE_CONTEXT_EXPIRED", "SDK_XHR_ERROR", "UNIFIEDPAYMENTS_VALIDATION_PARAMS", "UNIFIEDPAYMENTS_VALIDATION_FIELDS", "UNIFIEDPAYMENT_PAYMENT_PARAMITERS", "CREATE_TOKEN_TIMEOUT", "CREATE_TOKEN_XHR_ERROR", "SHOW_LOAD_CONTAINER_SELECTOR", "SHOW_LOAD_INVALID_CONTAINER", "SHOW_TOKEN_TIMEOUT", "SHOW_TOKEN_XHR_ERROR", "SHOW_PAYMENT_TIMEOUT" ], "type": "string" } }, "required": [ "message", "reason" ], "type": "object" } } } } }, "/up/v1/payment-details/{transientToken}": { "get": { "summary": "Get Transient Token Data", "description": "Retrieve the data captured by Unified Checkout. This API is used to retrieve the detailed data represented by the Transient Token. This API will not return PCI payment data (PAN). Include the Request ID in the GET request to retrieve the transaction details.", "tags": [ "Transient Token Data" ], "produces": [ "application/json" ], "operationId": "getTransactionForTransientToken", "x-devcenter-metaData": { "categoryTag": "Unified_Checkout", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/unified-checkout/developer/all/rest/unified-checkout/uc-intro.html", "disableProcessorDropDown": true }, "parameters": [ { "name": "transientToken", "in": "path", "description": "Transient Token returned by the Unified Checkout application.\n", "required": true, "type": "string" } ], "responses": { "200": { "description": "Successful response.", "examples": { "application/json": { "paymentInformation": { "card": { "expirationYear": "2026", "number": "XXXXXXXXXXXX1111", "expirationMonth": "05", "type": "001" } }, "orderInformation": { "amountDetails": { "totalAmount": "21.00", "currency": "USD" }, "billTo": { "lastName": "Solo", "country": "US", "firstName": "Han", "email": "Han.solo@test.com" }, "shipTo": { "locality": "Mos Eisley", "country": "US", "administrativeArea": "CA", "address1": "325 Falcon Way", "postalCode": "94545" } } } } }, "404": { "description": "The specified resource not found in the system." }, "500": { "description": "Unexpected server error" } } } }, "/up/v1/payment-credentials/{jti}": { "get": { "summary": "Get Payment Credentials", "description": "Retrieve the Payment data captured by Unified Checkout. This API is used to retrieve the detailed data represented by the Transient Token. This API will return PCI payment data captured by the Unified Checkout platform.", "tags": [ "Transient Token Data" ], "produces": [ "application/json" ], "operationId": "getPaymentCredentialsForTransientToken", "x-devcenter-metaData": { "categoryTag": "Unified_Checkout", "developerGuides": "https://developer.cybersource.com/docs/cybs/en-us/unified-checkout/developer/all/rest/unified-checkout/uc-intro.html", "disableProcessorDropDown": true }, "parameters": [ { "name": "jti", "in": "path", "description": "The jti field contained within the Transient token returned from a successful Unified Checkout transaction\n", "required": true, "type": "string" } ], "responses": { "200": { "description": "Retrieved payment credentials reference", "schema": { "type": "string" }, "examples": { "application/jwe": "eyJhdWQiOiJwc3AiLCJzdWIiOiJwc19ocGEiLCJraWQiOiIyMDIzMDUxNC1kcmFmdC1wc3AtZW5jcnlwdCIsImN0eSI6IkpXVCIsImVuYyI6IkEyNTZHQ00iLCJleHAiOjE2ODU0MzI2ODMsImFsZyI6IlJTQS1PQUVQLTI1NiIsImp0aSI6ImMxZWRkMzVmLTRiYmUtNGRmNS04YTg0LTdjNmFlNzU0YWU1MCJ9.Zu5EW2WFuFwAaMI3N9x1-KYdARpcRQSvZSEmKXhHgwTMghOyhCaxmbsDPryIRxcqAFuWH3ojytGIpttHQ-tL35pc1G_lXcd9pA7Wyvv9hh3DdYv2pM3whDLaV6t7ZkP2P_goxiJ3HLwmTPRV0YO97YbvIRSLTEBk25b8DxNL2p9ufvLcEBcwOW7rZj-7boMBWDR3SupyoHUF1WIGfstbgHNo_7qcgOWuKeoITTJlvwFVdmZFeaFDvN2tfrtsanTBFP7v6WSWjWbaKql_z-tqLBfQkaw0nSDjBtxB70pdSw2U5ASmFoYr7Q3H60bNld-3UcAI_mpYXHRJpLleU2IiDg.llfdZVDcZgqBVKYz.BoFsW2K80UGjfczcqGtMqHq7VH-90fcMOtyl-weBc6PAhzg9Ze6MvlMpxmZi4QPKX1i3-HYnqkI514CpriOChPJ-2AR6VenR7MXfG5fGOIRseuDQ1d6WPtfpisabxW1qg9jOSoCWwAG6SrdnMdbpysBJmR_OV2Gfmo4noO5B01u02hv8AM3yY627bYOSTSAHeHovn9KKYWLdYpoJVeqkMIJwHnBtz-dqosgi3AuJNfi8LcT5_3vW6sJ-q044sM6TQ9z57Ui95EqIm4w_s0_BgF6QRIuPJNHD17i-5QgxVDD5OGYPWHwAwMC-poWp3wlG_MTkaIiLkvnAwB44tC_uvAQWJt0BvAbDMbsd9LPcqhqaIS3WDqiCFTawxM-BVotG-mAZDTEuq0f4Ctc9r6KDZyPxJj9IO0KwJDBpk86eX_RXm1ByO3bmDmMcIzsAcaJzbXdO11QRLLtmfYtQSUjZ-NZvEXEoSShJt1F-fTYx05tgoMWrQDwrQ-UMBzN77JqWKzuOpgQSTH6t3YpJ0v8g0-FXu7UHRtRVMWm9vt2HAOTHqXd5ITtqmeYpnKVKv3J_oUJerxy03rN8mPGzrWHRQn6rXOp_xKZEBf7UCK5ugr9oNcVUnbO9GnIr6RH5do3kSfGR0qBA4M8qvpm43amNfHtVcdb2bUwsoaWF15sshcVzss22JU8i94GHrTS_quR8PwktxFVNQyMYHCph_idffTrsPR2mjMoZSR2tPEGPW4V2RTKwhrpqKE_hCyOPLHSSEk3KYkQhteicRvqsqshhm7YADcEXiwRW5Ej2GADDxNop9UZojYRBtRfcQsVoA34ZM4gQvsEza5dF307NJkclwV6e2e5AdDBbm9IGsfY0ePwMOSK7dxWnVEn1gNaJMFyhWCL6o3XI4_4Pu0GWEHN3UphrH9TSHj4BxXLbFHnTDpYWw30pHrzLwLbK-eeovOsWUfID730QXbWa56OSPSqfvWG0tKNuTVmVCBJqZE_25FCoMkR0zevMgJZC9ujK5ksHB3lTFYuOXLNbXujw4y9K3QKImhEigGhWN5glXGEAWqExdWpb9aJ4vuAnT48hQREaiRc1DQueUnmzMQFjY9e-Q9iMOFHiCJ56NU7kMK9qZdBPmf7Emoe87Xx7YINsOXngQZZ2ve8nVC-sE0IDHoSh9YeqoNFAcdOHbCLDB6fi1WVWztCG6Gum0N9kauKHeM8XsSRjL-m_1yPI20da_VvszLW2D0jqbIgppFt-qiPSz4-YNTX6IgL60TEUaOcHynqkIg24_KNvbzXUl4DvlUR0I6XoUAs0XtxLiWy7Qai6Zgtih9Uvm8bZ14O4IAhigz6O09NsmucYzAgTtHi__npwHjV5kW3f-ya4dT9XYq__jGTNnV-vrokK7lj3CbNX9YJtKrM4q2PCl3dggeQXNlU46GYF36jTdLIIByFPhy6Pk5eiM1qXxn7-xZcA5k5YcOvXPyfLPHi1TiB1aNpZQuhdKRseKRqwzw.oTxqDKWidj_qi20IH0YeUA" } }, "404": { "description": "The specified resource not found in the system." }, "500": { "description": "Unexpected server error" } } } }, "/accountupdater/v1/batches": { "post": { "summary": "Create a Batch", "description": "**Create a Batch**
This resource accepts TMS tokens ids of a Customer, Payment Instrument or Instrument Identifier.
The card numbers for the supplied tokens ids are then sent to the relevant card associations to check for updates.
The following type of batches can be submitted:\n- **oneOff** batch containing tokens id for Visa or MasterCard card numbers.\n- **amexRegistration** batch containing tokens id for Amex card numbers.\n\nA batch id will be returned on a successful response which can be used to get the batch status and the batch report.\n", "parameters": [ { "name": "Body", "in": "body", "required": true, "schema": { "type": "object", "required": [ "included", "notificationEmail" ], "properties": { "type": { "type": "string", "default": "oneOff", "description": "Valid Values:\n * oneOff\n * amexRegistration\n" }, "included": { "type": "object", "properties": { "tokens": { "type": "array", "items": { "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string", "minLength": 1, "maxLength": 32, "example": "7030000000000116236" }, "expirationMonth": { "type": "string", "minLength": 2, "maxLength": 2, "example": "12" }, "expirationYear": { "type": "string", "minLength": 4, "maxLength": 4, "example": "2020" } } } } } }, "merchantReference": { "type": "string", "example": "TC50171_3", "maxLength": 255, "description": "Reference used by merchant to identify batch." }, "notificationEmail": { "type": "string", "format": "email", "example": "test@cybs.com", "description": "Email used to notify the batch status." } } } } ], "tags": [ "Batches" ], "operationId": "postBatch", "x-devcenter-metaData": { "categoryTag": "Account_Updater", "developerGuides": "https://developer.cybersource.com/library/documentation/dev_guides/Account_Updater_UG/html/index.html#t=Topics%2FBatch_Update.htm%23TOC_Batches_Resourcebc-1" }, "consumes": [ "application/json;charset=utf-8" ], "produces": [ "application/json;charset=utf-8" ], "responses": { "202": { "description": "A new batch has been created.", "schema": { "type": "object", "properties": { "_links": { "type": "object", "properties": { "self": { "type": "object", "properties": { "href": { "type": "string", "example": "https://api.cybersource.com/accountupdater/v1/batches" } } }, "status": { "type": "array", "items": { "type": "object", "properties": { "href": { "type": "string", "example": "https://api.cybersource.com/accountupdater/v1/batches/16188390061150001062041064/status" } } } } } }, "batchId": { "type": "string", "example": "16188390061150001062041064", "description": "Unique identification number assigned to the submitted request." }, "batchItemCount": { "type": "integer", "example": 1 } } } }, "400": { "description": "Bad request.", "schema": { "type": "object", "properties": { "_links": { "type": "object", "properties": { "self": { "type": "object", "properties": { "href": { "type": "string", "example": "https://api.cybersource.com/accountupdater/v1/batches" } } } } }, "code": { "type": "string", "description": "Valid Values:\n * FORBIDDEN_RESPONSE\n * VALIDATION_ERROR\n * UNSUPPORTED_MEDIA_TYPE\n * MALFORMED_PAYLOAD_ERROR\n * SERVER_ERROR\n" }, "correlationId": { "type": "string", "example": "c7b74452a7314f9ca28197d1084447a5" }, "detail": { "type": "string", "example": "One or more fields failed validation" }, "fields": { "type": "array", "items": { "type": "object", "properties": { "path": { "type": "string", "example": "notificationEmail" }, "message": { "type": "string", "example": "Email Address is invalid" }, "localizationKey": { "type": "string", "description": "Valid Values:\n * cybsapi.ondemand.batch.email.null\n" } } } }, "localizationKey": { "type": "string", "description": "Valid Values:\n * cybsapi.forbidden.response\n * cybsapi.validation.error\n * cybsapi.media.notsupported\n" }, "message": { "type": "string", "example": "Field validation error" } } } }, "401": { "description": "Not authorized to access resource.", "schema": { "type": "object", "properties": { "_links": { "type": "object", "properties": { "self": { "type": "object", "properties": { "href": { "type": "string", "example": "https://api.cybersource.com/accountupdater/v1/batches" } } } } }, "code": { "type": "string", "description": "Valid Values:\n * FORBIDDEN_RESPONSE\n * VALIDATION_ERROR\n * UNSUPPORTED_MEDIA_TYPE\n * MALFORMED_PAYLOAD_ERROR\n * SERVER_ERROR\n" }, "correlationId": { "type": "string", "example": "c7b74452a7314f9ca28197d1084447a5" }, "detail": { "type": "string", "example": "One or more fields failed validation" }, "fields": { "type": "array", "items": { "type": "object", "properties": { "path": { "type": "string", "example": "notificationEmail" }, "message": { "type": "string", "example": "Email Address is invalid" }, "localizationKey": { "type": "string", "description": "Valid Values:\n * cybsapi.ondemand.batch.email.null\n" } } } }, "localizationKey": { "type": "string", "description": "Valid Values:\n * cybsapi.forbidden.response\n * cybsapi.validation.error\n * cybsapi.media.notsupported\n" }, "message": { "type": "string", "example": "Field validation error" } } } }, "415": { "description": "Unsupported media type provided.", "schema": { "type": "object", "properties": { "_links": { "type": "object", "properties": { "self": { "type": "object", "properties": { "href": { "type": "string", "example": "https://api.cybersource.com/accountupdater/v1/batches" } } } } }, "code": { "type": "string", "description": "Valid Values:\n * FORBIDDEN_RESPONSE\n * VALIDATION_ERROR\n * UNSUPPORTED_MEDIA_TYPE\n * MALFORMED_PAYLOAD_ERROR\n * SERVER_ERROR\n" }, "correlationId": { "type": "string", "example": "c7b74452a7314f9ca28197d1084447a5" }, "detail": { "type": "string", "example": "One or more fields failed validation" }, "fields": { "type": "array", "items": { "type": "object", "properties": { "path": { "type": "string", "example": "notificationEmail" }, "message": { "type": "string", "example": "Email Address is invalid" }, "localizationKey": { "type": "string", "description": "Valid Values:\n * cybsapi.ondemand.batch.email.null\n" } } } }, "localizationKey": { "type": "string", "description": "Valid Values:\n * cybsapi.forbidden.response\n * cybsapi.validation.error\n * cybsapi.media.notsupported\n" }, "message": { "type": "string", "example": "Field validation error" } } } }, "422": { "description": "Failure to process request.", "schema": { "type": "object", "properties": { "_links": { "type": "object", "properties": { "self": { "type": "object", "properties": { "href": { "type": "string", "example": "https://api.cybersource.com/accountupdater/v1/batches" } } } } }, "code": { "type": "string", "description": "Valid Values:\n * FORBIDDEN_RESPONSE\n * VALIDATION_ERROR\n * UNSUPPORTED_MEDIA_TYPE\n * MALFORMED_PAYLOAD_ERROR\n * SERVER_ERROR\n" }, "correlationId": { "type": "string", "example": "c7b74452a7314f9ca28197d1084447a5" }, "detail": { "type": "string", "example": "One or more fields failed validation" }, "fields": { "type": "array", "items": { "type": "object", "properties": { "path": { "type": "string", "example": "notificationEmail" }, "message": { "type": "string", "example": "Email Address is invalid" }, "localizationKey": { "type": "string", "description": "Valid Values:\n * cybsapi.ondemand.batch.email.null\n" } } } }, "localizationKey": { "type": "string", "description": "Valid Values:\n * cybsapi.forbidden.response\n * cybsapi.validation.error\n * cybsapi.media.notsupported\n" }, "message": { "type": "string", "example": "Field validation error" } } } } }, "x-example": { "example0": { "summary": "One Off Visa MasterCard Customer Token Batch", "value": { "type": "oneOff", "included": { "tokens": [ { "id": "C064DE56200B0DB0E053AF598E0A52AA" }, { "id": "C064DE56213D0DB0E053AF598E0A52AA" } ] }, "merchantReference": "TC50171_3", "notificationEmail": "test@cybs.com" } }, "example1": { "summary": "One Off Visa MasterCard Instrument Identifier Token Batch", "value": { "type": "oneOff", "included": { "tokens": [ { "id": "7030000000000116236", "expirationMonth": "12", "expirationYear": "2020" }, { "id": "7030000000000178855", "expirationMonth": "12", "expirationYear": "2020" } ] }, "merchantReference": "TC50171_3", "notificationEmail": "test@cybs.com" } }, "example2": { "summary": "Amex Registration Customer Token Batch", "value": { "type": "amexRegistration", "included": { "tokens": [ { "id": "C06977C0EDC0E985E053AF598E0A3326" }, { "id": "C069A534044F6140E053AF598E0AD492" } ] }, "merchantReference": "TC50171_3", "notificationEmail": "test@cybs.com" } }, "example3": { "summary": "Amex Registration Instrument Identifier Token Batch", "value": { "type": "amexRegistration", "included": { "tokens": [ { "id": "7030000000000260224", "expirationMonth": "12", "expirationYear": "2020" }, { "id": "7030000000000231118", "expirationMonth": "12", "expirationYear": "2020" } ] }, "merchantReference": "TC50171_3", "notificationEmail": "test@cybs.com" } } } }, "get": { "summary": "List Batches", "description": "**List Batches**
This resource accepts a optional date range, record offset and limit, returning a paginated response of batches containing:\n- The batch id.\n- The batch status.\n- The batch created / modified dates.\n- The total number of accepted, rejected, updated records.\n- The total number of card association responses.\n", "parameters": [ { "name": "offset", "in": "query", "description": "Starting record in zero-based dataset that should be returned as the first object in the array.", "required": false, "type": "integer", "format": "int64", "default": 0, "minimum": 0 }, { "name": "limit", "in": "query", "description": "The maximum number that can be returned in the array starting from the offset record in zero-based dataset.", "required": false, "type": "integer", "format": "int64", "default": 20, "minimum": 1, "maximum": 500 }, { "name": "fromDate", "in": "query", "description": "ISO-8601 format: yyyyMMddTHHmmssZ", "required": false, "type": "string" }, { "name": "toDate", "in": "query", "description": "ISO-8601 format: yyyyMMddTHHmmssZ", "required": false, "type": "string" } ], "tags": [ "Batches" ], "operationId": "getBatchesList", "x-devcenter-metaData": { "categoryTag": "Account_Updater", "developerGuides": "https://developer.cybersource.com/library/documentation/dev_guides/Account_Updater_UG/html/index.html#t=Topics%2FBatch_Update.htm%23TOC_Daily_American_Expressbc-9" }, "produces": [ "application/json;charset=utf-8" ], "responses": { "200": { "description": "A list of batches have been returned.", "schema": { "type": "object", "properties": { "_links": { "type": "array", "items": { "type": "object", "properties": { "rel": { "type": "string", "description": "Valid Values:\n * self\n * first\n * last\n * prev\n * next\n" }, "href": { "type": "string", "example": "https://api.cybersource.com/accountupdater/v1/batches?offset=0&limit=20" } } } }, "object": { "type": "string", "example": "collection" }, "offset": { "type": "integer", "example": 0 }, "limit": { "type": "integer", "example": 20 }, "count": { "type": "integer", "example": 1 }, "total": { "type": "integer", "example": 1 }, "_embedded": { "type": "object", "properties": { "batches": { "type": "array", "items": { "type": "object", "properties": { "_links": { "type": "object", "properties": { "reports": { "type": "array", "items": { "type": "object", "description": "Retrieve the generated report of a batch when available.", "properties": { "href": { "type": "string", "example": "https://api.cybersource.com/accountupdater/v1/batches/16188390061150001062041064/report" } } } } } }, "batchId": { "type": "string", "example": "16188390061150001062041064", "description": "Unique identification number assigned to the submitted request." }, "batchCreatedDate": { "type": "string", "example": "2018-05-22T14.38.57Z", "description": "ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ" }, "batchModifiedDate": { "type": "string", "example": "2018-05-22T14.38.57Z", "description": "ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ" }, "batchSource": { "type": "string", "description": "Valid Values:\n * SCHEDULER\n * TOKEN_API\n * CREDIT_CARD_FILE_UPLOAD\n * AMEX_REGSITRY\n * AMEX_REGISTRY_API\n * AMEX_REGISTRY_API_SYNC\n * AMEX_MAINTENANCE\n" }, "tokenSource": { "type": "string", "description": "Valid Values:\n * SECURE_STORAGE\n * TMS\n * CYBERSOURCE\n" }, "merchantReference": { "type": "string", "example": "TC50171_3", "maxLength": 255, "description": "Reference used by merchant to identify batch." }, "batchCaEndpoints": { "type": "array", "description": "Valid Values:\n * VISA\n * MASTERCARD\n * AMEX\n", "items": { "type": "string", "example": "VISA" } }, "status": { "type": "string", "description": "Valid Values:\n * REJECTED\n * RECEIVED\n * VALIDATED\n * DECLINED\n * PROCESSING\n * COMPLETE\n" }, "totals": { "type": "object", "properties": { "acceptedRecords": { "type": "integer", "example": 1 }, "rejectedRecords": { "type": "integer", "example": 1 }, "updatedRecords": { "type": "integer", "example": 1 }, "caResponses": { "type": "integer", "example": 1 }, "caResponsesOmitted": { "type": "integer", "example": 1 } } } } } } } } } } }, "401": { "description": "Not authorized to access resource.", "schema": { "type": "object", "properties": { "_links": { "type": "object", "properties": { "self": { "type": "object", "properties": { "href": { "type": "string", "example": "https://api.cybersource.com/accountupdater/v1/batches" } } } } }, "code": { "type": "string", "description": "Valid Values:\n * FORBIDDEN_RESPONSE\n * VALIDATION_ERROR\n * UNSUPPORTED_MEDIA_TYPE\n * MALFORMED_PAYLOAD_ERROR\n * SERVER_ERROR\n" }, "correlationId": { "type": "string", "example": "c7b74452a7314f9ca28197d1084447a5" }, "detail": { "type": "string", "example": "One or more fields failed validation" }, "fields": { "type": "array", "items": { "type": "object", "properties": { "path": { "type": "string", "example": "notificationEmail" }, "message": { "type": "string", "example": "Email Address is invalid" }, "localizationKey": { "type": "string", "description": "Valid Values:\n * cybsapi.ondemand.batch.email.null\n" } } } }, "localizationKey": { "type": "string", "description": "Valid Values:\n * cybsapi.forbidden.response\n * cybsapi.validation.error\n * cybsapi.media.notsupported\n" }, "message": { "type": "string", "example": "Field validation error" } } } }, "422": { "description": "Failure to process request.", "schema": { "type": "object", "properties": { "_links": { "type": "object", "properties": { "self": { "type": "object", "properties": { "href": { "type": "string", "example": "https://api.cybersource.com/accountupdater/v1/batches" } } } } }, "code": { "type": "string", "description": "Valid Values:\n * FORBIDDEN_RESPONSE\n * VALIDATION_ERROR\n * UNSUPPORTED_MEDIA_TYPE\n * MALFORMED_PAYLOAD_ERROR\n * SERVER_ERROR\n" }, "correlationId": { "type": "string", "example": "c7b74452a7314f9ca28197d1084447a5" }, "detail": { "type": "string", "example": "One or more fields failed validation" }, "fields": { "type": "array", "items": { "type": "object", "properties": { "path": { "type": "string", "example": "notificationEmail" }, "message": { "type": "string", "example": "Email Address is invalid" }, "localizationKey": { "type": "string", "description": "Valid Values:\n * cybsapi.ondemand.batch.email.null\n" } } } }, "localizationKey": { "type": "string", "description": "Valid Values:\n * cybsapi.forbidden.response\n * cybsapi.validation.error\n * cybsapi.media.notsupported\n" }, "message": { "type": "string", "example": "Field validation error" } } } } } } }, "/accountupdater/v1/batches/{batchId}/status": { "get": { "summary": "Retrieve a Batch Status", "description": "**Get Batch Status**
This resource accepts a batch id and returns:\n- The batch status.\n- The total number of accepted, rejected, updated records.\n- The total number of card association responses.\n- The billable quantities of:\n - New Account Numbers (NAN)\n - New Expiry Dates (NED)\n - Account Closures (ACL)\n - Contact Card Holders (CCH)\n", "parameters": [ { "name": "batchId", "in": "path", "description": "Unique identification number assigned to the submitted request.", "required": true, "type": "string", "minLength": 2, "maxLength": 26, "pattern": "^[0-9]*$" } ], "tags": [ "Batches" ], "operationId": "getBatchStatus", "x-devcenter-metaData": { "categoryTag": "Account_Updater", "developerGuides": "https://developer.cybersource.com/library/documentation/dev_guides/Account_Updater_UG/html/index.html#t=Topics%2FBatch_Update.htm%23TOC_Retrieving_Update_Reportsbc-6" }, "produces": [ "application/json;charset=utf-8" ], "responses": { "200": { "description": "The status of a batch.", "schema": { "type": "object", "properties": { "_links": { "type": "object", "properties": { "self": { "type": "object", "properties": { "href": { "type": "string", "example": "https://api.cybersource.com/accountupdater/v1/batches/16188390061150001062041064/status" } } }, "report": { "type": "array", "items": { "type": "object", "properties": { "href": { "type": "string", "example": "https://apitest.cybersource.com/accountupdater/v1/batches/16188390061150001062041064/report" } } } } } }, "batchId": { "type": "string", "example": "16188390061150001062041064", "description": "Unique identification number assigned to the submitted request." }, "batchCreatedDate": { "type": "string", "example": "2018-05-22T14.38.57Z", "description": "ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ" }, "batchSource": { "type": "string", "description": "Valid Values:\n * SCHEDULER\n * TOKEN_API\n * CREDIT_CARD_FILE_UPLOAD\n * AMEX_REGSITRY\n * AMEX_REGISTRY_API\n * AMEX_MAINTENANCE\n" }, "merchantReference": { "type": "string", "example": "TC50171_3", "maxLength": 255, "description": "Reference used by merchant to identify batch." }, "batchCaEndpoints": { "type": "string", "example": "VISA,MASTERCARD" }, "status": { "type": "string", "description": "Valid Values:\n * REJECTED\n * RECEIVED\n * VALIDATED\n * DECLINED\n * PROCESSING\n * COMPLETED\n" }, "totals": { "type": "object", "properties": { "acceptedRecords": { "type": "integer", "example": 1 }, "rejectedRecords": { "type": "integer", "example": 1 }, "updatedRecords": { "type": "integer", "example": 1 }, "caResponses": { "type": "integer", "example": 1 }, "caResponsesOmitted": { "type": "integer", "example": 1 } } }, "billing": { "type": "object", "properties": { "nan": { "type": "integer", "example": 1 }, "ned": { "type": "integer", "example": 1 }, "acl": { "type": "integer", "example": 1 }, "cch": { "type": "integer", "example": 1 } } }, "description": { "type": "string", "example": "Your batch has been received, and is being checked for errors." } } } }, "403": { "description": "Unable to perform action for supplied batch ID/merchant.", "schema": { "type": "object", "properties": { "_links": { "type": "object", "properties": { "self": { "type": "object", "properties": { "href": { "type": "string", "example": "https://api.cybersource.com/accountupdater/v1/batches" } } } } }, "code": { "type": "string", "description": "Valid Values:\n * FORBIDDEN_RESPONSE\n * VALIDATION_ERROR\n * UNSUPPORTED_MEDIA_TYPE\n * MALFORMED_PAYLOAD_ERROR\n * SERVER_ERROR\n" }, "correlationId": { "type": "string", "example": "c7b74452a7314f9ca28197d1084447a5" }, "detail": { "type": "string", "example": "One or more fields failed validation" }, "fields": { "type": "array", "items": { "type": "object", "properties": { "path": { "type": "string", "example": "notificationEmail" }, "message": { "type": "string", "example": "Email Address is invalid" }, "localizationKey": { "type": "string", "description": "Valid Values:\n * cybsapi.ondemand.batch.email.null\n" } } } }, "localizationKey": { "type": "string", "description": "Valid Values:\n * cybsapi.forbidden.response\n * cybsapi.validation.error\n * cybsapi.media.notsupported\n" }, "message": { "type": "string", "example": "Field validation error" } } } } } } }, "/accountupdater/v1/batches/{batchId}/report": { "get": { "summary": "Retrieve a Batch Report", "description": "**Get Batch Report**
This resource accepts a batch id and returns:\n- The batch status.\n- The total number of accepted, rejected, updated records.\n- The total number of card association responses.\n- The billable quantities of:\n - New Account Numbers (NAN)\n - New Expiry Dates (NED)\n - Account Closures (ACL)\n - Contact Card Holders (CCH)\n- Source record information including token ids, masked card number, expiration dates & card type.\n- Response record information including response code, reason, token ids, masked card number, expiration dates & card type.\n", "parameters": [ { "name": "batchId", "in": "path", "description": "Unique identification number assigned to the submitted request.", "required": true, "type": "string", "minLength": 2, "maxLength": 26, "pattern": "^[0-9]*$" } ], "tags": [ "Batches" ], "operationId": "getBatchReport", "x-devcenter-metaData": { "categoryTag": "Account_Updater", "developerGuides": "https://developer.cybersource.com/library/documentation/dev_guides/Account_Updater_UG/html/index.html#t=Topics%2FBatch_Update.htm%23TOC_Retrieving_a_Batch_withbc-10" }, "produces": [ "application/json;charset=utf-8" ], "responses": { "200": { "description": "The report for a batch.", "schema": { "type": "object", "properties": { "version": { "type": "string", "example": "1.0" }, "reportCreatedDate": { "type": "string", "example": "2018-05-22T14.38.57Z", "description": "ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ" }, "batchId": { "type": "string", "example": "16188390061150001062041064", "description": "Unique identification number assigned to the submitted request." }, "batchSource": { "type": "string", "description": "Valid Values:\n * SCHEDULER\n * TOKEN_API\n * CREDIT_CARD_FILE_UPLOAD\n * AMEX_REGSITRY\n * AMEX_REGISTRY_API\n * AMEX_MAINTENANCE\n" }, "batchCaEndpoints": { "type": "string", "example": "VISA,MASTERCARD" }, "batchCreatedDate": { "type": "string", "example": "2018-05-22T14.38.57Z", "description": "ISO-8601 format: yyyy-MM-ddTHH:mm:ssZ" }, "merchantReference": { "type": "string", "example": "TC50171_3", "maxLength": 255, "description": "Reference used by merchant to identify batch." }, "totals": { "type": "object", "properties": { "acceptedRecords": { "type": "integer", "example": 1 }, "rejectedRecords": { "type": "integer", "example": 1 }, "updatedRecords": { "type": "integer", "example": 1 }, "caResponses": { "type": "integer", "example": 1 }, "caResponsesOmitted": { "type": "integer", "example": 1 } } }, "billing": { "type": "object", "properties": { "nan": { "type": "integer", "example": 1 }, "ned": { "type": "integer", "example": 1 }, "acl": { "type": "integer", "example": 1 }, "cch": { "type": "integer", "example": 1 } } }, "records": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "example": "10000000" }, "sourceRecord": { "type": "object", "properties": { "token": { "type": "string", "minLength": 1, "maxLength": 32, "example": "C064DE56200B0DB0E053AF598E0A52AA" }, "customerId": { "type": "string", "minLength": 1, "maxLength": 32, "example": "C064DE56200B0DB0E053AF598E0A52AA" }, "paymentInstrumentId": { "type": "string", "minLength": 1, "maxLength": 32, "example": "C064DD33CBD30901E053AF598E0AC6CC" }, "instrumentIdentifierId": { "type": "string", "minLength": 12, "maxLength": 32, "example": "7030000000000116236" }, "cardNumber": { "type": "string", "example": "511111XXXXXX6814" }, "cardExpiryMonth": { "type": "string", "minLength": 2, "maxLength": 2, "example": "12" }, "cardExpiryYear": { "type": "string", "minLength": 4, "maxLength": 4, "example": "2018" }, "cardType": { "type": "string", "example": "002" } } }, "responseRecord": { "type": "object", "properties": { "response": { "type": "string", "description": "Valid Values:\n * NAN\n * NED\n * ACL\n * CCH\n * CUR\n * NUP\n * UNA\n * ERR\n * DEC\n" }, "reason": { "type": "string", "example": "800" }, "token": { "type": "string", "minLength": 1, "maxLength": 32, "example": "C064DE56200B0DB0E053AF598E0A52AA" }, "instrumentIdentifierId": { "type": "string", "minLength": 12, "maxLength": 32, "example": "7030000000000116236" }, "instrumentIdentifierCreated": { "type": "string", "description": "Valid Values:\n * true\n * false\n" }, "cardNumber": { "type": "string", "example": "511111XXXXXX6814" }, "cardExpiryMonth": { "type": "string", "minLength": 2, "maxLength": 2, "example": "12" }, "cardExpiryYear": { "type": "string", "minLength": 4, "maxLength": 4, "example": "2018" }, "cardType": { "type": "string", "example": "002" }, "additionalUpdates": { "type": "array", "items": { "type": "object", "properties": { "customerId": { "type": "string", "minLength": 1, "maxLength": 32, "example": "C064DE56213D0DB0E053AF598E0A52AA" }, "paymentInstrumentId": { "type": "string", "minLength": 1, "maxLength": 32, "example": "C064FBFEB64060AAE053AF598E0A3EE6" }, "creator": { "type": "string", "example": "mid" }, "state": { "type": "string", "description": "Valid Values:\n * ACTIVE\n * CLOSED\n" }, "message": { "type": "string", "example": "This Payment Instrument contains the source card number, which is now closed. If required, you can update manually or through the AU REST API." } } } } } } } } } } } }, "403": { "description": "Unable to perform action for supplied batch ID/merchant.", "schema": { "type": "object", "properties": { "_links": { "type": "object", "properties": { "self": { "type": "object", "properties": { "href": { "type": "string", "example": "https://api.cybersource.com/accountupdater/v1/batches" } } } } }, "code": { "type": "string", "description": "Valid Values:\n * FORBIDDEN_RESPONSE\n * VALIDATION_ERROR\n * UNSUPPORTED_MEDIA_TYPE\n * MALFORMED_PAYLOAD_ERROR\n * SERVER_ERROR\n" }, "correlationId": { "type": "string", "example": "c7b74452a7314f9ca28197d1084447a5" }, "detail": { "type": "string", "example": "One or more fields failed validation" }, "fields": { "type": "array", "items": { "type": "object", "properties": { "path": { "type": "string", "example": "notificationEmail" }, "message": { "type": "string", "example": "Email Address is invalid" }, "localizationKey": { "type": "string", "description": "Valid Values:\n * cybsapi.ondemand.batch.email.null\n" } } } }, "localizationKey": { "type": "string", "description": "Valid Values:\n * cybsapi.forbidden.response\n * cybsapi.validation.error\n * cybsapi.media.notsupported\n" }, "message": { "type": "string", "example": "Field validation error" } } } } } } } } }